bitwarden-estensione-browser/node/src/services/nodeApi.service.ts

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

37 lines
1.3 KiB
TypeScript
Raw Normal View History

import * as FormData from "form-data";
import { HttpsProxyAgent } from "https-proxy-agent";
2018-05-15 15:02:57 +02:00
import * as fe from "node-fetch";
2018-05-15 05:56:27 +02:00
import { EnvironmentService } from "jslib-common/abstractions/environment.service";
import { PlatformUtilsService } from "jslib-common/abstractions/platformUtils.service";
import { TokenService } from "jslib-common/abstractions/token.service";
2022-02-22 15:39:11 +01:00
import { ApiService } from "jslib-common/services/api.service";
2018-05-15 05:56:27 +02:00
2018-05-15 15:02:57 +02:00
(global as any).fetch = fe.default;
(global as any).Request = fe.Request;
(global as any).Response = fe.Response;
(global as any).Headers = fe.Headers;
(global as any).FormData = FormData;
2018-05-15 05:56:27 +02:00
export class NodeApiService extends ApiService {
constructor(
tokenService: TokenService,
platformUtilsService: PlatformUtilsService,
environmentService: EnvironmentService,
logoutCallback: (expired: boolean) => Promise<void>,
customUserAgent: string = null,
apiKeyRefresh: (clientId: string, clientSecret: string) => Promise<any>
) {
super(tokenService, platformUtilsService, environmentService, logoutCallback, customUserAgent);
this.apiKeyRefresh = apiKeyRefresh;
2018-05-15 05:56:27 +02:00
}
nativeFetch(request: Request): Promise<Response> {
const proxy = process.env.http_proxy || process.env.https_proxy;
if (proxy) {
(request as any).agent = new HttpsProxyAgent(proxy);
}
return fetch(request);
2021-12-16 13:36:21 +01:00
}
2018-05-15 05:56:27 +02:00
}