Skip to content

Commit 1729b74

Browse files
author
Andrew Omondi
committed
Format
1 parent 2ee9a61 commit 1729b74

File tree

2 files changed

+59
-80
lines changed

2 files changed

+59
-80
lines changed

packages/bundle/src/defaultRequestAdapter.ts

+27-46
Original file line numberDiff line numberDiff line change
@@ -5,56 +5,37 @@
55
* -------------------------------------------------------------------------------------------
66
*/
77

8-
import {
9-
AuthenticationProvider,
10-
ParseNodeFactory,
11-
ParseNodeFactoryRegistry,
12-
registerDefaultDeserializer,
13-
registerDefaultSerializer,
14-
SerializationWriterFactory,
15-
SerializationWriterFactoryRegistry,
16-
} from "@microsoft/kiota-abstractions";
17-
import { FormParseNodeFactory, FormSerializationWriterFactory } from '@microsoft/kiota-serialization-form';
18-
import { JsonParseNodeFactory, JsonSerializationWriterFactory } from '@microsoft/kiota-serialization-json';
19-
import { MultipartSerializationWriterFactory } from '@microsoft/kiota-serialization-multipart';
20-
import { TextParseNodeFactory, TextSerializationWriterFactory } from '@microsoft/kiota-serialization-text';
21-
import {
22-
FetchRequestAdapter,
23-
HttpClient,
24-
type ObservabilityOptions,
25-
ObservabilityOptionsImpl,
26-
} from "@microsoft/kiota-http-fetchlibrary";
8+
import { AuthenticationProvider, ParseNodeFactory, ParseNodeFactoryRegistry, registerDefaultDeserializer, registerDefaultSerializer, SerializationWriterFactory, SerializationWriterFactoryRegistry } from "@microsoft/kiota-abstractions";
9+
import { FormParseNodeFactory, FormSerializationWriterFactory } from "@microsoft/kiota-serialization-form";
10+
import { JsonParseNodeFactory, JsonSerializationWriterFactory } from "@microsoft/kiota-serialization-json";
11+
import { MultipartSerializationWriterFactory } from "@microsoft/kiota-serialization-multipart";
12+
import { TextParseNodeFactory, TextSerializationWriterFactory } from "@microsoft/kiota-serialization-text";
13+
import { FetchRequestAdapter, HttpClient, type ObservabilityOptions, ObservabilityOptionsImpl } from "@microsoft/kiota-http-fetchlibrary";
2714

2815
/**
2916
* Default request adapter for graph clients. Bootstraps serialization and other aspects.
3017
*/
3118
export class DefaultRequestAdapter extends FetchRequestAdapter {
32-
/**
33-
* Instantiates a new request adapter.
34-
* @param authenticationProvider the authentication provider to use.
35-
* @param parseNodeFactory the parse node factory to deserialize responses.
36-
* @param serializationWriterFactory the serialization writer factory to use to serialize request bodies.
37-
* @param httpClient the http client to use to execute requests.
38-
* @param observabilityOptions the observability options to use.
39-
*/
40-
public constructor(
41-
authenticationProvider: AuthenticationProvider,
42-
parseNodeFactory: ParseNodeFactory = ParseNodeFactoryRegistry.defaultInstance,
43-
serializationWriterFactory: SerializationWriterFactory = SerializationWriterFactoryRegistry.defaultInstance,
44-
httpClient: HttpClient = new HttpClient(),
45-
observabilityOptions: ObservabilityOptions = new ObservabilityOptionsImpl(),
46-
) {
47-
super(authenticationProvider, parseNodeFactory, serializationWriterFactory, httpClient, observabilityOptions);
48-
DefaultRequestAdapter.setupDefaults();
49-
}
19+
/**
20+
* Instantiates a new request adapter.
21+
* @param authenticationProvider the authentication provider to use.
22+
* @param parseNodeFactory the parse node factory to deserialize responses.
23+
* @param serializationWriterFactory the serialization writer factory to use to serialize request bodies.
24+
* @param httpClient the http client to use to execute requests.
25+
* @param observabilityOptions the observability options to use.
26+
*/
27+
public constructor(authenticationProvider: AuthenticationProvider, parseNodeFactory: ParseNodeFactory = ParseNodeFactoryRegistry.defaultInstance, serializationWriterFactory: SerializationWriterFactory = SerializationWriterFactoryRegistry.defaultInstance, httpClient: HttpClient = new HttpClient(), observabilityOptions: ObservabilityOptions = new ObservabilityOptionsImpl()) {
28+
super(authenticationProvider, parseNodeFactory, serializationWriterFactory, httpClient, observabilityOptions);
29+
DefaultRequestAdapter.setupDefaults();
30+
}
5031

51-
private static setupDefaults() {
52-
registerDefaultSerializer(JsonSerializationWriterFactory);
53-
registerDefaultSerializer(TextSerializationWriterFactory);
54-
registerDefaultSerializer(FormSerializationWriterFactory);
55-
registerDefaultSerializer(MultipartSerializationWriterFactory);
56-
registerDefaultDeserializer(JsonParseNodeFactory);
57-
registerDefaultDeserializer(TextParseNodeFactory);
58-
registerDefaultDeserializer(FormParseNodeFactory);
59-
}
32+
private static setupDefaults() {
33+
registerDefaultSerializer(JsonSerializationWriterFactory);
34+
registerDefaultSerializer(TextSerializationWriterFactory);
35+
registerDefaultSerializer(FormSerializationWriterFactory);
36+
registerDefaultSerializer(MultipartSerializationWriterFactory);
37+
registerDefaultDeserializer(JsonParseNodeFactory);
38+
registerDefaultDeserializer(TextParseNodeFactory);
39+
registerDefaultDeserializer(FormParseNodeFactory);
40+
}
6041
}

