-
Notifications
You must be signed in to change notification settings - Fork 66
Closed
Description
👋 Hello there, I'm the maintenainer of react-router-hono-server
Since the removal of getInternalBody
, responseViaResponseObject
does not return a ReadableStream body through writeFromReadableStream
but as a Uint8Array
.
I wonder if it is expected since it was handled by getInternalBody
.
Lines 142 to 160 in b5663eb
if ( | |
transferEncoding || | |
contentEncoding || | |
contentLength || | |
// nginx buffering variant | |
(accelBuffering && regBuffer.test(accelBuffering as string)) || | |
!regContentType.test(contentType as string) | |
) { | |
outgoing.writeHead(res.status, resHeaderRecord) | |
flushHeaders(outgoing) | |
await writeFromReadableStream(res.body, outgoing) | |
} else { | |
const buffer = await res.arrayBuffer() | |
resHeaderRecord['content-length'] = buffer.byteLength | |
outgoing.writeHead(res.status, resHeaderRecord) | |
outgoing.end(new Uint8Array(buffer)) | |
} |
This breaks React Router loader "defer" (returns an awaitable promise).
It seems to be handled by responseViaCache
, so maybe we can do the same thing in responseViaResponseObject
?
Maybe something like this? #259
harrytran998
Metadata
Metadata
Assignees
Labels
No labels