summaryrefslogtreecommitdiff
path: root/ext/flash/01_http.js
diff options
context:
space:
mode:
Diffstat (limited to 'ext/flash/01_http.js')
-rw-r--r--ext/flash/01_http.js40
1 files changed, 11 insertions, 29 deletions
diff --git a/ext/flash/01_http.js b/ext/flash/01_http.js
index df013ce65..4435860ff 100644
--- a/ext/flash/01_http.js
+++ b/ext/flash/01_http.js
@@ -371,8 +371,6 @@
}
} else {
const reader = respBody.getReader();
- const { value, done } = await reader.read();
- // Best case: sends headers + first chunk in a single go.
writeFixedResponse(
serverId,
i,
@@ -387,21 +385,14 @@
false,
respondFast,
);
- await respondChunked(
- i,
- value,
- done,
- );
- if (!done) {
- while (true) {
- const chunk = await reader.read();
- await respondChunked(
- i,
- chunk.value,
- chunk.done,
- );
- if (chunk.done) break;
- }
+ while (true) {
+ const { value, done } = await reader.read();
+ await respondChunked(
+ i,
+ value,
+ done,
+ );
+ if (done) break;
}
}
}
@@ -632,22 +623,13 @@
});
function respondChunked(token, chunk, shutdown) {
- const nwritten = core.ops.op_try_flash_respond_chuncked(
+ return core.opAsync(
+ "op_flash_respond_chuncked",
serverId,
token,
- chunk ?? new Uint8Array(),
+ chunk,
shutdown,
);
- if (nwritten > 0) {
- return core.opAsync(
- "op_flash_respond_chuncked",
- serverId,
- token,
- chunk,
- shutdown,
- nwritten,
- );
- }
}
const fastOp = prepareFastCalls();