/
disableResponseDecompressionPolicy.browser.ts
41 lines (36 loc) · 1.3 KB
/
disableResponseDecompressionPolicy.browser.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
/*
* NOTE: When moving this file, please update "browser" section in package.json
*/
import {
BaseRequestPolicy,
RequestPolicy,
RequestPolicyOptions,
RequestPolicyFactory
} from "./requestPolicy";
import { WebResource } from "../webResource";
import { HttpOperationResponse } from "../httpOperationResponse";
const DisbleResponseDecompressionNotSupportedInBrowser = new Error(
"DisableResponseDecompressionPolicy is not supported in browser environment"
);
/**
* {@link DisableResponseDecompressionPolicy} is not supported in browser and attempting
* to use it will results in error being thrown.
*/
export function disableResponseDecompressionPolicy(): RequestPolicyFactory {
return {
create: (_nextPolicy: RequestPolicy, _options: RequestPolicyOptions) => {
throw DisbleResponseDecompressionNotSupportedInBrowser;
}
};
}
export class DisableResponseDecompressionPolicy extends BaseRequestPolicy {
constructor(nextPolicy: RequestPolicy, options: RequestPolicyOptions) {
super(nextPolicy, options);
throw DisbleResponseDecompressionNotSupportedInBrowser;
}
public async sendRequest(_request: WebResource): Promise<HttpOperationResponse> {
throw DisbleResponseDecompressionNotSupportedInBrowser;
}
}