mirror of
https://github.com/copy/v86.git
synced 2025-12-31 04:23:15 +00:00
fix headers and worker error handling
This commit is contained in:
parent
5f088cc066
commit
4fd2478d67
3 changed files with 10 additions and 9 deletions
|
|
@ -162,14 +162,15 @@ async function on_data_http(data)
|
|||
let response_started = false;
|
||||
this.net.fetch(fetch_url, opts).then((resp) => {
|
||||
let resp_headers = new Headers(resp.headers);
|
||||
resp_headers.delete("content-encoding");
|
||||
resp_headers.delete("keep-alive");
|
||||
resp_headers.delete("content-length");
|
||||
resp_headers.delete("transfer-encoding");
|
||||
|
||||
resp_headers.set("x-was-fetch-redirected", `${!!resp.redirected}`);
|
||||
resp_headers.set("x-fetch-resp-url", resp.url);
|
||||
resp_headers.set("connection", "close");
|
||||
["content-encoding", "content-length", "transfer-encoding"].forEach(function(header) {
|
||||
if(resp_headers.has(header)) {
|
||||
resp_headers.delete(header);
|
||||
}
|
||||
});
|
||||
|
||||
this.write(encoder.encode(this.net.form_response_head(resp.status, resp.statusText, resp_headers)));
|
||||
response_started = true;
|
||||
|
||||
|
|
@ -240,9 +241,9 @@ FetchNetworkAdapter.prototype.form_response_head = function(status_code, status_
|
|||
`HTTP/1.1 ${status_code} ${status_text}`
|
||||
];
|
||||
|
||||
headers.forEach(function(value, key) {
|
||||
for(const [key, value] of headers.entries()) {
|
||||
lines.push(`${key}: ${value}`);
|
||||
});
|
||||
}
|
||||
|
||||
return lines.join("\r\n") + "\r\n\r\n";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ const LOG_SERIAL = true;
|
|||
const SHOW_LOGS = false;
|
||||
|
||||
const server = new Worker(__dirname + "../devices/fetch_testserver.js", { workerData: { port: SERVER_PORT, benchsize: BENCHFILE_SIZE } });
|
||||
server.onerror = (e) => { throw new Error("server: " + e); };
|
||||
server.on("error", (e) => { throw new Error("server: " + e); });
|
||||
|
||||
const emulator = new V86({
|
||||
bios: { url: __dirname + "/../../bios/seabios.bin" },
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ const { V86 } = await import(TEST_RELEASE_BUILD ? "../../build/libv86.mjs" : "..
|
|||
|
||||
const SHOW_LOGS = false;
|
||||
const server = new Worker(__dirname + "fetch_testserver.js", { workerData: { port: SERVER_PORT, benchsize: 0 } });
|
||||
server.onerror = (e) => { throw new Error("server: " + e); };
|
||||
server.on("error", (e) => { throw new Error("server: " + e); });
|
||||
|
||||
function wait(time) {
|
||||
return new Promise((res) => setTimeout(res, time));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue