mirror of
https://github.com/MercuryWorkshop/bare-mux.git
synced 2025-05-16 07:30:01 -04:00
support safari with a workaround, clean up code a bit
This commit is contained in:
parent
e82c0f0d08
commit
63211161f1
3 changed files with 29 additions and 11 deletions
|
@ -1,5 +1,5 @@
|
|||
import { BareTransport } from "./baretypes";
|
||||
import { BroadcastMessage, WorkerMessage, WorkerResponse } from "./connection"
|
||||
import { BroadcastMessage, WorkerMessage, WorkerResponse, browserSupportsTransferringStreams } from "./connection"
|
||||
|
||||
let currentTransport: BareTransport | null = null;
|
||||
let currentTransportName: string = "";
|
||||
|
@ -51,6 +51,11 @@ function handleConnection(port: MessagePort) {
|
|||
null
|
||||
);
|
||||
|
||||
if (!browserSupportsTransferringStreams() && resp.body instanceof ReadableStream) {
|
||||
const conversionResp = new Response(resp.body);
|
||||
resp.body = await conversionResp.arrayBuffer();
|
||||
}
|
||||
|
||||
if (resp.body instanceof ReadableStream || resp.body instanceof ArrayBuffer) {
|
||||
port.postMessage(<WorkerResponse>{ type: "fetch", fetch: resp }, [resp.body]);
|
||||
} else {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue