@microsoft/msgraph-sdk-core
Version:
Core functionalities for the Microsoft Graph JavaScript SDK
23 lines • 1.25 kB
JavaScript
import { MiddlewareFactory, UrlReplaceHandler, UrlReplaceHandlerOptions, AuthorizationHandler, } from "@microsoft/kiota-http-fetchlibrary";
import { GraphTelemetryHandler } from "./GraphTelemetryHandler.js";
import { defaultUrlReplacementPairs } from "../utils/Constants.js";
export const getDefaultMiddlewares = (options = { customFetch: fetch }, authenticationProvider) => {
let kiotaChain = MiddlewareFactory.getDefaultMiddlewares(options === null || options === void 0 ? void 0 : options.customFetch);
if (authenticationProvider) {
kiotaChain.unshift(new AuthorizationHandler(authenticationProvider));
}
const additionalMiddleware = [
new UrlReplaceHandler(new UrlReplaceHandlerOptions({
enabled: true,
urlReplacements: defaultUrlReplacementPairs,
})),
];
if (options.graphTelemetryOption) {
additionalMiddleware.push(new GraphTelemetryHandler(options.graphTelemetryOption));
}
const fetchMiddleware = kiotaChain.slice(-1);
const otherMiddlewares = kiotaChain.slice(0, kiotaChain.length - 1);
kiotaChain = [...otherMiddlewares, ...additionalMiddleware, ...fetchMiddleware];
return kiotaChain;
};
//# sourceMappingURL=MiddlewareFactory.js.map