/** * ------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. * See License in the project root for license information. * ------------------------------------------------------------------------------------------- */ import { ParseNodeFactoryRegistry, SerializationWriterFactoryRegistry } from "@microsoft/kiota-abstractions"; import { FormParseNodeFactory, FormSerializationWriterFactory } from "@microsoft/kiota-serialization-form"; import { JsonParseNodeFactory, JsonSerializationWriterFactory } from "@microsoft/kiota-serialization-json"; import { MultipartSerializationWriterFactory } from "@microsoft/kiota-serialization-multipart"; import { TextParseNodeFactory, TextSerializationWriterFactory } from "@microsoft/kiota-serialization-text"; import { FetchRequestAdapter, HttpClient, ObservabilityOptionsImpl } from "@microsoft/kiota-http-fetchlibrary"; /** * Default request adapter for graph clients. Bootstraps serialization and other aspects. */ export class DefaultRequestAdapter extends FetchRequestAdapter { /** * Instantiates a new request adapter. * @param authenticationProvider the authentication provider to use. * @param parseNodeFactory the parse node factory to deserialize responses. * @param serializationWriterFactory the serialization writer factory to use to serialize request bodies. * @param httpClient the http client to use to execute requests. * @param observabilityOptions the observability options to use. */ constructor(authenticationProvider, parseNodeFactory = new ParseNodeFactoryRegistry(), serializationWriterFactory = new SerializationWriterFactoryRegistry(), httpClient = new HttpClient(), observabilityOptions = new ObservabilityOptionsImpl()) { super(authenticationProvider, parseNodeFactory, serializationWriterFactory, httpClient, observabilityOptions); this.setupDefaults(); } setupDefaults() { let parseNodeFactoryRegistry; if (super.getParseNodeFactory() instanceof ParseNodeFactoryRegistry) { parseNodeFactoryRegistry = super.getParseNodeFactory(); } else { throw new Error("ParseNodeFactory must be a ParseNodeFactoryRegistry"); } let serializationWriterFactoryRegistry; if (super.getSerializationWriterFactory() instanceof SerializationWriterFactoryRegistry) { serializationWriterFactoryRegistry = super.getSerializationWriterFactory(); } else { throw new Error("SerializationWriterFactory must be a SerializationWriterFactoryRegistry"); } const backingStoreFactory = super.getBackingStoreFactory(); serializationWriterFactoryRegistry.registerDefaultSerializer(JsonSerializationWriterFactory); serializationWriterFactoryRegistry.registerDefaultSerializer(TextSerializationWriterFactory); serializationWriterFactoryRegistry.registerDefaultSerializer(FormSerializationWriterFactory); serializationWriterFactoryRegistry.registerDefaultSerializer(MultipartSerializationWriterFactory); parseNodeFactoryRegistry.registerDefaultDeserializer(TextParseNodeFactory, backingStoreFactory); parseNodeFactoryRegistry.registerDefaultDeserializer(JsonParseNodeFactory, backingStoreFactory); parseNodeFactoryRegistry.registerDefaultDeserializer(FormParseNodeFactory, backingStoreFactory); } } //# sourceMappingURL=defaultRequestAdapter.js.map