Skip to content

Commit d1f7bcd

Browse files
committed
fix: proxy stream workaround
1 parent c15adce commit d1f7bcd

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

_nuxthub/server/api/_hub/blob/[...pathname].put.ts

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,18 @@
1+
async function streamToArrayBuffer(stream: ReadableStream, streamSize: number) {
2+
const result = new Uint8Array(streamSize)
3+
let bytesRead = 0
4+
const reader = stream.getReader()
5+
while (true) {
6+
const { done, value } = await reader.read()
7+
if (done) {
8+
break
9+
}
10+
result.set(value, bytesRead)
11+
bytesRead += value.length
12+
}
13+
return result
14+
}
15+
116
export default eventHandler(async (event) => {
217
const { pathname } = await getValidatedRouterParams(event, z.object({
318
pathname: z.string().min(1)
@@ -11,7 +26,8 @@ export default eventHandler(async (event) => {
1126
if (!options.contentType) { options.contentType = contentType }
1227
if (!options.contentLength) { options.contentLength = contentLength }
1328

14-
const body = getRequestWebStream(event)!
29+
const stream = getRequestWebStream(event)!
30+
const body = await streamToArrayBuffer(stream, contentLength)
1531

1632
return useBlob().put(pathname, body, options)
1733
})

0 commit comments

Comments
 (0)