packages/bundle/test/bundleTests.ts

+32-34
Original file line numberDiff line numberDiff line change
@@ -9,39 +9,37 @@ import { assert, describe, it } from "vitest";
99

1010
import { DefaultRequestAdapter } from "../src/defaultRequestAdapter";
1111

12-
1312
describe("defaultRequestAdapter.ts", () => {
14-
describe("Initialization", () => {
15-
it("should throw error on null authProvider", async () => {
16-
assert.throws(() => new DefaultRequestAdapter(null as unknown as AuthenticationProvider), Error, "authentication provider cannot be null");
17-
});
18-
19-
it("should setup serializers correctly", async () => {
20-
const requestAdapter = new DefaultRequestAdapter(new AnonymousAuthenticationProvider());
21-
22-
assert.isNotNull(requestAdapter);
23-
24-
const serializerMap = SerializationWriterFactoryRegistry.defaultInstance.contentTypeAssociatedFactories;
25-
const deserializerMap = ParseNodeFactoryRegistry.defaultInstance.contentTypeAssociatedFactories;
26-
27-
assert.isNotNull(serializerMap);
28-
assert.isNotNull(deserializerMap);
29-
30-
// verify that the default serializers are registered
31-
assert.equal(serializerMap.size, 4);
32-
assert.equal(deserializerMap.size, 3);
33-
34-
// verify that the default serializers are registered by name
35-
assert.isTrue(serializerMap.has("application/json"));
36-
assert.isTrue(serializerMap.has("text/plain"));
37-
assert.isTrue(serializerMap.has("application/x-www-form-urlencoded"));
38-
assert.isTrue(serializerMap.has("multipart/form-data"));
39-
40-
// verify that the default deserializers are registered by name
41-
assert.isTrue(deserializerMap.has("application/json"));
42-
assert.isTrue(deserializerMap.has("text/plain"));
43-
assert.isTrue(deserializerMap.has("application/x-www-form-urlencoded"));
44-
45-
});
46-
});
13+
describe("Initialization", () => {
14+
it("should throw error on null authProvider", async () => {
15+
assert.throws(() => new DefaultRequestAdapter(null as unknown as AuthenticationProvider), Error, "authentication provider cannot be null");
16+
});
17+
18+
it("should setup serializers correctly", async () => {
19+
const requestAdapter = new DefaultRequestAdapter(new AnonymousAuthenticationProvider());
20+
21+
assert.isNotNull(requestAdapter);
22+
23+
const serializerMap = SerializationWriterFactoryRegistry.defaultInstance.contentTypeAssociatedFactories;
24+
const deserializerMap = ParseNodeFactoryRegistry.defaultInstance.contentTypeAssociatedFactories;
25+
26+
assert.isNotNull(serializerMap);
27+
assert.isNotNull(deserializerMap);
28+
29+
// verify that the default serializers are registered
30+
assert.equal(serializerMap.size, 4);
31+
assert.equal(deserializerMap.size, 3);
32+
33+
// verify that the default serializers are registered by name
34+
assert.isTrue(serializerMap.has("application/json"));
35+
assert.isTrue(serializerMap.has("text/plain"));
36+
assert.isTrue(serializerMap.has("application/x-www-form-urlencoded"));
37+
assert.isTrue(serializerMap.has("multipart/form-data"));
38+
39+
// verify that the default deserializers are registered by name
40+
assert.isTrue(deserializerMap.has("application/json"));
41+
assert.isTrue(deserializerMap.has("text/plain"));
42+
assert.isTrue(deserializerMap.has("application/x-www-form-urlencoded"));
43+
});
44+
});
4745
});

0 commit comments

Comments
 (0)