diff --git a/src/transports/HTTPTransport.ts b/src/transports/HTTPTransport.ts index 3532bd3..082a01d 100644 --- a/src/transports/HTTPTransport.ts +++ b/src/transports/HTTPTransport.ts @@ -8,17 +8,20 @@ type CredentialsOption = "omit" | "same-origin" | "include" interface HTTPTransportOptions { credentials?: CredentialsOption headers?: Record + fetch?: any } class HTTPTransport extends Transport { public uri: string; private readonly credentials?: CredentialsOption; - private readonly headers: Headers + private readonly headers: Headers; + private readonly fetch: any; constructor(uri: string, options?: HTTPTransportOptions) { super(); this.uri = uri; this.credentials = options && options.credentials; - this.headers = HTTPTransport.setupHeaders(options && options.headers) + this.headers = HTTPTransport.setupHeaders(options && options.headers); + this.fetch = (options && options.fetch) || fetch; } public connect(): Promise { return Promise.resolve(); @@ -29,7 +32,7 @@ class HTTPTransport extends Transport { const notifications = getNotifications(data); const batch = getBatchRequests(data); try { - const result = await fetch(this.uri, { + const result = await this.fetch(this.uri, { method: "POST", headers: this.headers, body: JSON.stringify(this.parseData(data)),