@microsoft/mgt-proxy-provider
Version:
The Microsoft Graph Toolkit Proxy Provider
58 lines • 2.4 kB
JavaScript
/**
* -------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License.
* See License in the project root for license information.
* -------------------------------------------------------------------------------------------
*/
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
import { setRequestHeader } from '@microsoft/microsoft-graph-client/lib/es/src/middleware/MiddlewareUtil';
/**
* Custom Middleware to add custom headers when making calls
* through the proxy provider
*
* @class CustomHeaderMiddleware
* @implements {Middleware}
*/
export class CustomHeaderMiddleware {
constructor(getCustomHeaders) {
this._getCustomHeaders = getCustomHeaders;
}
/**
* Execute the current middleware
*
* @param {Context} context
* @returns {Promise<void>}
* @memberof CustomHeaderMiddleware
*/
execute(context) {
return __awaiter(this, void 0, void 0, function* () {
if (this._getCustomHeaders) {
const headers = yield this._getCustomHeaders();
for (const key in headers) {
if (Object.prototype.hasOwnProperty.call(headers, key)) {
setRequestHeader(context.request, context.options, key, headers[key]);
}
}
}
return yield this._nextMiddleware.execute(context);
});
}
/**
* Handles setting of next middleware
*
* @param {Middleware} next
* @memberof SdkVersionMiddleware
*/
setNext(next) {
this._nextMiddleware = next;
}
}
//# sourceMappingURL=CustomHeaderMiddleware.js.map