@bleedingdev/modern-js-create-request 3.9.0-ultramodern.4 → 3.9.0-ultramodern.6
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/dist/cjs/browser.js +22 -79
- package/dist/cjs/{traceparent.js → headers.js} +24 -21
- package/dist/cjs/node.js +21 -87
- package/dist/cjs/requestFactory.js +58 -166
- package/dist/cjs/types.js +1 -40
- package/dist/esm/browser.mjs +13 -18
- package/dist/esm/headers.mjs +15 -0
- package/dist/esm/node.mjs +11 -25
- package/dist/esm/requestFactory.mjs +50 -160
- package/dist/esm/types.mjs +0 -10
- package/dist/esm-node/browser.mjs +13 -18
- package/dist/esm-node/headers.mjs +16 -0
- package/dist/esm-node/node.mjs +11 -25
- package/dist/esm-node/requestFactory.mjs +50 -160
- package/dist/esm-node/types.mjs +0 -10
- package/dist/types/browser.d.ts +1 -3
- package/dist/types/headers.d.ts +3 -0
- package/dist/types/node.d.ts +1 -3
- package/dist/types/requestFactory.d.ts +5 -9
- package/dist/types/types.d.ts +38 -127
- package/package.json +4 -4
- package/dist/cjs/policyCore.js +0 -272
- package/dist/cjs/requestContext.js +0 -121
- package/dist/cjs/transport.js +0 -234
- package/dist/esm/policyCore.mjs +0 -174
- package/dist/esm/requestContext.mjs +0 -74
- package/dist/esm/traceparent.mjs +0 -18
- package/dist/esm/transport.mjs +0 -196
- package/dist/esm-node/policyCore.mjs +0 -175
- package/dist/esm-node/requestContext.mjs +0 -75
- package/dist/esm-node/traceparent.mjs +0 -19
- package/dist/esm-node/transport.mjs +0 -197
- package/dist/types/policyCore.d.ts +0 -108
- package/dist/types/requestContext.d.ts +0 -19
- package/dist/types/traceparent.d.ts +0 -10
- package/dist/types/transport.d.ts +0 -12
|
@@ -28,156 +28,59 @@ var __webpack_require__ = {};
|
|
|
28
28
|
var __webpack_exports__ = {};
|
|
29
29
|
__webpack_require__.r(__webpack_exports__);
|
|
30
30
|
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
-
createRequestFactory: ()=>createRequestFactory
|
|
31
|
+
createRequestFactory: ()=>createRequestFactory,
|
|
32
|
+
extractPathParamNames: ()=>extractPathParamNames
|
|
32
33
|
});
|
|
33
34
|
const external_path_to_regexp_namespaceObject = require("path-to-regexp");
|
|
34
35
|
const external_qs_namespaceObject = require("qs");
|
|
35
|
-
const
|
|
36
|
-
const external_transport_js_namespaceObject = require("./transport.js");
|
|
37
|
-
const external_types_js_namespaceObject = require("./types.js");
|
|
36
|
+
const external_headers_js_namespaceObject = require("./headers.js");
|
|
38
37
|
const external_utiles_js_namespaceObject = require("./utiles.js");
|
|
39
|
-
const
|
|
38
|
+
const extractPathParamNames = (path)=>Array.from(path.matchAll(/:([A-Za-z0-9_]+)/g)).flatMap(([, key])=>key ? [
|
|
39
|
+
key
|
|
40
|
+
] : []);
|
|
40
41
|
const createRequestFactory = (environment)=>{
|
|
41
42
|
const isServerTarget = 'server' === environment.target;
|
|
42
43
|
const realRequest = new Map();
|
|
43
44
|
const realAllowedHeaders = new Map();
|
|
44
|
-
const realResolveHeaders = new Map();
|
|
45
|
-
const realRequireEnvelope = new Map();
|
|
46
|
-
const realAllowCrossOriginEnvelope = new Map();
|
|
47
|
-
const realTransportResilience = new Map();
|
|
48
|
-
const realIdentityBinding = new Map();
|
|
49
|
-
const realOperationContract = new Map();
|
|
50
45
|
const domainMap = new Map();
|
|
51
|
-
const
|
|
52
|
-
const
|
|
53
|
-
if (!shouldRequireEnvelope) return;
|
|
54
|
-
headers[external_types_js_namespaceObject.BFF_ENVELOPE_HEADER] = (0, external_policyCore_js_namespaceObject.buildEnvelopeHeaderValue)({
|
|
46
|
+
const startRequest = (requestId, hooks)=>{
|
|
47
|
+
const context = {
|
|
55
48
|
requestId,
|
|
56
49
|
target: environment.target,
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
const attachSecuredOperationHeaders = (headers, requestId, method, path, operationContext)=>{
|
|
64
|
-
if (!(0, external_policyCore_js_namespaceObject.isSecuredRequestId)(requestId)) return;
|
|
65
|
-
(0, external_policyCore_js_namespaceObject.attachOperationContextHeaders)({
|
|
66
|
-
headers,
|
|
67
|
-
requestId,
|
|
68
|
-
target: environment.target,
|
|
69
|
-
method,
|
|
70
|
-
path,
|
|
71
|
-
operationContext,
|
|
72
|
-
operationContract: realOperationContract.get(requestId),
|
|
73
|
-
operationContextHeader: external_types_js_namespaceObject.BFF_OPERATION_CONTEXT_HEADER,
|
|
74
|
-
operationContextDetailHeader: OPERATION_CONTEXT_DETAIL_HEADER
|
|
75
|
-
});
|
|
50
|
+
incomingHeaders: environment.readIncomingHeaders(),
|
|
51
|
+
configured: realRequest.has(requestId),
|
|
52
|
+
configuredDomain: domainMap.get(requestId)
|
|
53
|
+
};
|
|
54
|
+
hooks?.onStart?.(context);
|
|
55
|
+
return context;
|
|
76
56
|
};
|
|
77
|
-
const
|
|
78
|
-
const
|
|
79
|
-
const identityBindingEnabled = identityBinding?.enabled ?? (0, external_policyCore_js_namespaceObject.isSecuredRequestId)(requestId);
|
|
80
|
-
const identityBindingStrict = identityBinding?.strict ?? (0, external_policyCore_js_namespaceObject.isSecuredRequestId)(requestId);
|
|
81
|
-
const protectedIdentityHeaders = (identityBinding?.protectedHeaders || external_types_js_namespaceObject.BFF_DEFAULT_PROTECTED_IDENTITY_HEADERS).map((header)=>header.toLowerCase());
|
|
82
|
-
const targetAllowedHeaders = realAllowedHeaders.get(requestId) || [];
|
|
57
|
+
const prepareHeaders = (headers, context, hooks)=>{
|
|
58
|
+
const allowedHeaders = realAllowedHeaders.get(context.requestId) || [];
|
|
83
59
|
const forwardedHeaders = {};
|
|
84
|
-
if (isServerTarget) for (const key of
|
|
85
|
-
const
|
|
86
|
-
if (void 0 !==
|
|
87
|
-
}
|
|
88
|
-
if (identityBindingEnabled) {
|
|
89
|
-
const derivedIdentityHeaders = {};
|
|
90
|
-
if (isServerTarget) for (const header of protectedIdentityHeaders){
|
|
91
|
-
const incomingHeaderValue = (0, external_policyCore_js_namespaceObject.readHeader)(incomingHeaders, header);
|
|
92
|
-
if (void 0 !== incomingHeaderValue) (0, external_policyCore_js_namespaceObject.writeHeader)(derivedIdentityHeaders, header, incomingHeaderValue);
|
|
93
|
-
}
|
|
94
|
-
const customDerivedHeaders = identityBinding?.deriveHeaders?.({
|
|
95
|
-
requestId,
|
|
96
|
-
target: environment.target,
|
|
97
|
-
incomingHeaders: isServerTarget ? {
|
|
98
|
-
...incomingHeaders
|
|
99
|
-
} : {},
|
|
100
|
-
protectedHeaders: [
|
|
101
|
-
...protectedIdentityHeaders
|
|
102
|
-
]
|
|
103
|
-
});
|
|
104
|
-
if (customDerivedHeaders && 'object' == typeof customDerivedHeaders) for (const header of protectedIdentityHeaders){
|
|
105
|
-
const customValue = (0, external_policyCore_js_namespaceObject.readHeader)(customDerivedHeaders, header);
|
|
106
|
-
if (void 0 !== customValue) (0, external_policyCore_js_namespaceObject.writeHeader)(derivedIdentityHeaders, header, customValue);
|
|
107
|
-
}
|
|
108
|
-
for (const header of protectedIdentityHeaders){
|
|
109
|
-
const attemptedValue = (0, external_policyCore_js_namespaceObject.readHeader)(headers, header);
|
|
110
|
-
if (void 0 === attemptedValue) continue;
|
|
111
|
-
const violation = {
|
|
112
|
-
requestId,
|
|
113
|
-
target: environment.target,
|
|
114
|
-
header,
|
|
115
|
-
attemptedValue,
|
|
116
|
-
derivedValue: (0, external_policyCore_js_namespaceObject.readHeader)(derivedIdentityHeaders, header),
|
|
117
|
-
reason: 'client_override_blocked'
|
|
118
|
-
};
|
|
119
|
-
identityBinding?.onViolation?.(violation);
|
|
120
|
-
if (identityBindingStrict) throw new external_policyCore_js_namespaceObject.IdentityBindingViolationError(violation);
|
|
121
|
-
(0, external_policyCore_js_namespaceObject.deleteHeader)(headers, header);
|
|
122
|
-
}
|
|
123
|
-
Object.keys(derivedIdentityHeaders).forEach((header)=>{
|
|
124
|
-
if (isServerTarget) (0, external_policyCore_js_namespaceObject.writeHeader)(forwardedHeaders, header, derivedIdentityHeaders[header]);
|
|
125
|
-
else (0, external_policyCore_js_namespaceObject.writeHeader)(headers, header, derivedIdentityHeaders[header]);
|
|
126
|
-
});
|
|
60
|
+
if (isServerTarget) for (const key of allowedHeaders){
|
|
61
|
+
const value = (0, external_headers_js_namespaceObject.readHeader)(context.incomingHeaders, key);
|
|
62
|
+
if (void 0 !== value) (0, external_headers_js_namespaceObject.writeHeader)(forwardedHeaders, key, value);
|
|
127
63
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
...forwardedHeaders
|
|
136
|
-
}
|
|
137
|
-
});
|
|
138
|
-
if (resolvedHeaders && 'object' == typeof resolvedHeaders) for (const key of targetAllowedHeaders){
|
|
139
|
-
const resolvedValue = (0, external_policyCore_js_namespaceObject.readHeader)(resolvedHeaders, key);
|
|
140
|
-
if (void 0 !== resolvedValue) {
|
|
141
|
-
if (identityBindingEnabled && protectedIdentityHeaders.includes(key.toLowerCase())) {
|
|
142
|
-
(0, external_policyCore_js_namespaceObject.writeHeader)(forwardedHeaders, key.toLowerCase(), resolvedValue);
|
|
143
|
-
continue;
|
|
144
|
-
}
|
|
145
|
-
(0, external_policyCore_js_namespaceObject.writeHeader)(forwardedHeaders, key, resolvedValue);
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
if (isServerTarget) for (const [header, value] of Object.entries(forwardedHeaders))(0, external_policyCore_js_namespaceObject.writeHeader)(headers, header, value);
|
|
64
|
+
hooks?.prepareHeaders?.({
|
|
65
|
+
...context,
|
|
66
|
+
headers,
|
|
67
|
+
forwardedHeaders,
|
|
68
|
+
allowedHeaders
|
|
69
|
+
});
|
|
70
|
+
if (isServerTarget) for (const [header, value] of Object.entries(forwardedHeaders))(0, external_headers_js_namespaceObject.writeHeader)(headers, header, value);
|
|
151
71
|
return headers;
|
|
152
72
|
};
|
|
73
|
+
const dispatch = (context, hooks)=>hooks?.dispatch ? hooks.dispatch(context) : context.fetcher(context.url, context.init);
|
|
153
74
|
const configure = (options)=>{
|
|
154
|
-
const { request, interceptor, allowedHeaders,
|
|
155
|
-
const hasExistingDomain = domainMap.has(requestId);
|
|
156
|
-
if ('default' !== requestId && !setDomain && !hasExistingDomain) throw new external_policyCore_js_namespaceObject.ProducerDomainNotConfiguredError(requestId);
|
|
75
|
+
const { request, interceptor, allowedHeaders, setDomain, requestId = 'default' } = options;
|
|
157
76
|
let configuredRequest = request || environment.originFetch;
|
|
158
77
|
if (interceptor && !request) configuredRequest = interceptor(environment.getFetch());
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
requestId
|
|
164
|
-
});
|
|
165
|
-
if ('default' !== requestId && (0, external_policyCore_js_namespaceObject.isEmptyDomain)(resolvedDomain)) throw new external_policyCore_js_namespaceObject.ProducerDomainNotConfiguredError(requestId);
|
|
166
|
-
}
|
|
78
|
+
const resolvedDomain = setDomain?.({
|
|
79
|
+
target: environment.target,
|
|
80
|
+
requestId
|
|
81
|
+
});
|
|
167
82
|
realAllowedHeaders.delete(requestId);
|
|
168
|
-
realResolveHeaders.delete(requestId);
|
|
169
|
-
realTransportResilience.delete(requestId);
|
|
170
|
-
realIdentityBinding.delete(requestId);
|
|
171
|
-
realOperationContract.delete(requestId);
|
|
172
|
-
realRequireEnvelope.delete(requestId);
|
|
173
|
-
realAllowCrossOriginEnvelope.delete(requestId);
|
|
174
83
|
if (Array.isArray(allowedHeaders)) realAllowedHeaders.set(requestId, allowedHeaders);
|
|
175
|
-
if (isServerTarget && 'function' == typeof resolveHeaders) realResolveHeaders.set(requestId, resolveHeaders);
|
|
176
|
-
if (transport && 'object' == typeof transport) realTransportResilience.set(requestId, transport);
|
|
177
|
-
if (identityBinding && 'object' == typeof identityBinding) realIdentityBinding.set(requestId, identityBinding);
|
|
178
|
-
if (operationContract && 'object' == typeof operationContract) realOperationContract.set(requestId, operationContract);
|
|
179
|
-
if ('boolean' == typeof requireEnvelope) realRequireEnvelope.set(requestId, requireEnvelope);
|
|
180
|
-
if ('boolean' == typeof allowCrossOriginEnvelope || 'function' == typeof allowCrossOriginEnvelope) realAllowCrossOriginEnvelope.set(requestId, allowCrossOriginEnvelope);
|
|
181
84
|
if ('string' == typeof resolvedDomain) domainMap.set(requestId, resolvedDomain);
|
|
182
85
|
realRequest.set(requestId, configuredRequest);
|
|
183
86
|
};
|
|
@@ -189,22 +92,21 @@ const createRequestFactory = (environment)=>{
|
|
|
189
92
|
httpMethodDecider: args[3],
|
|
190
93
|
fetch: args[4],
|
|
191
94
|
requestId: args[5],
|
|
192
|
-
|
|
95
|
+
hooks: args[6]
|
|
193
96
|
};
|
|
194
|
-
const { path, method, port, httpMethodDecider = 'functionName', fetch = environment.originFetch, domain, requestId = 'default',
|
|
97
|
+
const { path, method, port, httpMethodDecider = 'functionName', fetch = environment.originFetch, domain, requestId = 'default', hooks } = options;
|
|
195
98
|
const getFinalPath = (0, external_path_to_regexp_namespaceObject.compile)(path, {
|
|
196
99
|
encode: encodeURIComponent
|
|
197
100
|
});
|
|
198
|
-
const keyNames =
|
|
101
|
+
const keyNames = extractPathParamNames(path);
|
|
199
102
|
const send = (...senderArgs)=>{
|
|
200
|
-
const
|
|
201
|
-
const
|
|
103
|
+
const context = startRequest(requestId, hooks);
|
|
104
|
+
const fetcher = realRequest.get(requestId) || fetch;
|
|
202
105
|
let body;
|
|
203
106
|
let headers;
|
|
204
107
|
let url;
|
|
205
108
|
if ('inputParams' === httpMethodDecider) {
|
|
206
109
|
const configDomain = domainMap.get(requestId);
|
|
207
|
-
if ('default' !== requestId && (0, external_policyCore_js_namespaceObject.isEmptyDomain)(configDomain)) throw new external_policyCore_js_namespaceObject.ProducerDomainNotConfiguredError(requestId);
|
|
208
110
|
url = environment.resolveRequestUrl({
|
|
209
111
|
configDomain,
|
|
210
112
|
domain,
|
|
@@ -215,7 +117,7 @@ const createRequestFactory = (environment)=>{
|
|
|
215
117
|
headers = {
|
|
216
118
|
'Content-Type': 'application/json'
|
|
217
119
|
};
|
|
218
|
-
headers =
|
|
120
|
+
headers = prepareHeaders(headers, context, hooks);
|
|
219
121
|
} else {
|
|
220
122
|
const payload = 'object' == typeof senderArgs[senderArgs.length - 1] ? senderArgs[senderArgs.length - 1] : {};
|
|
221
123
|
payload.params = payload.params || {};
|
|
@@ -233,7 +135,7 @@ const createRequestFactory = (environment)=>{
|
|
|
233
135
|
headers = payload.headers ? {
|
|
234
136
|
...payload.headers
|
|
235
137
|
} : {};
|
|
236
|
-
headers =
|
|
138
|
+
headers = prepareHeaders(headers, context, hooks);
|
|
237
139
|
if (payload.data) {
|
|
238
140
|
headers['Content-Type'] = 'application/json';
|
|
239
141
|
body = 'object' == typeof payload.data ? JSON.stringify(payload.data) : payload.body;
|
|
@@ -246,7 +148,6 @@ const createRequestFactory = (environment)=>{
|
|
|
246
148
|
body = !isServerTarget && "u" > typeof URLSearchParams && payload.formUrlencoded instanceof URLSearchParams ? payload.formUrlencoded : 'object' == typeof payload.formUrlencoded ? (0, external_qs_namespaceObject.stringify)(payload.formUrlencoded) : payload.formUrlencoded;
|
|
247
149
|
}
|
|
248
150
|
const configDomain = domainMap.get(requestId);
|
|
249
|
-
if ('default' !== requestId && (0, external_policyCore_js_namespaceObject.isEmptyDomain)(configDomain)) throw new external_policyCore_js_namespaceObject.ProducerDomainNotConfiguredError(requestId);
|
|
250
151
|
url = environment.resolveRequestUrl({
|
|
251
152
|
configDomain,
|
|
252
153
|
domain,
|
|
@@ -254,21 +155,13 @@ const createRequestFactory = (environment)=>{
|
|
|
254
155
|
path: finalPath
|
|
255
156
|
});
|
|
256
157
|
}
|
|
257
|
-
if (!isServerTarget) (0,
|
|
258
|
-
if (isServerTarget) {
|
|
259
|
-
if (void 0 === (0, external_policyCore_js_namespaceObject.readHeader)(headers, external_policyCore_js_namespaceObject.TRACEPARENT_HEADER)) {
|
|
260
|
-
const incomingTraceparent = (0, external_policyCore_js_namespaceObject.firstHeaderValue)((0, external_policyCore_js_namespaceObject.readHeader)(incomingHeaders, external_policyCore_js_namespaceObject.TRACEPARENT_HEADER));
|
|
261
|
-
if ('string' == typeof incomingTraceparent) (0, external_policyCore_js_namespaceObject.writeHeader)(headers, external_policyCore_js_namespaceObject.TRACEPARENT_HEADER, incomingTraceparent);
|
|
262
|
-
}
|
|
263
|
-
if (void 0 === (0, external_policyCore_js_namespaceObject.readHeader)(headers, external_policyCore_js_namespaceObject.TRACEPARENT_HEADER) && operationContext?.traceparent) (0, external_policyCore_js_namespaceObject.writeHeader)(headers, external_policyCore_js_namespaceObject.TRACEPARENT_HEADER, operationContext.traceparent);
|
|
264
|
-
}
|
|
265
|
-
attachEnvelopeHeaderIfRequired(headers, requestId, url, incomingHeaders);
|
|
266
|
-
attachSecuredOperationHeaders(headers, requestId, method, path, operationContext);
|
|
158
|
+
if (!isServerTarget) (0, external_headers_js_namespaceObject.writeHeader)(headers, 'accept', "application/json,*/*;q=0.8");
|
|
267
159
|
if ('get' === method.toLowerCase()) body = void 0;
|
|
268
|
-
if (isServerTarget) (0,
|
|
269
|
-
return (
|
|
160
|
+
if (isServerTarget) (0, external_headers_js_namespaceObject.writeHeader)(headers, 'accept', "application/json,*/*;q=0.8");
|
|
161
|
+
return dispatch({
|
|
162
|
+
...context,
|
|
163
|
+
path,
|
|
270
164
|
requestId,
|
|
271
|
-
target: environment.target,
|
|
272
165
|
method,
|
|
273
166
|
url,
|
|
274
167
|
init: {
|
|
@@ -276,19 +169,19 @@ const createRequestFactory = (environment)=>{
|
|
|
276
169
|
body,
|
|
277
170
|
headers
|
|
278
171
|
},
|
|
279
|
-
fetcher: fetcher
|
|
280
|
-
|
|
281
|
-
});
|
|
172
|
+
fetcher: fetcher
|
|
173
|
+
}, hooks);
|
|
282
174
|
};
|
|
283
175
|
const sender = isServerTarget ? send : async (...senderArgs)=>send(...senderArgs);
|
|
284
176
|
return sender;
|
|
285
177
|
};
|
|
286
|
-
const createUploader = ({ path, domain, requestId = 'default',
|
|
178
|
+
const createUploader = ({ path, domain, requestId = 'default', hooks })=>{
|
|
287
179
|
const getUploadPath = isServerTarget ? void 0 : (0, external_path_to_regexp_namespaceObject.compile)(path, {
|
|
288
180
|
encode: encodeURIComponent
|
|
289
181
|
});
|
|
290
182
|
const sender = (...args)=>{
|
|
291
|
-
const
|
|
183
|
+
const context = startRequest(requestId, hooks);
|
|
184
|
+
const fetcher = realRequest.get(requestId) || environment.originFetch;
|
|
292
185
|
const { body, headers: uploadHeaders, params } = (0, external_utiles_js_namespaceObject.getUploadPayload)(args);
|
|
293
186
|
let headers = {
|
|
294
187
|
...uploadHeaders
|
|
@@ -300,13 +193,11 @@ const createRequestFactory = (environment)=>{
|
|
|
300
193
|
domain,
|
|
301
194
|
path: finalPath
|
|
302
195
|
});
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
return (0, external_transport_js_namespaceObject.executeWithResilience)({
|
|
196
|
+
headers = prepareHeaders(headers, context, hooks);
|
|
197
|
+
return dispatch({
|
|
198
|
+
...context,
|
|
199
|
+
path,
|
|
308
200
|
requestId,
|
|
309
|
-
target: environment.target,
|
|
310
201
|
method: 'POST',
|
|
311
202
|
url: finalURL,
|
|
312
203
|
init: {
|
|
@@ -314,9 +205,8 @@ const createRequestFactory = (environment)=>{
|
|
|
314
205
|
body,
|
|
315
206
|
headers
|
|
316
207
|
},
|
|
317
|
-
fetcher: fetcher
|
|
318
|
-
|
|
319
|
-
});
|
|
208
|
+
fetcher: fetcher
|
|
209
|
+
}, hooks);
|
|
320
210
|
};
|
|
321
211
|
return sender;
|
|
322
212
|
};
|
|
@@ -327,8 +217,10 @@ const createRequestFactory = (environment)=>{
|
|
|
327
217
|
};
|
|
328
218
|
};
|
|
329
219
|
exports.createRequestFactory = __webpack_exports__.createRequestFactory;
|
|
220
|
+
exports.extractPathParamNames = __webpack_exports__.extractPathParamNames;
|
|
330
221
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
331
|
-
"createRequestFactory"
|
|
222
|
+
"createRequestFactory",
|
|
223
|
+
"extractPathParamNames"
|
|
332
224
|
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
333
225
|
Object.defineProperty(exports, '__esModule', {
|
|
334
226
|
value: true
|
package/dist/cjs/types.js
CHANGED
|
@@ -1,20 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
|
-
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
-
var define = (defs, kind)=>{
|
|
6
|
-
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
[kind]: defs[key]
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
define(getters, "get");
|
|
12
|
-
define(values, "value");
|
|
13
|
-
};
|
|
14
|
-
})();
|
|
15
|
-
(()=>{
|
|
16
|
-
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
-
})();
|
|
18
3
|
(()=>{
|
|
19
4
|
__webpack_require__.r = (exports1)=>{
|
|
20
5
|
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
@@ -27,31 +12,7 @@ var __webpack_require__ = {};
|
|
|
27
12
|
})();
|
|
28
13
|
var __webpack_exports__ = {};
|
|
29
14
|
__webpack_require__.r(__webpack_exports__);
|
|
30
|
-
|
|
31
|
-
const BFF_OPERATION_CONTEXT_HEADER = 'x-operation-id';
|
|
32
|
-
const BFF_OPERATION_CONTEXT_DETAIL_HEADER = 'x-modernjs-bff-operation-context';
|
|
33
|
-
const BFF_DEFAULT_PROTECTED_IDENTITY_HEADERS = [
|
|
34
|
-
'x-tenant-id',
|
|
35
|
-
'x-subject-id',
|
|
36
|
-
'x-user-id',
|
|
37
|
-
BFF_OPERATION_CONTEXT_HEADER
|
|
38
|
-
];
|
|
39
|
-
__webpack_require__.d(__webpack_exports__, {}, {
|
|
40
|
-
BFF_DEFAULT_PROTECTED_IDENTITY_HEADERS: BFF_DEFAULT_PROTECTED_IDENTITY_HEADERS,
|
|
41
|
-
BFF_ENVELOPE_HEADER: BFF_ENVELOPE_HEADER,
|
|
42
|
-
BFF_OPERATION_CONTEXT_DETAIL_HEADER: BFF_OPERATION_CONTEXT_DETAIL_HEADER,
|
|
43
|
-
BFF_OPERATION_CONTEXT_HEADER: BFF_OPERATION_CONTEXT_HEADER
|
|
44
|
-
});
|
|
45
|
-
exports.BFF_DEFAULT_PROTECTED_IDENTITY_HEADERS = __webpack_exports__.BFF_DEFAULT_PROTECTED_IDENTITY_HEADERS;
|
|
46
|
-
exports.BFF_ENVELOPE_HEADER = __webpack_exports__.BFF_ENVELOPE_HEADER;
|
|
47
|
-
exports.BFF_OPERATION_CONTEXT_DETAIL_HEADER = __webpack_exports__.BFF_OPERATION_CONTEXT_DETAIL_HEADER;
|
|
48
|
-
exports.BFF_OPERATION_CONTEXT_HEADER = __webpack_exports__.BFF_OPERATION_CONTEXT_HEADER;
|
|
49
|
-
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
50
|
-
"BFF_DEFAULT_PROTECTED_IDENTITY_HEADERS",
|
|
51
|
-
"BFF_ENVELOPE_HEADER",
|
|
52
|
-
"BFF_OPERATION_CONTEXT_DETAIL_HEADER",
|
|
53
|
-
"BFF_OPERATION_CONTEXT_HEADER"
|
|
54
|
-
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
15
|
+
for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
55
16
|
Object.defineProperty(exports, '__esModule', {
|
|
56
17
|
value: true
|
|
57
18
|
});
|
package/dist/esm/browser.mjs
CHANGED
|
@@ -1,26 +1,21 @@
|
|
|
1
1
|
import { handleRes } from "./handleRes.mjs";
|
|
2
2
|
import { createRequestFactory } from "./requestFactory.mjs";
|
|
3
|
-
export * from "./requestContext.mjs";
|
|
4
|
-
export * from "./traceparent.mjs";
|
|
5
3
|
export * from "./types.mjs";
|
|
6
|
-
const resolveBrowserOrigin = ()=>"u" > typeof window ? window.location.origin : void 0;
|
|
7
4
|
const originFetch = (...params)=>{
|
|
8
5
|
const [url, init] = params;
|
|
9
6
|
if (init?.method?.toLowerCase() === 'get') init.body = void 0;
|
|
10
7
|
return fetch(url, init).then(handleRes);
|
|
11
8
|
};
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
})
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
export { CrossOriginEnvelopePolicyError, IdentityBindingViolationError, OperationContractViolationError, ProducerClientNotInitializedError, ProducerDomainNotConfiguredError } from "./policyCore.mjs";
|
|
26
|
-
export { configure, createRequest, createUploader };
|
|
9
|
+
const createClient = ()=>createRequestFactory({
|
|
10
|
+
target: 'browser',
|
|
11
|
+
getFetch: ()=>fetch,
|
|
12
|
+
originFetch: originFetch,
|
|
13
|
+
readIncomingHeaders: ()=>({}),
|
|
14
|
+
createInputParamsBody: (args)=>JSON.stringify({
|
|
15
|
+
args
|
|
16
|
+
}),
|
|
17
|
+
resolveRequestUrl: ({ configDomain, domain, path })=>`${configDomain || domain || ''}${path}`,
|
|
18
|
+
resolveUploadUrl: ({ configDomain, domain, path })=>`${configDomain || domain || ''}${path}`
|
|
19
|
+
});
|
|
20
|
+
const { configure: configure, createRequest: createRequest, createUploader: createUploader } = createClient();
|
|
21
|
+
export { configure, createClient, createRequest, createUploader };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const findHeaderKey = (headers, header)=>{
|
|
2
|
+
const normalized = header.toLowerCase();
|
|
3
|
+
return Object.keys(headers).find((key)=>key.toLowerCase() === normalized);
|
|
4
|
+
};
|
|
5
|
+
const readHeader = (headers, header)=>{
|
|
6
|
+
const key = findHeaderKey(headers, header);
|
|
7
|
+
return 'string' == typeof key ? headers[key] : void 0;
|
|
8
|
+
};
|
|
9
|
+
const writeHeader = (headers, header, value)=>{
|
|
10
|
+
if (void 0 === value) return;
|
|
11
|
+
const key = findHeaderKey(headers, header);
|
|
12
|
+
if ('string' == typeof key && key !== header) delete headers[key];
|
|
13
|
+
headers[header] = value;
|
|
14
|
+
};
|
|
15
|
+
export { findHeaderKey, readHeader, writeHeader };
|
package/dist/esm/node.mjs
CHANGED
|
@@ -1,20 +1,7 @@
|
|
|
1
1
|
import { storage } from "@modern-js/runtime-utils/node";
|
|
2
2
|
import { handleRes } from "./handleRes.mjs";
|
|
3
|
-
import { CrossOriginEnvelopePolicyError, IdentityBindingViolationError, OperationContractViolationError, ProducerClientNotInitializedError, ProducerDomainNotConfiguredError, firstHeaderValue, toOrigin } from "./policyCore.mjs";
|
|
4
3
|
import { createRequestFactory } from "./requestFactory.mjs";
|
|
5
|
-
export * from "./requestContext.mjs";
|
|
6
|
-
export * from "./traceparent.mjs";
|
|
7
4
|
export * from "./types.mjs";
|
|
8
|
-
const resolveSourceOrigin = (headers)=>{
|
|
9
|
-
const origin = toOrigin(firstHeaderValue(headers.origin));
|
|
10
|
-
if (origin) return origin;
|
|
11
|
-
const referer = toOrigin(firstHeaderValue(headers.referer));
|
|
12
|
-
if (referer) return referer;
|
|
13
|
-
const host = firstHeaderValue(headers.host);
|
|
14
|
-
if (!host) return;
|
|
15
|
-
const proto = firstHeaderValue(headers['x-forwarded-proto']) || 'http';
|
|
16
|
-
return `${proto}://${host}`;
|
|
17
|
-
};
|
|
18
5
|
const readIncomingWebHeaders = ()=>{
|
|
19
6
|
try {
|
|
20
7
|
return storage.useContext().headers || {};
|
|
@@ -27,15 +14,14 @@ const originFetch = (...params)=>{
|
|
|
27
14
|
if (init?.method?.toLowerCase() === 'get') init.body = void 0;
|
|
28
15
|
return fetch(...params).then(handleRes);
|
|
29
16
|
};
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
export { CrossOriginEnvelopePolicyError, IdentityBindingViolationError, OperationContractViolationError, ProducerClientNotInitializedError, ProducerDomainNotConfiguredError, configure, createRequest, createUploader };
|
|
17
|
+
const createClient = ()=>createRequestFactory({
|
|
18
|
+
target: 'server',
|
|
19
|
+
getFetch: ()=>fetch,
|
|
20
|
+
originFetch: originFetch,
|
|
21
|
+
readIncomingHeaders: readIncomingWebHeaders,
|
|
22
|
+
createInputParamsBody: (args)=>args,
|
|
23
|
+
resolveRequestUrl: ({ configDomain, path, port })=>`${configDomain || `http://127.0.0.1:${port}`}${path}`,
|
|
24
|
+
resolveUploadUrl: ({ configDomain, path })=>`${configDomain || ''}${path}`
|
|
25
|
+
});
|
|
26
|
+
const { configure: configure, createRequest: createRequest, createUploader: createUploader } = createClient();
|
|
27
|
+
export { configure, createClient, createRequest, createUploader };
|