@microsoft/mgt-proxy-provider
Version:
The Microsoft Graph Toolkit Proxy Provider
35 lines • 1.49 kB
JavaScript
/**
* -------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License.
* See License in the project root for license information.
* -------------------------------------------------------------------------------------------
*/
import { Client, HTTPMessageHandler, RetryHandler, RetryHandlerOptions, TelemetryHandler } from '@microsoft/microsoft-graph-client';
import { Graph, chainMiddleware } from '@microsoft/mgt-element';
import { SdkVersionMiddleware } from '@microsoft/mgt-element/dist/es6/utils/SdkVersionMiddleware';
import { PACKAGE_VERSION } from '@microsoft/mgt-element/dist/es6/utils/version';
import { CustomHeaderMiddleware } from './CustomHeaderMiddleware';
/**
* ProxyGraph Instance
*
* @export
* @class ProxyGraph
* @extends {Graph}
*/
export class ProxyGraph extends Graph {
constructor(baseUrl, getCustomHeaders) {
const middleware = [
new RetryHandler(new RetryHandlerOptions()),
new TelemetryHandler(),
new SdkVersionMiddleware(PACKAGE_VERSION),
new CustomHeaderMiddleware(getCustomHeaders),
new HTTPMessageHandler()
];
super(Client.initWithMiddleware({
baseUrl,
middleware: chainMiddleware(...middleware),
customHosts: new Set([new URL(baseUrl).hostname])
}));
}
}
//# sourceMappingURL=ProxyGraph.js.map