Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
>(
reqData: RequestDataWithTypeMapForResponse
): Promise | ErrorResponseData> {
// TODO: use HandlerRequest Type instead of Promise
const { method, headers, path, qsParams, body } = encodeRequest(reqData);
const qs = stringifyQsParams(qsParams);
const url = `${this.url}${this.modifyPath(path)}${qs}`;
const response = await fetch(
url,
// @ts-ignore incompatible fetch type and EncodedHttpRequest
{ method, headers, body }
).catch((e: Error) => {
throw createLocalError(e, "NetworkFailed");
});
const encodedResponse = {
body: await response.json(),
statusCode: response.status,
headers: response.headers
}; // FIXME: headers from polyfilled fetch don't implement Headers API.
// @ts-ignore http-client will not receive any types beyond this point
return decodeResponse(encodedResponse);