@azure/core-client 1.8.1-alpha.20240202.3 → 1.8.1-alpha.20240223.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -4
- package/dist/browser/authorizeRequestOnClaimChallenge.d.ts +43 -0
- package/dist/browser/authorizeRequestOnClaimChallenge.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/authorizeRequestOnClaimChallenge.js +3 -3
- package/dist/browser/authorizeRequestOnClaimChallenge.js.map +1 -0
- package/dist/browser/authorizeRequestOnTenantChallenge.d.ts +8 -0
- package/dist/browser/authorizeRequestOnTenantChallenge.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/authorizeRequestOnTenantChallenge.js +5 -2
- package/dist/browser/authorizeRequestOnTenantChallenge.js.map +1 -0
- package/dist/browser/base64-browser.d.mts.map +1 -0
- package/dist/browser/base64-browser.mjs.map +1 -0
- package/dist/browser/base64.d.ts +29 -0
- package/{dist-esm/src/base64.browser.js → dist/browser/base64.js} +5 -1
- package/dist/browser/deserializationPolicy.d.ts +45 -0
- package/dist/browser/deserializationPolicy.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/deserializationPolicy.js +16 -19
- package/dist/browser/deserializationPolicy.js.map +1 -0
- package/dist/browser/httpClientCache.d.ts +3 -0
- package/dist/browser/httpClientCache.d.ts.map +1 -0
- package/dist/browser/index.d.ts +9 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +11 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/interfaceHelpers.d.ts +14 -0
- package/dist/browser/interfaceHelpers.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/interfaceHelpers.js +1 -1
- package/dist/browser/interfaceHelpers.js.map +1 -0
- package/dist/browser/interfaces.d.ts +664 -0
- package/dist/browser/interfaces.d.ts.map +1 -0
- package/dist/browser/log.d.ts +2 -0
- package/dist/browser/log.d.ts.map +1 -0
- package/dist/browser/operationHelpers.d.ts +14 -0
- package/dist/browser/operationHelpers.d.ts.map +1 -0
- package/dist/browser/operationHelpers.js.map +1 -0
- package/dist/browser/package.json +3 -0
- package/dist/browser/pipeline.d.ts +34 -0
- package/dist/browser/pipeline.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/pipeline.js +3 -3
- package/dist/browser/pipeline.js.map +1 -0
- package/dist/browser/serializationPolicy.d.ts +33 -0
- package/dist/browser/serializationPolicy.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/serializationPolicy.js +12 -14
- package/dist/browser/serializationPolicy.js.map +1 -0
- package/dist/browser/serializer.d.ts +31 -0
- package/dist/browser/serializer.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/serializer.js +25 -26
- package/dist/browser/serializer.js.map +1 -0
- package/dist/browser/serviceClient.d.ts +82 -0
- package/dist/browser/serviceClient.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/serviceClient.js +38 -14
- package/dist/browser/serviceClient.js.map +1 -0
- package/dist/browser/urlHelpers.d.ts +7 -0
- package/dist/browser/urlHelpers.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/urlHelpers.js +4 -6
- package/dist/browser/urlHelpers.js.map +1 -0
- package/dist/browser/utils.d.ts +37 -0
- package/dist/browser/utils.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/utils.js +23 -10
- package/dist/browser/utils.js.map +1 -0
- package/dist/commonjs/authorizeRequestOnClaimChallenge.d.ts +43 -0
- package/dist/commonjs/authorizeRequestOnClaimChallenge.d.ts.map +1 -0
- package/dist/commonjs/authorizeRequestOnClaimChallenge.js +74 -0
- package/dist/commonjs/authorizeRequestOnClaimChallenge.js.map +1 -0
- package/dist/commonjs/authorizeRequestOnTenantChallenge.d.ts +8 -0
- package/dist/commonjs/authorizeRequestOnTenantChallenge.d.ts.map +1 -0
- package/dist/commonjs/authorizeRequestOnTenantChallenge.js +106 -0
- package/dist/commonjs/authorizeRequestOnTenantChallenge.js.map +1 -0
- package/dist/commonjs/base64.d.ts +25 -0
- package/dist/commonjs/base64.d.ts.map +1 -0
- package/dist/commonjs/base64.js +43 -0
- package/dist/commonjs/base64.js.map +1 -0
- package/dist/commonjs/deserializationPolicy.d.ts +45 -0
- package/dist/commonjs/deserializationPolicy.d.ts.map +1 -0
- package/dist/commonjs/deserializationPolicy.js +232 -0
- package/dist/commonjs/deserializationPolicy.js.map +1 -0
- package/dist/commonjs/httpClientCache.d.ts +3 -0
- package/dist/commonjs/httpClientCache.d.ts.map +1 -0
- package/dist/commonjs/httpClientCache.js +15 -0
- package/dist/commonjs/httpClientCache.js.map +1 -0
- package/dist/commonjs/index.d.ts +9 -0
- package/dist/commonjs/index.d.ts.map +1 -0
- package/dist/commonjs/index.js +26 -0
- package/dist/commonjs/index.js.map +1 -0
- package/dist/commonjs/interfaceHelpers.d.ts +14 -0
- package/dist/commonjs/interfaceHelpers.d.ts.map +1 -0
- package/dist/commonjs/interfaceHelpers.js +44 -0
- package/dist/commonjs/interfaceHelpers.js.map +1 -0
- package/dist/commonjs/interfaces.d.ts +664 -0
- package/dist/commonjs/interfaces.d.ts.map +1 -0
- package/dist/commonjs/interfaces.js +14 -0
- package/dist/commonjs/interfaces.js.map +1 -0
- package/dist/commonjs/log.d.ts +2 -0
- package/dist/commonjs/log.d.ts.map +1 -0
- package/dist/commonjs/log.js +8 -0
- package/dist/commonjs/log.js.map +1 -0
- package/dist/commonjs/operationHelpers.d.ts +14 -0
- package/dist/commonjs/operationHelpers.d.ts.map +1 -0
- package/dist/commonjs/operationHelpers.js +99 -0
- package/dist/commonjs/operationHelpers.js.map +1 -0
- package/dist/commonjs/package.json +3 -0
- package/dist/commonjs/pipeline.d.ts +34 -0
- package/dist/commonjs/pipeline.d.ts.map +1 -0
- package/dist/commonjs/pipeline.js +30 -0
- package/dist/commonjs/pipeline.js.map +1 -0
- package/dist/commonjs/serializationPolicy.d.ts +33 -0
- package/dist/commonjs/serializationPolicy.d.ts.map +1 -0
- package/dist/commonjs/serializationPolicy.js +157 -0
- package/dist/commonjs/serializationPolicy.js.map +1 -0
- package/dist/commonjs/serializer.d.ts +31 -0
- package/dist/commonjs/serializer.d.ts.map +1 -0
- package/dist/commonjs/serializer.js +926 -0
- package/dist/commonjs/serializer.js.map +1 -0
- package/dist/commonjs/serviceClient.d.ts +82 -0
- package/dist/commonjs/serviceClient.d.ts.map +1 -0
- package/dist/commonjs/serviceClient.js +177 -0
- package/dist/commonjs/serviceClient.js.map +1 -0
- package/dist/commonjs/tsdoc-metadata.json +11 -0
- package/dist/commonjs/urlHelpers.d.ts +7 -0
- package/dist/commonjs/urlHelpers.d.ts.map +1 -0
- package/dist/commonjs/urlHelpers.js +238 -0
- package/dist/commonjs/urlHelpers.js.map +1 -0
- package/dist/commonjs/utils.d.ts +37 -0
- package/dist/commonjs/utils.d.ts.map +1 -0
- package/dist/commonjs/utils.js +135 -0
- package/dist/commonjs/utils.js.map +1 -0
- package/dist/esm/authorizeRequestOnClaimChallenge.d.ts +43 -0
- package/dist/esm/authorizeRequestOnClaimChallenge.d.ts.map +1 -0
- package/dist/esm/authorizeRequestOnClaimChallenge.js +69 -0
- package/dist/esm/authorizeRequestOnClaimChallenge.js.map +1 -0
- package/dist/esm/authorizeRequestOnTenantChallenge.d.ts +8 -0
- package/dist/esm/authorizeRequestOnTenantChallenge.d.ts.map +1 -0
- package/dist/esm/authorizeRequestOnTenantChallenge.js +102 -0
- package/dist/esm/authorizeRequestOnTenantChallenge.js.map +1 -0
- package/dist/esm/base64.d.ts +25 -0
- package/dist/esm/base64.d.ts.map +1 -0
- package/{dist-esm/src → dist/esm}/base64.js +0 -2
- package/dist/esm/base64.js.map +1 -0
- package/dist/esm/deserializationPolicy.d.ts +45 -0
- package/dist/esm/deserializationPolicy.d.ts.map +1 -0
- package/dist/esm/deserializationPolicy.js +228 -0
- package/dist/esm/deserializationPolicy.js.map +1 -0
- package/dist/esm/httpClientCache.d.ts +3 -0
- package/dist/esm/httpClientCache.d.ts.map +1 -0
- package/dist/esm/httpClientCache.js +11 -0
- package/dist/esm/httpClientCache.js.map +1 -0
- package/dist/esm/index.d.ts +9 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +11 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/interfaceHelpers.d.ts +14 -0
- package/dist/esm/interfaceHelpers.d.ts.map +1 -0
- package/dist/esm/interfaceHelpers.js +39 -0
- package/dist/esm/interfaceHelpers.js.map +1 -0
- package/dist/esm/interfaces.d.ts +664 -0
- package/dist/esm/interfaces.d.ts.map +1 -0
- package/dist/esm/interfaces.js +11 -0
- package/dist/esm/interfaces.js.map +1 -0
- package/dist/esm/log.d.ts +2 -0
- package/dist/esm/log.d.ts.map +1 -0
- package/dist/esm/log.js +5 -0
- package/dist/esm/log.js.map +1 -0
- package/dist/esm/operationHelpers.d.ts +14 -0
- package/dist/esm/operationHelpers.d.ts.map +1 -0
- package/dist/esm/operationHelpers.js +94 -0
- package/dist/esm/operationHelpers.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/pipeline.d.ts +34 -0
- package/dist/esm/pipeline.d.ts.map +1 -0
- package/dist/esm/pipeline.js +26 -0
- package/dist/esm/pipeline.js.map +1 -0
- package/dist/esm/serializationPolicy.d.ts +33 -0
- package/dist/esm/serializationPolicy.d.ts.map +1 -0
- package/dist/esm/serializationPolicy.js +151 -0
- package/dist/esm/serializationPolicy.js.map +1 -0
- package/dist/esm/serializer.d.ts +31 -0
- package/dist/esm/serializer.d.ts.map +1 -0
- package/dist/esm/serializer.js +921 -0
- package/dist/esm/serializer.js.map +1 -0
- package/dist/esm/serviceClient.d.ts +82 -0
- package/dist/esm/serviceClient.d.ts.map +1 -0
- package/dist/esm/serviceClient.js +173 -0
- package/dist/esm/serviceClient.js.map +1 -0
- package/dist/esm/urlHelpers.d.ts +7 -0
- package/dist/esm/urlHelpers.d.ts.map +1 -0
- package/dist/esm/urlHelpers.js +233 -0
- package/dist/esm/urlHelpers.js.map +1 -0
- package/dist/esm/utils.d.ts +37 -0
- package/dist/esm/utils.d.ts.map +1 -0
- package/dist/esm/utils.js +128 -0
- package/dist/esm/utils.js.map +1 -0
- package/dist/react-native/authorizeRequestOnClaimChallenge.d.ts +43 -0
- package/dist/react-native/authorizeRequestOnClaimChallenge.d.ts.map +1 -0
- package/dist/react-native/authorizeRequestOnClaimChallenge.js +69 -0
- package/dist/react-native/authorizeRequestOnClaimChallenge.js.map +1 -0
- package/dist/react-native/authorizeRequestOnTenantChallenge.d.ts +8 -0
- package/dist/react-native/authorizeRequestOnTenantChallenge.d.ts.map +1 -0
- package/dist/react-native/authorizeRequestOnTenantChallenge.js +102 -0
- package/dist/react-native/authorizeRequestOnTenantChallenge.js.map +1 -0
- package/dist/react-native/base64.d.ts +25 -0
- package/dist/react-native/base64.d.ts.map +1 -0
- package/dist/react-native/base64.js +36 -0
- package/dist/react-native/base64.js.map +1 -0
- package/dist/react-native/deserializationPolicy.d.ts +45 -0
- package/dist/react-native/deserializationPolicy.d.ts.map +1 -0
- package/dist/react-native/deserializationPolicy.js +228 -0
- package/dist/react-native/deserializationPolicy.js.map +1 -0
- package/dist/react-native/httpClientCache.d.ts +3 -0
- package/dist/react-native/httpClientCache.d.ts.map +1 -0
- package/dist/react-native/httpClientCache.js +11 -0
- package/dist/react-native/httpClientCache.js.map +1 -0
- package/dist/react-native/index.d.ts +9 -0
- package/dist/react-native/index.d.ts.map +1 -0
- package/dist/react-native/index.js +11 -0
- package/dist/react-native/index.js.map +1 -0
- package/dist/react-native/interfaceHelpers.d.ts +14 -0
- package/dist/react-native/interfaceHelpers.d.ts.map +1 -0
- package/dist/react-native/interfaceHelpers.js +39 -0
- package/dist/react-native/interfaceHelpers.js.map +1 -0
- package/dist/react-native/interfaces.d.ts +664 -0
- package/dist/react-native/interfaces.d.ts.map +1 -0
- package/dist/react-native/interfaces.js +11 -0
- package/dist/react-native/interfaces.js.map +1 -0
- package/dist/react-native/log.d.ts +2 -0
- package/dist/react-native/log.d.ts.map +1 -0
- package/dist/react-native/log.js +5 -0
- package/dist/react-native/log.js.map +1 -0
- package/dist/react-native/operationHelpers.d.ts +14 -0
- package/dist/react-native/operationHelpers.d.ts.map +1 -0
- package/dist/react-native/operationHelpers.js +94 -0
- package/dist/react-native/operationHelpers.js.map +1 -0
- package/dist/react-native/package.json +3 -0
- package/dist/react-native/pipeline.d.ts +34 -0
- package/dist/react-native/pipeline.d.ts.map +1 -0
- package/dist/react-native/pipeline.js +26 -0
- package/dist/react-native/pipeline.js.map +1 -0
- package/dist/react-native/serializationPolicy.d.ts +33 -0
- package/dist/react-native/serializationPolicy.d.ts.map +1 -0
- package/dist/react-native/serializationPolicy.js +151 -0
- package/dist/react-native/serializationPolicy.js.map +1 -0
- package/dist/react-native/serializer.d.ts +31 -0
- package/dist/react-native/serializer.d.ts.map +1 -0
- package/dist/react-native/serializer.js +921 -0
- package/dist/react-native/serializer.js.map +1 -0
- package/dist/react-native/serviceClient.d.ts +82 -0
- package/dist/react-native/serviceClient.d.ts.map +1 -0
- package/dist/react-native/serviceClient.js +173 -0
- package/dist/react-native/serviceClient.js.map +1 -0
- package/dist/react-native/urlHelpers.d.ts +7 -0
- package/dist/react-native/urlHelpers.d.ts.map +1 -0
- package/dist/react-native/urlHelpers.js +233 -0
- package/dist/react-native/urlHelpers.js.map +1 -0
- package/dist/react-native/utils.d.ts +37 -0
- package/dist/react-native/utils.d.ts.map +1 -0
- package/dist/react-native/utils.js +128 -0
- package/dist/react-native/utils.js.map +1 -0
- package/package.json +74 -61
- package/dist/index.js +0 -2185
- package/dist/index.js.map +0 -1
- package/dist-esm/src/authorizeRequestOnClaimChallenge.js.map +0 -1
- package/dist-esm/src/authorizeRequestOnTenantChallenge.js.map +0 -1
- package/dist-esm/src/base64.browser.js.map +0 -1
- package/dist-esm/src/base64.js.map +0 -1
- package/dist-esm/src/deserializationPolicy.js.map +0 -1
- package/dist-esm/src/index.js +0 -11
- package/dist-esm/src/index.js.map +0 -1
- package/dist-esm/src/interfaceHelpers.js.map +0 -1
- package/dist-esm/src/operationHelpers.js.map +0 -1
- package/dist-esm/src/pipeline.js.map +0 -1
- package/dist-esm/src/serializationPolicy.js.map +0 -1
- package/dist-esm/src/serializer.js.map +0 -1
- package/dist-esm/src/serviceClient.js.map +0 -1
- package/dist-esm/src/urlHelpers.js.map +0 -1
- package/dist-esm/src/utils.js.map +0 -1
- /package/{dist-esm/src → dist/browser}/httpClientCache.js +0 -0
- /package/{dist-esm/src → dist/browser}/httpClientCache.js.map +0 -0
- /package/{dist-esm/src → dist/browser}/interfaces.js +0 -0
- /package/{dist-esm/src → dist/browser}/interfaces.js.map +0 -0
- /package/{dist-esm/src → dist/browser}/log.js +0 -0
- /package/{dist-esm/src → dist/browser}/log.js.map +0 -0
- /package/{dist-esm/src → dist/browser}/operationHelpers.js +0 -0
- /package/{types/latest → dist}/core-client.d.ts +0 -0
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT license.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.deserializationPolicy = exports.deserializationPolicyName = void 0;
|
|
6
|
+
const interfaces_js_1 = require("./interfaces.js");
|
|
7
|
+
const core_rest_pipeline_1 = require("@azure/core-rest-pipeline");
|
|
8
|
+
const serializer_js_1 = require("./serializer.js");
|
|
9
|
+
const operationHelpers_js_1 = require("./operationHelpers.js");
|
|
10
|
+
const defaultJsonContentTypes = ["application/json", "text/json"];
|
|
11
|
+
const defaultXmlContentTypes = ["application/xml", "application/atom+xml"];
|
|
12
|
+
/**
|
|
13
|
+
* The programmatic identifier of the deserializationPolicy.
|
|
14
|
+
*/
|
|
15
|
+
exports.deserializationPolicyName = "deserializationPolicy";
|
|
16
|
+
/**
|
|
17
|
+
* This policy handles parsing out responses according to OperationSpecs on the request.
|
|
18
|
+
*/
|
|
19
|
+
function deserializationPolicy(options = {}) {
|
|
20
|
+
const jsonContentTypes = options.expectedContentTypes?.json ?? defaultJsonContentTypes;
|
|
21
|
+
const xmlContentTypes = options.expectedContentTypes?.xml ?? defaultXmlContentTypes;
|
|
22
|
+
const parseXML = options.parseXML;
|
|
23
|
+
const serializerOptions = options.serializerOptions;
|
|
24
|
+
const updatedOptions = {
|
|
25
|
+
xml: {
|
|
26
|
+
rootName: serializerOptions?.xml.rootName ?? "",
|
|
27
|
+
includeRoot: serializerOptions?.xml.includeRoot ?? false,
|
|
28
|
+
xmlCharKey: serializerOptions?.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY,
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
return {
|
|
32
|
+
name: exports.deserializationPolicyName,
|
|
33
|
+
async sendRequest(request, next) {
|
|
34
|
+
const response = await next(request);
|
|
35
|
+
return deserializeResponseBody(jsonContentTypes, xmlContentTypes, response, updatedOptions, parseXML);
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
exports.deserializationPolicy = deserializationPolicy;
|
|
40
|
+
function getOperationResponseMap(parsedResponse) {
|
|
41
|
+
let result;
|
|
42
|
+
const request = parsedResponse.request;
|
|
43
|
+
const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request);
|
|
44
|
+
const operationSpec = operationInfo?.operationSpec;
|
|
45
|
+
if (operationSpec) {
|
|
46
|
+
if (!operationInfo?.operationResponseGetter) {
|
|
47
|
+
result = operationSpec.responses[parsedResponse.status];
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
result = operationInfo?.operationResponseGetter(operationSpec, parsedResponse);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return result;
|
|
54
|
+
}
|
|
55
|
+
function shouldDeserializeResponse(parsedResponse) {
|
|
56
|
+
const request = parsedResponse.request;
|
|
57
|
+
const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request);
|
|
58
|
+
const shouldDeserialize = operationInfo?.shouldDeserialize;
|
|
59
|
+
let result;
|
|
60
|
+
if (shouldDeserialize === undefined) {
|
|
61
|
+
result = true;
|
|
62
|
+
}
|
|
63
|
+
else if (typeof shouldDeserialize === "boolean") {
|
|
64
|
+
result = shouldDeserialize;
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
result = shouldDeserialize(parsedResponse);
|
|
68
|
+
}
|
|
69
|
+
return result;
|
|
70
|
+
}
|
|
71
|
+
async function deserializeResponseBody(jsonContentTypes, xmlContentTypes, response, options, parseXML) {
|
|
72
|
+
const parsedResponse = await parse(jsonContentTypes, xmlContentTypes, response, options, parseXML);
|
|
73
|
+
if (!shouldDeserializeResponse(parsedResponse)) {
|
|
74
|
+
return parsedResponse;
|
|
75
|
+
}
|
|
76
|
+
const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(parsedResponse.request);
|
|
77
|
+
const operationSpec = operationInfo?.operationSpec;
|
|
78
|
+
if (!operationSpec || !operationSpec.responses) {
|
|
79
|
+
return parsedResponse;
|
|
80
|
+
}
|
|
81
|
+
const responseSpec = getOperationResponseMap(parsedResponse);
|
|
82
|
+
const { error, shouldReturnResponse } = handleErrorResponse(parsedResponse, operationSpec, responseSpec, options);
|
|
83
|
+
if (error) {
|
|
84
|
+
throw error;
|
|
85
|
+
}
|
|
86
|
+
else if (shouldReturnResponse) {
|
|
87
|
+
return parsedResponse;
|
|
88
|
+
}
|
|
89
|
+
// An operation response spec does exist for current status code, so
|
|
90
|
+
// use it to deserialize the response.
|
|
91
|
+
if (responseSpec) {
|
|
92
|
+
if (responseSpec.bodyMapper) {
|
|
93
|
+
let valueToDeserialize = parsedResponse.parsedBody;
|
|
94
|
+
if (operationSpec.isXML && responseSpec.bodyMapper.type.name === serializer_js_1.MapperTypeNames.Sequence) {
|
|
95
|
+
valueToDeserialize =
|
|
96
|
+
typeof valueToDeserialize === "object"
|
|
97
|
+
? valueToDeserialize[responseSpec.bodyMapper.xmlElementName]
|
|
98
|
+
: [];
|
|
99
|
+
}
|
|
100
|
+
try {
|
|
101
|
+
parsedResponse.parsedBody = operationSpec.serializer.deserialize(responseSpec.bodyMapper, valueToDeserialize, "operationRes.parsedBody", options);
|
|
102
|
+
}
|
|
103
|
+
catch (deserializeError) {
|
|
104
|
+
const restError = new core_rest_pipeline_1.RestError(`Error ${deserializeError} occurred in deserializing the responseBody - ${parsedResponse.bodyAsText}`, {
|
|
105
|
+
statusCode: parsedResponse.status,
|
|
106
|
+
request: parsedResponse.request,
|
|
107
|
+
response: parsedResponse,
|
|
108
|
+
});
|
|
109
|
+
throw restError;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
else if (operationSpec.httpMethod === "HEAD") {
|
|
113
|
+
// head methods never have a body, but we return a boolean to indicate presence/absence of the resource
|
|
114
|
+
parsedResponse.parsedBody = response.status >= 200 && response.status < 300;
|
|
115
|
+
}
|
|
116
|
+
if (responseSpec.headersMapper) {
|
|
117
|
+
parsedResponse.parsedHeaders = operationSpec.serializer.deserialize(responseSpec.headersMapper, parsedResponse.headers.toJSON(), "operationRes.parsedHeaders", { xml: {}, ignoreUnknownProperties: true });
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return parsedResponse;
|
|
121
|
+
}
|
|
122
|
+
function isOperationSpecEmpty(operationSpec) {
|
|
123
|
+
const expectedStatusCodes = Object.keys(operationSpec.responses);
|
|
124
|
+
return (expectedStatusCodes.length === 0 ||
|
|
125
|
+
(expectedStatusCodes.length === 1 && expectedStatusCodes[0] === "default"));
|
|
126
|
+
}
|
|
127
|
+
function handleErrorResponse(parsedResponse, operationSpec, responseSpec, options) {
|
|
128
|
+
const isSuccessByStatus = 200 <= parsedResponse.status && parsedResponse.status < 300;
|
|
129
|
+
const isExpectedStatusCode = isOperationSpecEmpty(operationSpec)
|
|
130
|
+
? isSuccessByStatus
|
|
131
|
+
: !!responseSpec;
|
|
132
|
+
if (isExpectedStatusCode) {
|
|
133
|
+
if (responseSpec) {
|
|
134
|
+
if (!responseSpec.isError) {
|
|
135
|
+
return { error: null, shouldReturnResponse: false };
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
return { error: null, shouldReturnResponse: false };
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
const errorResponseSpec = responseSpec ?? operationSpec.responses.default;
|
|
143
|
+
const initialErrorMessage = parsedResponse.request.streamResponseStatusCodes?.has(parsedResponse.status)
|
|
144
|
+
? `Unexpected status code: ${parsedResponse.status}`
|
|
145
|
+
: parsedResponse.bodyAsText;
|
|
146
|
+
const error = new core_rest_pipeline_1.RestError(initialErrorMessage, {
|
|
147
|
+
statusCode: parsedResponse.status,
|
|
148
|
+
request: parsedResponse.request,
|
|
149
|
+
response: parsedResponse,
|
|
150
|
+
});
|
|
151
|
+
// If the item failed but there's no error spec or default spec to deserialize the error,
|
|
152
|
+
// we should fail so we just throw the parsed response
|
|
153
|
+
if (!errorResponseSpec) {
|
|
154
|
+
throw error;
|
|
155
|
+
}
|
|
156
|
+
const defaultBodyMapper = errorResponseSpec.bodyMapper;
|
|
157
|
+
const defaultHeadersMapper = errorResponseSpec.headersMapper;
|
|
158
|
+
try {
|
|
159
|
+
// If error response has a body, try to deserialize it using default body mapper.
|
|
160
|
+
// Then try to extract error code & message from it
|
|
161
|
+
if (parsedResponse.parsedBody) {
|
|
162
|
+
const parsedBody = parsedResponse.parsedBody;
|
|
163
|
+
let deserializedError;
|
|
164
|
+
if (defaultBodyMapper) {
|
|
165
|
+
let valueToDeserialize = parsedBody;
|
|
166
|
+
if (operationSpec.isXML && defaultBodyMapper.type.name === serializer_js_1.MapperTypeNames.Sequence) {
|
|
167
|
+
valueToDeserialize = [];
|
|
168
|
+
const elementName = defaultBodyMapper.xmlElementName;
|
|
169
|
+
if (typeof parsedBody === "object" && elementName) {
|
|
170
|
+
valueToDeserialize = parsedBody[elementName];
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
deserializedError = operationSpec.serializer.deserialize(defaultBodyMapper, valueToDeserialize, "error.response.parsedBody", options);
|
|
174
|
+
}
|
|
175
|
+
const internalError = parsedBody.error || deserializedError || parsedBody;
|
|
176
|
+
error.code = internalError.code;
|
|
177
|
+
if (internalError.message) {
|
|
178
|
+
error.message = internalError.message;
|
|
179
|
+
}
|
|
180
|
+
if (defaultBodyMapper) {
|
|
181
|
+
error.response.parsedBody = deserializedError;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
// If error response has headers, try to deserialize it using default header mapper
|
|
185
|
+
if (parsedResponse.headers && defaultHeadersMapper) {
|
|
186
|
+
error.response.parsedHeaders =
|
|
187
|
+
operationSpec.serializer.deserialize(defaultHeadersMapper, parsedResponse.headers.toJSON(), "operationRes.parsedHeaders");
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
catch (defaultError) {
|
|
191
|
+
error.message = `Error "${defaultError.message}" occurred in deserializing the responseBody - "${parsedResponse.bodyAsText}" for the default response.`;
|
|
192
|
+
}
|
|
193
|
+
return { error, shouldReturnResponse: false };
|
|
194
|
+
}
|
|
195
|
+
async function parse(jsonContentTypes, xmlContentTypes, operationResponse, opts, parseXML) {
|
|
196
|
+
if (!operationResponse.request.streamResponseStatusCodes?.has(operationResponse.status) &&
|
|
197
|
+
operationResponse.bodyAsText) {
|
|
198
|
+
const text = operationResponse.bodyAsText;
|
|
199
|
+
const contentType = operationResponse.headers.get("Content-Type") || "";
|
|
200
|
+
const contentComponents = !contentType
|
|
201
|
+
? []
|
|
202
|
+
: contentType.split(";").map((component) => component.toLowerCase());
|
|
203
|
+
try {
|
|
204
|
+
if (contentComponents.length === 0 ||
|
|
205
|
+
contentComponents.some((component) => jsonContentTypes.indexOf(component) !== -1)) {
|
|
206
|
+
operationResponse.parsedBody = JSON.parse(text);
|
|
207
|
+
return operationResponse;
|
|
208
|
+
}
|
|
209
|
+
else if (contentComponents.some((component) => xmlContentTypes.indexOf(component) !== -1)) {
|
|
210
|
+
if (!parseXML) {
|
|
211
|
+
throw new Error("Parsing XML not supported.");
|
|
212
|
+
}
|
|
213
|
+
const body = await parseXML(text, opts.xml);
|
|
214
|
+
operationResponse.parsedBody = body;
|
|
215
|
+
return operationResponse;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
catch (err) {
|
|
219
|
+
const msg = `Error "${err}" occurred while parsing the response body - ${operationResponse.bodyAsText}.`;
|
|
220
|
+
const errCode = err.code || core_rest_pipeline_1.RestError.PARSE_ERROR;
|
|
221
|
+
const e = new core_rest_pipeline_1.RestError(msg, {
|
|
222
|
+
code: errCode,
|
|
223
|
+
statusCode: operationResponse.status,
|
|
224
|
+
request: operationResponse.request,
|
|
225
|
+
response: operationResponse,
|
|
226
|
+
});
|
|
227
|
+
throw e;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
return operationResponse;
|
|
231
|
+
}
|
|
232
|
+
//# sourceMappingURL=deserializationPolicy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deserializationPolicy.js","sourceRoot":"","sources":["../../src/deserializationPolicy.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n FullOperationResponse,\n OperationRequest,\n OperationResponseMap,\n OperationSpec,\n RequiredSerializerOptions,\n SerializerOptions,\n XML_CHARKEY,\n XmlOptions,\n} from \"./interfaces.js\";\nimport {\n PipelinePolicy,\n PipelineRequest,\n PipelineResponse,\n RestError,\n SendRequest,\n} from \"@azure/core-rest-pipeline\";\nimport { MapperTypeNames } from \"./serializer.js\";\nimport { getOperationRequestInfo } from \"./operationHelpers.js\";\n\nconst defaultJsonContentTypes = [\"application/json\", \"text/json\"];\nconst defaultXmlContentTypes = [\"application/xml\", \"application/atom+xml\"];\n\n/**\n * The programmatic identifier of the deserializationPolicy.\n */\nexport const deserializationPolicyName = \"deserializationPolicy\";\n\n/**\n * Options to configure API response deserialization.\n */\nexport interface DeserializationPolicyOptions {\n /**\n * Configures the expected content types for the deserialization of\n * JSON and XML response bodies.\n */\n expectedContentTypes?: DeserializationContentTypes;\n\n /**\n * A function that is able to parse XML. Required for XML support.\n */\n parseXML?: (str: string, opts?: XmlOptions) => Promise<any>;\n\n /**\n * Configures behavior of xml parser and builder.\n */\n serializerOptions?: SerializerOptions;\n}\n\n/**\n * The content-types that will indicate that an operation response should be deserialized in a\n * particular way.\n */\nexport interface DeserializationContentTypes {\n /**\n * The content-types that indicate that an operation response should be deserialized as JSON.\n * Defaults to [ \"application/json\", \"text/json\" ].\n */\n json?: string[];\n\n /**\n * The content-types that indicate that an operation response should be deserialized as XML.\n * Defaults to [ \"application/xml\", \"application/atom+xml\" ].\n */\n xml?: string[];\n}\n\n/**\n * This policy handles parsing out responses according to OperationSpecs on the request.\n */\nexport function deserializationPolicy(options: DeserializationPolicyOptions = {}): PipelinePolicy {\n const jsonContentTypes = options.expectedContentTypes?.json ?? defaultJsonContentTypes;\n const xmlContentTypes = options.expectedContentTypes?.xml ?? defaultXmlContentTypes;\n const parseXML = options.parseXML;\n const serializerOptions = options.serializerOptions;\n const updatedOptions: RequiredSerializerOptions = {\n xml: {\n rootName: serializerOptions?.xml.rootName ?? \"\",\n includeRoot: serializerOptions?.xml.includeRoot ?? false,\n xmlCharKey: serializerOptions?.xml.xmlCharKey ?? XML_CHARKEY,\n },\n };\n\n return {\n name: deserializationPolicyName,\n async sendRequest(request: PipelineRequest, next: SendRequest): Promise<PipelineResponse> {\n const response = await next(request);\n return deserializeResponseBody(\n jsonContentTypes,\n xmlContentTypes,\n response,\n updatedOptions,\n parseXML,\n );\n },\n };\n}\n\nfunction getOperationResponseMap(\n parsedResponse: PipelineResponse,\n): undefined | OperationResponseMap {\n let result: OperationResponseMap | undefined;\n const request: OperationRequest = parsedResponse.request;\n const operationInfo = getOperationRequestInfo(request);\n const operationSpec = operationInfo?.operationSpec;\n if (operationSpec) {\n if (!operationInfo?.operationResponseGetter) {\n result = operationSpec.responses[parsedResponse.status];\n } else {\n result = operationInfo?.operationResponseGetter(operationSpec, parsedResponse);\n }\n }\n return result;\n}\n\nfunction shouldDeserializeResponse(parsedResponse: PipelineResponse): boolean {\n const request: OperationRequest = parsedResponse.request;\n const operationInfo = getOperationRequestInfo(request);\n const shouldDeserialize = operationInfo?.shouldDeserialize;\n let result: boolean;\n if (shouldDeserialize === undefined) {\n result = true;\n } else if (typeof shouldDeserialize === \"boolean\") {\n result = shouldDeserialize;\n } else {\n result = shouldDeserialize(parsedResponse);\n }\n return result;\n}\n\nasync function deserializeResponseBody(\n jsonContentTypes: string[],\n xmlContentTypes: string[],\n response: PipelineResponse,\n options: RequiredSerializerOptions,\n parseXML?: (str: string, opts?: XmlOptions) => Promise<any>,\n): Promise<PipelineResponse> {\n const parsedResponse = await parse(\n jsonContentTypes,\n xmlContentTypes,\n response,\n options,\n parseXML,\n );\n if (!shouldDeserializeResponse(parsedResponse)) {\n return parsedResponse;\n }\n\n const operationInfo = getOperationRequestInfo(parsedResponse.request);\n const operationSpec = operationInfo?.operationSpec;\n if (!operationSpec || !operationSpec.responses) {\n return parsedResponse;\n }\n\n const responseSpec = getOperationResponseMap(parsedResponse);\n const { error, shouldReturnResponse } = handleErrorResponse(\n parsedResponse,\n operationSpec,\n responseSpec,\n options,\n );\n if (error) {\n throw error;\n } else if (shouldReturnResponse) {\n return parsedResponse;\n }\n\n // An operation response spec does exist for current status code, so\n // use it to deserialize the response.\n if (responseSpec) {\n if (responseSpec.bodyMapper) {\n let valueToDeserialize: any = parsedResponse.parsedBody;\n if (operationSpec.isXML && responseSpec.bodyMapper.type.name === MapperTypeNames.Sequence) {\n valueToDeserialize =\n typeof valueToDeserialize === \"object\"\n ? valueToDeserialize[responseSpec.bodyMapper.xmlElementName!]\n : [];\n }\n try {\n parsedResponse.parsedBody = operationSpec.serializer.deserialize(\n responseSpec.bodyMapper,\n valueToDeserialize,\n \"operationRes.parsedBody\",\n options,\n );\n } catch (deserializeError: any) {\n const restError = new RestError(\n `Error ${deserializeError} occurred in deserializing the responseBody - ${parsedResponse.bodyAsText}`,\n {\n statusCode: parsedResponse.status,\n request: parsedResponse.request,\n response: parsedResponse,\n },\n );\n throw restError;\n }\n } else if (operationSpec.httpMethod === \"HEAD\") {\n // head methods never have a body, but we return a boolean to indicate presence/absence of the resource\n parsedResponse.parsedBody = response.status >= 200 && response.status < 300;\n }\n\n if (responseSpec.headersMapper) {\n parsedResponse.parsedHeaders = operationSpec.serializer.deserialize(\n responseSpec.headersMapper,\n parsedResponse.headers.toJSON(),\n \"operationRes.parsedHeaders\",\n { xml: {}, ignoreUnknownProperties: true },\n );\n }\n }\n\n return parsedResponse;\n}\n\nfunction isOperationSpecEmpty(operationSpec: OperationSpec): boolean {\n const expectedStatusCodes = Object.keys(operationSpec.responses);\n return (\n expectedStatusCodes.length === 0 ||\n (expectedStatusCodes.length === 1 && expectedStatusCodes[0] === \"default\")\n );\n}\n\nfunction handleErrorResponse(\n parsedResponse: FullOperationResponse,\n operationSpec: OperationSpec,\n responseSpec: OperationResponseMap | undefined,\n options: RequiredSerializerOptions,\n): { error: RestError | null; shouldReturnResponse: boolean } {\n const isSuccessByStatus = 200 <= parsedResponse.status && parsedResponse.status < 300;\n const isExpectedStatusCode: boolean = isOperationSpecEmpty(operationSpec)\n ? isSuccessByStatus\n : !!responseSpec;\n\n if (isExpectedStatusCode) {\n if (responseSpec) {\n if (!responseSpec.isError) {\n return { error: null, shouldReturnResponse: false };\n }\n } else {\n return { error: null, shouldReturnResponse: false };\n }\n }\n\n const errorResponseSpec = responseSpec ?? operationSpec.responses.default;\n\n const initialErrorMessage = parsedResponse.request.streamResponseStatusCodes?.has(\n parsedResponse.status,\n )\n ? `Unexpected status code: ${parsedResponse.status}`\n : (parsedResponse.bodyAsText as string);\n\n const error = new RestError(initialErrorMessage, {\n statusCode: parsedResponse.status,\n request: parsedResponse.request,\n response: parsedResponse,\n });\n\n // If the item failed but there's no error spec or default spec to deserialize the error,\n // we should fail so we just throw the parsed response\n if (!errorResponseSpec) {\n throw error;\n }\n\n const defaultBodyMapper = errorResponseSpec.bodyMapper;\n const defaultHeadersMapper = errorResponseSpec.headersMapper;\n\n try {\n // If error response has a body, try to deserialize it using default body mapper.\n // Then try to extract error code & message from it\n if (parsedResponse.parsedBody) {\n const parsedBody = parsedResponse.parsedBody;\n let deserializedError;\n\n if (defaultBodyMapper) {\n let valueToDeserialize: any = parsedBody;\n if (operationSpec.isXML && defaultBodyMapper.type.name === MapperTypeNames.Sequence) {\n valueToDeserialize = [];\n const elementName = defaultBodyMapper.xmlElementName;\n if (typeof parsedBody === \"object\" && elementName) {\n valueToDeserialize = parsedBody[elementName];\n }\n }\n deserializedError = operationSpec.serializer.deserialize(\n defaultBodyMapper,\n valueToDeserialize,\n \"error.response.parsedBody\",\n options,\n );\n }\n\n const internalError: any = parsedBody.error || deserializedError || parsedBody;\n error.code = internalError.code;\n if (internalError.message) {\n error.message = internalError.message;\n }\n\n if (defaultBodyMapper) {\n (error.response! as FullOperationResponse).parsedBody = deserializedError;\n }\n }\n\n // If error response has headers, try to deserialize it using default header mapper\n if (parsedResponse.headers && defaultHeadersMapper) {\n (error.response! as FullOperationResponse).parsedHeaders =\n operationSpec.serializer.deserialize(\n defaultHeadersMapper,\n parsedResponse.headers.toJSON(),\n \"operationRes.parsedHeaders\",\n );\n }\n } catch (defaultError: any) {\n error.message = `Error \"${defaultError.message}\" occurred in deserializing the responseBody - \"${parsedResponse.bodyAsText}\" for the default response.`;\n }\n\n return { error, shouldReturnResponse: false };\n}\n\nasync function parse(\n jsonContentTypes: string[],\n xmlContentTypes: string[],\n operationResponse: FullOperationResponse,\n opts: RequiredSerializerOptions,\n parseXML?: (str: string, opts?: XmlOptions) => Promise<any>,\n): Promise<FullOperationResponse> {\n if (\n !operationResponse.request.streamResponseStatusCodes?.has(operationResponse.status) &&\n operationResponse.bodyAsText\n ) {\n const text = operationResponse.bodyAsText;\n const contentType: string = operationResponse.headers.get(\"Content-Type\") || \"\";\n const contentComponents: string[] = !contentType\n ? []\n : contentType.split(\";\").map((component) => component.toLowerCase());\n\n try {\n if (\n contentComponents.length === 0 ||\n contentComponents.some((component) => jsonContentTypes.indexOf(component) !== -1)\n ) {\n operationResponse.parsedBody = JSON.parse(text);\n return operationResponse;\n } else if (contentComponents.some((component) => xmlContentTypes.indexOf(component) !== -1)) {\n if (!parseXML) {\n throw new Error(\"Parsing XML not supported.\");\n }\n const body = await parseXML(text, opts.xml);\n operationResponse.parsedBody = body;\n return operationResponse;\n }\n } catch (err: any) {\n const msg = `Error \"${err}\" occurred while parsing the response body - ${operationResponse.bodyAsText}.`;\n const errCode = err.code || RestError.PARSE_ERROR;\n const e = new RestError(msg, {\n code: errCode,\n statusCode: operationResponse.status,\n request: operationResponse.request,\n response: operationResponse,\n });\n throw e;\n }\n }\n\n return operationResponse;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"httpClientCache.d.ts","sourceRoot":"","sources":["../../src/httpClientCache.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAA2B,MAAM,2BAA2B,CAAC;AAIhF,wBAAgB,0BAA0B,IAAI,UAAU,CAMvD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT license.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.getCachedDefaultHttpClient = void 0;
|
|
6
|
+
const core_rest_pipeline_1 = require("@azure/core-rest-pipeline");
|
|
7
|
+
let cachedHttpClient;
|
|
8
|
+
function getCachedDefaultHttpClient() {
|
|
9
|
+
if (!cachedHttpClient) {
|
|
10
|
+
cachedHttpClient = (0, core_rest_pipeline_1.createDefaultHttpClient)();
|
|
11
|
+
}
|
|
12
|
+
return cachedHttpClient;
|
|
13
|
+
}
|
|
14
|
+
exports.getCachedDefaultHttpClient = getCachedDefaultHttpClient;
|
|
15
|
+
//# sourceMappingURL=httpClientCache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"httpClientCache.js","sourceRoot":"","sources":["../../src/httpClientCache.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,kEAAgF;AAEhF,IAAI,gBAAwC,CAAC;AAE7C,SAAgB,0BAA0B;IACxC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,gBAAgB,GAAG,IAAA,4CAAuB,GAAE,CAAC;IAC/C,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAND,gEAMC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { HttpClient, createDefaultHttpClient } from \"@azure/core-rest-pipeline\";\n\nlet cachedHttpClient: HttpClient | undefined;\n\nexport function getCachedDefaultHttpClient(): HttpClient {\n if (!cachedHttpClient) {\n cachedHttpClient = createDefaultHttpClient();\n }\n\n return cachedHttpClient;\n}\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { createSerializer, MapperTypeNames } from "./serializer.js";
|
|
2
|
+
export { ServiceClient, ServiceClientOptions } from "./serviceClient.js";
|
|
3
|
+
export { createClientPipeline, InternalClientPipelineOptions } from "./pipeline.js";
|
|
4
|
+
export { OperationSpec, OperationArguments, OperationOptions, OperationResponseMap, OperationParameter, OperationQueryParameter, OperationURLParameter, Serializer, BaseMapper, Mapper, MapperType, SimpleMapperType, EnumMapper, EnumMapperType, SequenceMapper, SequenceMapperType, DictionaryMapper, DictionaryMapperType, CompositeMapper, CompositeMapperType, MapperConstraints, OperationRequest, OperationRequestOptions, OperationRequestInfo, QueryCollectionFormat, ParameterPath, FullOperationResponse, PolymorphicDiscriminator, SpanConfig, XML_ATTRKEY, XML_CHARKEY, XmlOptions, SerializerOptions, RawResponseCallback, CommonClientOptions, AdditionalPolicyConfig, } from "./interfaces.js";
|
|
5
|
+
export { deserializationPolicy, deserializationPolicyName, DeserializationPolicyOptions, DeserializationContentTypes, } from "./deserializationPolicy.js";
|
|
6
|
+
export { serializationPolicy, serializationPolicyName, SerializationPolicyOptions, } from "./serializationPolicy.js";
|
|
7
|
+
export { authorizeRequestOnClaimChallenge } from "./authorizeRequestOnClaimChallenge.js";
|
|
8
|
+
export { authorizeRequestOnTenantChallenge } from "./authorizeRequestOnTenantChallenge.js";
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,EACrB,UAAU,EACV,UAAU,EACV,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,aAAa,EACb,qBAAqB,EACrB,wBAAwB,EACxB,UAAU,EACV,WAAW,EACX,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,4BAA4B,EAC5B,2BAA2B,GAC5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT license.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.authorizeRequestOnTenantChallenge = exports.authorizeRequestOnClaimChallenge = exports.serializationPolicyName = exports.serializationPolicy = exports.deserializationPolicyName = exports.deserializationPolicy = exports.XML_CHARKEY = exports.XML_ATTRKEY = exports.createClientPipeline = exports.ServiceClient = exports.MapperTypeNames = exports.createSerializer = void 0;
|
|
6
|
+
var serializer_js_1 = require("./serializer.js");
|
|
7
|
+
Object.defineProperty(exports, "createSerializer", { enumerable: true, get: function () { return serializer_js_1.createSerializer; } });
|
|
8
|
+
Object.defineProperty(exports, "MapperTypeNames", { enumerable: true, get: function () { return serializer_js_1.MapperTypeNames; } });
|
|
9
|
+
var serviceClient_js_1 = require("./serviceClient.js");
|
|
10
|
+
Object.defineProperty(exports, "ServiceClient", { enumerable: true, get: function () { return serviceClient_js_1.ServiceClient; } });
|
|
11
|
+
var pipeline_js_1 = require("./pipeline.js");
|
|
12
|
+
Object.defineProperty(exports, "createClientPipeline", { enumerable: true, get: function () { return pipeline_js_1.createClientPipeline; } });
|
|
13
|
+
var interfaces_js_1 = require("./interfaces.js");
|
|
14
|
+
Object.defineProperty(exports, "XML_ATTRKEY", { enumerable: true, get: function () { return interfaces_js_1.XML_ATTRKEY; } });
|
|
15
|
+
Object.defineProperty(exports, "XML_CHARKEY", { enumerable: true, get: function () { return interfaces_js_1.XML_CHARKEY; } });
|
|
16
|
+
var deserializationPolicy_js_1 = require("./deserializationPolicy.js");
|
|
17
|
+
Object.defineProperty(exports, "deserializationPolicy", { enumerable: true, get: function () { return deserializationPolicy_js_1.deserializationPolicy; } });
|
|
18
|
+
Object.defineProperty(exports, "deserializationPolicyName", { enumerable: true, get: function () { return deserializationPolicy_js_1.deserializationPolicyName; } });
|
|
19
|
+
var serializationPolicy_js_1 = require("./serializationPolicy.js");
|
|
20
|
+
Object.defineProperty(exports, "serializationPolicy", { enumerable: true, get: function () { return serializationPolicy_js_1.serializationPolicy; } });
|
|
21
|
+
Object.defineProperty(exports, "serializationPolicyName", { enumerable: true, get: function () { return serializationPolicy_js_1.serializationPolicyName; } });
|
|
22
|
+
var authorizeRequestOnClaimChallenge_js_1 = require("./authorizeRequestOnClaimChallenge.js");
|
|
23
|
+
Object.defineProperty(exports, "authorizeRequestOnClaimChallenge", { enumerable: true, get: function () { return authorizeRequestOnClaimChallenge_js_1.authorizeRequestOnClaimChallenge; } });
|
|
24
|
+
var authorizeRequestOnTenantChallenge_js_1 = require("./authorizeRequestOnTenantChallenge.js");
|
|
25
|
+
Object.defineProperty(exports, "authorizeRequestOnTenantChallenge", { enumerable: true, get: function () { return authorizeRequestOnTenantChallenge_js_1.authorizeRequestOnTenantChallenge; } });
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,iDAAoE;AAA3D,iHAAA,gBAAgB,OAAA;AAAE,gHAAA,eAAe,OAAA;AAC1C,uDAAyE;AAAhE,iHAAA,aAAa,OAAA;AACtB,6CAAoF;AAA3E,mHAAA,oBAAoB,OAAA;AAC7B,iDAqCyB;AAPvB,4GAAA,WAAW,OAAA;AACX,4GAAA,WAAW,OAAA;AAOb,uEAKoC;AAJlC,iIAAA,qBAAqB,OAAA;AACrB,qIAAA,yBAAyB,OAAA;AAI3B,mEAIkC;AAHhC,6HAAA,mBAAmB,OAAA;AACnB,iIAAA,uBAAuB,OAAA;AAGzB,6FAAyF;AAAhF,uJAAA,gCAAgC,OAAA;AACzC,+FAA2F;AAAlF,yJAAA,iCAAiC,OAAA","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nexport { createSerializer, MapperTypeNames } from \"./serializer.js\";\nexport { ServiceClient, ServiceClientOptions } from \"./serviceClient.js\";\nexport { createClientPipeline, InternalClientPipelineOptions } from \"./pipeline.js\";\nexport {\n OperationSpec,\n OperationArguments,\n OperationOptions,\n OperationResponseMap,\n OperationParameter,\n OperationQueryParameter,\n OperationURLParameter,\n Serializer,\n BaseMapper,\n Mapper,\n MapperType,\n SimpleMapperType,\n EnumMapper,\n EnumMapperType,\n SequenceMapper,\n SequenceMapperType,\n DictionaryMapper,\n DictionaryMapperType,\n CompositeMapper,\n CompositeMapperType,\n MapperConstraints,\n OperationRequest,\n OperationRequestOptions,\n OperationRequestInfo,\n QueryCollectionFormat,\n ParameterPath,\n FullOperationResponse,\n PolymorphicDiscriminator,\n SpanConfig,\n XML_ATTRKEY,\n XML_CHARKEY,\n XmlOptions,\n SerializerOptions,\n RawResponseCallback,\n CommonClientOptions,\n AdditionalPolicyConfig,\n} from \"./interfaces.js\";\nexport {\n deserializationPolicy,\n deserializationPolicyName,\n DeserializationPolicyOptions,\n DeserializationContentTypes,\n} from \"./deserializationPolicy.js\";\nexport {\n serializationPolicy,\n serializationPolicyName,\n SerializationPolicyOptions,\n} from \"./serializationPolicy.js\";\nexport { authorizeRequestOnClaimChallenge } from \"./authorizeRequestOnClaimChallenge.js\";\nexport { authorizeRequestOnTenantChallenge } from \"./authorizeRequestOnTenantChallenge.js\";\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { OperationParameter, OperationSpec } from "./interfaces.js";
|
|
2
|
+
/**
|
|
3
|
+
* Gets the list of status codes for streaming responses.
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export declare function getStreamingResponseStatusCodes(operationSpec: OperationSpec): Set<number>;
|
|
7
|
+
/**
|
|
8
|
+
* Get the path to this parameter's value as a dotted string (a.b.c).
|
|
9
|
+
* @param parameter - The parameter to get the path string for.
|
|
10
|
+
* @returns The path to this parameter's value as a dotted string.
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
export declare function getPathStringFromParameter(parameter: OperationParameter): string;
|
|
14
|
+
//# sourceMappingURL=interfaceHelpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaceHelpers.d.ts","sourceRoot":"","sources":["../../src/interfaceHelpers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGpE;;;GAGG;AACH,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,CAYzF;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,CAWhF"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT license.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.getPathStringFromParameter = exports.getStreamingResponseStatusCodes = void 0;
|
|
6
|
+
const serializer_js_1 = require("./serializer.js");
|
|
7
|
+
/**
|
|
8
|
+
* Gets the list of status codes for streaming responses.
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
function getStreamingResponseStatusCodes(operationSpec) {
|
|
12
|
+
const result = new Set();
|
|
13
|
+
for (const statusCode in operationSpec.responses) {
|
|
14
|
+
const operationResponse = operationSpec.responses[statusCode];
|
|
15
|
+
if (operationResponse.bodyMapper &&
|
|
16
|
+
operationResponse.bodyMapper.type.name === serializer_js_1.MapperTypeNames.Stream) {
|
|
17
|
+
result.add(Number(statusCode));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return result;
|
|
21
|
+
}
|
|
22
|
+
exports.getStreamingResponseStatusCodes = getStreamingResponseStatusCodes;
|
|
23
|
+
/**
|
|
24
|
+
* Get the path to this parameter's value as a dotted string (a.b.c).
|
|
25
|
+
* @param parameter - The parameter to get the path string for.
|
|
26
|
+
* @returns The path to this parameter's value as a dotted string.
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
function getPathStringFromParameter(parameter) {
|
|
30
|
+
const { parameterPath, mapper } = parameter;
|
|
31
|
+
let result;
|
|
32
|
+
if (typeof parameterPath === "string") {
|
|
33
|
+
result = parameterPath;
|
|
34
|
+
}
|
|
35
|
+
else if (Array.isArray(parameterPath)) {
|
|
36
|
+
result = parameterPath.join(".");
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
result = mapper.serializedName;
|
|
40
|
+
}
|
|
41
|
+
return result;
|
|
42
|
+
}
|
|
43
|
+
exports.getPathStringFromParameter = getPathStringFromParameter;
|
|
44
|
+
//# sourceMappingURL=interfaceHelpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaceHelpers.js","sourceRoot":"","sources":["../../src/interfaceHelpers.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAGlC,mDAAkD;AAElD;;;GAGG;AACH,SAAgB,+BAA+B,CAAC,aAA4B;IAC1E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,UAAU,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;QACjD,MAAM,iBAAiB,GAAG,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC9D,IACE,iBAAiB,CAAC,UAAU;YAC5B,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,+BAAe,CAAC,MAAM,EACjE,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAZD,0EAYC;AAED;;;;;GAKG;AACH,SAAgB,0BAA0B,CAAC,SAA6B;IACtE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC5C,IAAI,MAAc,CAAC;IACnB,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,GAAG,aAAa,CAAC;IACzB,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QACxC,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,MAAM,CAAC,cAAe,CAAC;IAClC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAXD,gEAWC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { OperationParameter, OperationSpec } from \"./interfaces.js\";\nimport { MapperTypeNames } from \"./serializer.js\";\n\n/**\n * Gets the list of status codes for streaming responses.\n * @internal\n */\nexport function getStreamingResponseStatusCodes(operationSpec: OperationSpec): Set<number> {\n const result = new Set<number>();\n for (const statusCode in operationSpec.responses) {\n const operationResponse = operationSpec.responses[statusCode];\n if (\n operationResponse.bodyMapper &&\n operationResponse.bodyMapper.type.name === MapperTypeNames.Stream\n ) {\n result.add(Number(statusCode));\n }\n }\n return result;\n}\n\n/**\n * Get the path to this parameter's value as a dotted string (a.b.c).\n * @param parameter - The parameter to get the path string for.\n * @returns The path to this parameter's value as a dotted string.\n * @internal\n */\nexport function getPathStringFromParameter(parameter: OperationParameter): string {\n const { parameterPath, mapper } = parameter;\n let result: string;\n if (typeof parameterPath === \"string\") {\n result = parameterPath;\n } else if (Array.isArray(parameterPath)) {\n result = parameterPath.join(\".\");\n } else {\n result = mapper.serializedName!;\n }\n return result;\n}\n"]}
|