@riddance/host 0.0.12 → 0.0.14
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/LICENSE +1 -1
- package/context.d.ts +86 -86
- package/context.js +52 -52
- package/host/context.d.ts +51 -50
- package/host/context.js +90 -90
- package/host/emitter.d.ts +13 -13
- package/host/emitter.js +68 -68
- package/host/http.d.ts +30 -30
- package/host/http.js +212 -211
- package/host/logging.d.ts +4 -4
- package/host/logging.js +191 -191
- package/host/reflect.d.ts +24 -24
- package/host/reflect.js +58 -58
- package/host/registry.d.ts +27 -26
- package/host/registry.js +73 -72
- package/http.d.ts +39 -39
- package/http.js +17 -17
- package/package.json +9 -6
package/host/http.js
CHANGED
|
@@ -1,211 +1,212 @@
|
|
|
1
|
-
import { parse } from 'node:url';
|
|
2
|
-
import { measure } from '../context.js';
|
|
3
|
-
export async function executeRequest(log, context, handler, options, success) {
|
|
4
|
-
const isShallow = context.env.SHALLOW_KEY && options.headers?.['x-shallow'] === context.env.SHALLOW_KEY;
|
|
5
|
-
const includeBodyInLogs = !handler.config?.excludeBodyFromLogs;
|
|
6
|
-
const logRequest = includeBodyInLogs
|
|
7
|
-
? { method: handler.method, ...options }
|
|
8
|
-
: withoutRequestBody({ method: handler.method, ...options });
|
|
9
|
-
log = log.enrichReserved({ meta: context.meta, request: logRequest });
|
|
10
|
-
if (isShallow) {
|
|
11
|
-
log.trace('Shallow request');
|
|
12
|
-
return {
|
|
13
|
-
headers: {},
|
|
14
|
-
status: 204,
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
log.trace('Request BEGIN');
|
|
18
|
-
try {
|
|
19
|
-
let parsedUrl;
|
|
20
|
-
let pathSteps;
|
|
21
|
-
const req = {
|
|
22
|
-
rawUrl: options.uri,
|
|
23
|
-
get url() {
|
|
24
|
-
return (parsedUrl ??= {
|
|
25
|
-
...parse(this.rawUrl, true),
|
|
26
|
-
pathStepAt: (index) => {
|
|
27
|
-
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
log.
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
headers['
|
|
206
|
-
headers['
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
}
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImh0dHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBc0IsTUFBTSxVQUFVLENBQUE7QUFDcEQsT0FBTyxFQUFXLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQTBCaEQsTUFBTSxDQUFDLEtBQUssVUFBVSxjQUFjLENBQ2hDLEdBQWUsRUFDZixPQUE2QixFQUM3QixPQUFvQixFQUNwQixPQUF1QixFQUN2QixPQUErQjtJQUUvQixNQUFNLFNBQVMsR0FDWCxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDLEtBQUssT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUE7SUFDekYsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsbUJBQW1CLENBQUE7SUFDOUQsTUFBTSxVQUFVLEdBQUcsaUJBQWlCO1FBQ2hDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsT0FBTyxFQUFFO1FBQ3hDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUNoRSxHQUFHLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFBO0lBQ3JFLElBQUksU0FBUyxFQUFFO1FBQ1gsR0FBRyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQzVCLE9BQU87WUFDSCxPQUFPLEVBQUUsRUFBRTtZQUNYLE1BQU0sRUFBRSxHQUFHO1NBQ2QsQ0FBQTtLQUNKO0lBQ0QsR0FBRyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUMx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RUQsTUFBTSxVQUFVLGlCQUFpQixDQUM3QixPQUF1RDtJQUV2RCxJQUFJLENBQUMsT0FBTyxFQUFFO1FBQ1YsT0FBTyxFQUFFLENBQUE7S0FDWjtJQUNELE9BQU87UUFDSCxXQUFXLEVBQUUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUM7UUFDN0QsUUFBUSxFQUNKLE9BQU8sQ0FBQyxhQUFhLENBQUM7WUFDdEIsT0FBTyxDQUFDLG1CQUFtQixDQUFDO1lBQzVCLE9BQU8sQ0FBQyxXQUFXLENBQUM7WUFDcEIsT0FBTyxDQUFDLGlCQUFpQixDQUFDO1FBQzlCLFFBQVEsRUFBRSxPQUFPLENBQUMsaUJBQWlCLENBQUM7UUFDcEMsU0FBUyxFQUFFLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUM7S0FDNUUsQ0FBQTtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwYXJzZSwgVXJsV2l0aFBhcnNlZFF1ZXJ5IH0gZnJvbSAnbm9kZTp1cmwnXG5pbXBvcnQgeyBDb250ZXh0LCBtZWFzdXJlIH0gZnJvbSAnLi4vY29udGV4dC5qcydcbmltcG9ydCB0eXBlIHsgSnNvbiwgUmVzcG9uc2VIZWFkZXJzLCBSZXN1bHQgfSBmcm9tICcuLi9odHRwLmpzJ1xuaW1wb3J0IHsgQ2xpZW50SW5mbywgUm9vdExvZ2dlciB9IGZyb20gJy4vY29udGV4dC5qcydcbmltcG9ydCB0eXBlIHsgSHR0cEhhbmRsZXIgfSBmcm9tICcuL3JlZ2lzdHJ5LmpzJ1xuXG5leHBvcnQgdHlwZSBSZXNwb25zZSA9IHtcbiAgICBoZWFkZXJzOiB7IHJlYWRvbmx5IFtrZXk6IHN0cmluZ106IHN0cmluZyB9XG4gICAgc3RhdHVzOiBudW1iZXJcbiAgICBib2R5Pzogc3RyaW5nIHwgQnVmZmVyXG59XG5cbnR5cGUgUmVxdWVzdE9wdGlvbnMgPSBCb2R5bGVzc1JlcXVlc3RPcHRpb25zIHwgU3RyaW5nUmVxdWVzdE9wdGlvbnMgfCBKc29uUmVxdWVzdE9wdGlvbnNcblxudHlwZSBCb2R5bGVzc1JlcXVlc3RPcHRpb25zID0ge1xuICAgIHVyaTogc3RyaW5nXG4gICAgaGVhZGVycz86IHsgcmVhZG9ubHkgW2tleTogc3RyaW5nXTogc3RyaW5nIH1cbn1cblxudHlwZSBTdHJpbmdSZXF1ZXN0T3B0aW9ucyA9IEJvZHlsZXNzUmVxdWVzdE9wdGlvbnMgJiB7XG4gICAgYm9keTogc3RyaW5nXG59XG5cbnR5cGUgSnNvblJlcXVlc3RPcHRpb25zID0gQm9keWxlc3NSZXF1ZXN0T3B0aW9ucyAmIHtcbiAgICBqc29uOiBKc29uXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBleGVjdXRlUmVxdWVzdChcbiAgICBsb2c6IFJvb3RMb2dnZXIsXG4gICAgY29udGV4dDogT21pdDxDb250ZXh0LCAnbG9nJz4sXG4gICAgaGFuZGxlcjogSHR0cEhhbmRsZXIsXG4gICAgb3B0aW9uczogUmVxdWVzdE9wdGlvbnMsXG4gICAgc3VjY2VzczogKCkgPT4gUHJvbWlzZTx1bmtub3duPixcbik6IFByb21pc2U8UmVzcG9uc2U+IHtcbiAgICBjb25zdCBpc1NoYWxsb3cgPVxuICAgICAgICBjb250ZXh0LmVudi5TSEFMTE9XX0tFWSAmJiBvcHRpb25zLmhlYWRlcnM/LlsneC1zaGFsbG93J10gPT09IGNvbnRleHQuZW52LlNIQUxMT1dfS0VZXG4gICAgY29uc3QgaW5jbHVkZUJvZHlJbkxvZ3MgPSAhaGFuZGxlci5jb25maWc/LmV4Y2x1ZGVCb2R5RnJvbUxvZ3NcbiAgICBjb25zdCBsb2dSZXF1ZXN0ID0gaW5jbHVkZUJvZHlJbkxvZ3NcbiAgICAgICAgPyB7IG1ldGhvZDogaGFuZGxlci5tZXRob2QsIC4uLm9wdGlvbnMgfVxuICAgICAgICA6IHdpdGhvdXRSZXF1ZXN0Qm9keSh7IG1ldGhvZDogaGFuZGxlci5tZXRob2QsIC4uLm9wdGlvbnMgfSlcbiAgICBsb2cgPSBsb2cuZW5yaWNoUmVzZXJ2ZWQoeyBtZXRhOiBjb250ZXh0Lm1ldGEsIHJlcXVlc3Q6IGxvZ1JlcXVlc3QgfSlcbiAgICBpZiAoaXNTaGFsbG93KSB7XG4gICAgICAgIGxvZy50cmFjZSgnU2hhbGxvdyByZXF1ZXN0JylcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHt9LFxuICAgICAgICAgICAgc3RhdHVzOiAyMDQsXG4gICAgICAgIH1cbiAgICB9XG4gICAgbG9nLnRyYWNlKCdSZXF1ZXN0IEJFR0lOJylcbiAgICB0cnkge1xuICAgICAgICBsZXQgcGFyc2VkVXJsOiBVcmxXaXRoUGFyc2VkUXVlcnkgJiB7IHBhdGhTdGVwQXQ6IChpbmRleDogbnVtYmVyKSA9PiBzdHJpbmcgfVxuICAgICAgICBsZXQgcGF0aFN0ZXBzOiBzdHJpbmdbXVxuICAgICAgICBjb25zdCByZXEgPSB7XG4gICAgICAgICAgICByYXdVcmw6IG9wdGlvbnMudXJpLFxuICAgICAgICAgICAgZ2V0IHVybCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKHBhcnNlZFVybCA/Pz0ge1xuICAgICAgICAgICAgICAgICAgICAuLi5wYXJzZSh0aGlzLnJhd1VybCwgdHJ1ZSksXG4gICAgICAgICAgICAgICAgICAgIHBhdGhTdGVwQXQ6IChpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGVwcyA9IChwYXRoU3RlcHMgPz89IHBhcnNlZFVybC5wYXRobmFtZT8uc3BsaXQoJy8nKSA/PyBbXSlcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0ZXAgPSBzdGVwc1tpbmRleCArIDFdXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXN0ZXApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcihgUGF0aCBkb2VzIG5vdCBoYXZlIGEgc3RlcCBhdCBpbmRleCAke2luZGV4fS5gKVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN0ZXBcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGJvZHk6IHJlcXVlc3RCb2R5KG9wdGlvbnMpLFxuICAgICAgICAgICAgaGVhZGVyczogb3B0aW9ucy5oZWFkZXJzID8/IHt9LFxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgbWVhc3VyZShsb2csICdleGVjdXRpb24nLCAoKSA9PlxuICAgICAgICAgICAgaGFuZGxlci5lbnRyeSh7IC4uLmNvbnRleHQsIGxvZyB9LCByZXEpLFxuICAgICAgICApXG5cbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSByZXN1bHRUb1Jlc3BvbnNlKHJlc3VsdCwgaW5jbHVkZUJvZHlJbkxvZ3MpXG5cbiAgICAgICAgaWYgKGNvbnRleHQuc2lnbmFsLmFib3J0ZWQpIHtcbiAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMgPSB7XG4gICAgICAgICAgICAgICAgJ3gtdGltZW91dCc6ICcxJyxcbiAgICAgICAgICAgICAgICAuLi5yZXNwb25zZS5oZWFkZXJzLFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbG9nID0gbG9nLmVucmljaFJlc2VydmVkKHtcbiAgICAgICAgICAgIHJlc3BvbnNlOiB7XG4gICAgICAgICAgICAgICAgc3RhdHVzOiByZXNwb25zZS5zdGF0dXMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogcmVzcG9uc2UuaGVhZGVycyxcbiAgICAgICAgICAgICAgICBib2R5OiByZXNwb25zZS5sb2dCb2R5LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA8IDMwMCkge1xuICAgICAgICAgICAgbG9nLmRlYnVnKCdSZXF1ZXN0IEVORCcpXG4gICAgICAgICAgICBhd2FpdCBzdWNjZXNzKClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxvZy53YXJuKCdSZXF1ZXN0IEVORCcpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBlcnJvclRvUmVzcG9uc2UoZSlcbiAgICAgICAgICAgIGxvZyA9IGxvZy5lbnJpY2hSZXNlcnZlZCh7IHJlc3BvbnNlIH0pXG4gICAgICAgICAgICBsb2cuZXJyb3IoJ1JlcXVlc3QgRU5EJywgZSlcbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZVxuICAgICAgICB9IGNhdGNoIChjb252ZXJ0RXJyb3IpIHtcbiAgICAgICAgICAgIGxvZy5lcnJvcignQ291bGQgbm90IGNvbnZlcnQgZXhjZXB0aW9uIHRvIGVycm9yIHJlc3BvbnNlLicsIGNvbnZlcnRFcnJvcilcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaGVhZGVyczoge30sXG4gICAgICAgICAgICAgICAgc3RhdHVzOiA1MDAsXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmZ1bmN0aW9uIHJlc3VsdFRvUmVzcG9uc2UocmVzdWx0OiBSZXN1bHQsIHdpdGhMb2dCb2R5OiBib29sZWFuKTogUmVzcG9uc2UgJiB7IGxvZ0JvZHk/OiB1bmtub3duIH0ge1xuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBoZWFkZXJzOiB7fSxcbiAgICAgICAgICAgIHN0YXR1czogMjA0LFxuICAgICAgICB9XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgcmVzdWx0ID09PSAnc3RyaW5nJykge1xuICAgICAgICBjb25zdCBsb2dCb2R5ID0gd2l0aExvZ0JvZHkgPyByZXN1bHQgOiB1bmRlZmluZWRcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAnY29udGVudC10eXBlJzogJ3RleHQvcGxhaW4nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN0YXR1czogMjAwLFxuICAgICAgICAgICAgYm9keTogcmVzdWx0LFxuICAgICAgICAgICAgbG9nQm9keSxcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChyZXN1bHQuYm9keSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHJlc3VsdC5oZWFkZXJzID8/IHt9LFxuICAgICAgICAgICAgICAgIHN0YXR1czogcmVzdWx0LnN0YXR1cyA/PyAyMDAsXG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHJlc3VsdC5ib2R5ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgY29uc3QgbG9nQm9keSA9IHdpdGhMb2dCb2R5ID8gcmVzdWx0LmJvZHkgOiB1bmRlZmluZWRcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaGVhZGVyczogd2l0aENvbnRlbnRUeXBlKHJlc3VsdC5oZWFkZXJzLCAndGV4dC9wbGFpbicpLFxuICAgICAgICAgICAgICAgIHN0YXR1czogcmVzdWx0LnN0YXR1cyA/PyAyMDAsXG4gICAgICAgICAgICAgICAgYm9keTogcmVzdWx0LmJvZHksXG4gICAgICAgICAgICAgICAgbG9nQm9keSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChCdWZmZXIuaXNCdWZmZXIocmVzdWx0LmJvZHkpKSB7XG4gICAgICAgICAgICBjb25zdCBsb2dCb2R5ID0gd2l0aExvZ0JvZHkgPyByZXN1bHQuYm9keS50b1N0cmluZygnYmFzZTY0JykgOiB1bmRlZmluZWRcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaGVhZGVyczogd2l0aENvbnRlbnRUeXBlKHJlc3VsdC5oZWFkZXJzLCAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJyksXG4gICAgICAgICAgICAgICAgc3RhdHVzOiByZXN1bHQuc3RhdHVzID8/IDIwMCxcbiAgICAgICAgICAgICAgICBib2R5OiByZXN1bHQuYm9keSxcbiAgICAgICAgICAgICAgICBsb2dCb2R5LFxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgbG9nQm9keSA9IHdpdGhMb2dCb2R5ID8gcmVzdWx0LmJvZHkgOiB1bmRlZmluZWRcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaGVhZGVyczogd2l0aENvbnRlbnRUeXBlKHJlc3VsdC5oZWFkZXJzLCAnYXBwbGljYXRpb24vanNvbicpLFxuICAgICAgICAgICAgICAgIHN0YXR1czogcmVzdWx0LnN0YXR1cyA/PyAyMDAsXG4gICAgICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkocmVzdWx0LmJvZHkpLFxuICAgICAgICAgICAgICAgIGxvZ0JvZHksXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmZ1bmN0aW9uIHdpdGhvdXRSZXF1ZXN0Qm9keShvcHRpb25zOiBSZXF1ZXN0T3B0aW9ucyAmIHsgbWV0aG9kOiBzdHJpbmcgfSkge1xuICAgIGlmIChoYXNKc29uQm9keShvcHRpb25zKSkge1xuICAgICAgICBjb25zdCB7IGpzb24sIC4uLmJvZHlsZXNzIH0gPSBvcHRpb25zXG4gICAgICAgIHJldHVybiBib2R5bGVzc1xuICAgIH1cbiAgICBpZiAoaGFzU3RyaW5nQm9keShvcHRpb25zKSkge1xuICAgICAgICBjb25zdCB7IGJvZHksIC4uLmJvZHlsZXNzIH0gPSBvcHRpb25zXG4gICAgICAgIHJldHVybiBib2R5bGVzc1xuICAgIH1cbiAgICByZXR1cm4gb3B0aW9uc1xufVxuXG5mdW5jdGlvbiByZXF1ZXN0Qm9keShvcHRpb25zOiBSZXF1ZXN0T3B0aW9ucyk6IEpzb24gfCBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmIChoYXNKc29uQm9keShvcHRpb25zKSkge1xuICAgICAgICByZXR1cm4gb3B0aW9ucy5qc29uXG4gICAgfVxuICAgIGlmIChoYXNTdHJpbmdCb2R5KG9wdGlvbnMpKSB7XG4gICAgICAgIHJldHVybiBvcHRpb25zLmJvZHlcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZFxufVxuXG5mdW5jdGlvbiBoYXNKc29uQm9keShvcHRpb25zOiBSZXF1ZXN0T3B0aW9ucyk6IG9wdGlvbnMgaXMgSnNvblJlcXVlc3RPcHRpb25zIHtcbiAgICByZXR1cm4gKG9wdGlvbnMgYXMgeyBqc29uPzogdW5rbm93biB9KS5qc29uICE9PSB1bmRlZmluZWRcbn1cblxuZnVuY3Rpb24gaGFzU3RyaW5nQm9keShvcHRpb25zOiBSZXF1ZXN0T3B0aW9ucyk6IG9wdGlvbnMgaXMgU3RyaW5nUmVxdWVzdE9wdGlvbnMge1xuICAgIHJldHVybiAob3B0aW9ucyBhcyB7IGJvZHk/OiB1bmtub3duIH0pLmJvZHkgIT09IHVuZGVmaW5lZFxufVxuXG5mdW5jdGlvbiB3aXRoQ29udGVudFR5cGUoaGVhZGVyczogUmVzcG9uc2VIZWFkZXJzIHwgdW5kZWZpbmVkLCBjb250ZW50VHlwZTogc3RyaW5nKSB7XG4gICAgaWYgKCFoZWFkZXJzKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAnY29udGVudC10eXBlJzogY29udGVudFR5cGUsXG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKCFoZWFkZXJzWydjb250ZW50LXR5cGUnXSkge1xuICAgICAgICBoZWFkZXJzWydjb250ZW50LXR5cGUnXSA9IGNvbnRlbnRUeXBlXG4gICAgfVxuICAgIHJldHVybiBoZWFkZXJzXG59XG5cbmZ1bmN0aW9uIGVycm9yVG9SZXNwb25zZShlOiB1bmtub3duKTogUmVzcG9uc2Uge1xuICAgIGNvbnN0IHsgYm9keSwgc3RhdHVzQ29kZTogc3RhdHVzIH0gPSBlIGFzIHsgYm9keT86IHVua25vd247IHN0YXR1c0NvZGU/OiBudW1iZXIgfVxuICAgIGlmICh0eXBlb2YgYm9keSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAnY29udGVudC10eXBlJzogJ3RleHQvcGxhaW4nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN0YXR1czogc3RhdHVzID8/IDUwMCxcbiAgICAgICAgICAgIGJvZHksXG4gICAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBib2R5ID09PSAnb2JqZWN0Jykge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICdjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3RhdHVzOiBzdGF0dXMgPz8gNTAwLFxuICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoYm9keSksXG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaGVhZGVyczoge30sXG4gICAgICAgICAgICBzdGF0dXM6IHN0YXR1cyA/PyA1MDAsXG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGllbnRGcm9tSGVhZGVycyhcbiAgICBoZWFkZXJzOiB7IHJlYWRvbmx5IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHwgdW5kZWZpbmVkLFxuKTogQ2xpZW50SW5mbyB7XG4gICAgaWYgKCFoZWFkZXJzKSB7XG4gICAgICAgIHJldHVybiB7fVxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBvcGVyYXRpb25JZDogaGVhZGVyc1sneC1yZXF1ZXN0LWlkJ10gPz8gaGVhZGVyc1sncmVxdWVzdC1pZCddLFxuICAgICAgICBjbGllbnRJZDpcbiAgICAgICAgICAgIGhlYWRlcnNbJ3gtY2xpZW50LWlkJ10gPz9cbiAgICAgICAgICAgIGhlYWRlcnNbJ3gtaW5zdGFsbGF0aW9uLWlkJ10gPz9cbiAgICAgICAgICAgIGhlYWRlcnNbJ2NsaWVudC1pZCddID8/XG4gICAgICAgICAgICBoZWFkZXJzWydpbnN0YWxsYXRpb24taWQnXSxcbiAgICAgICAgY2xpZW50SXA6IGhlYWRlcnNbJ3gtZm9yd2FyZGVkLWZvciddLFxuICAgICAgICB1c2VyQWdlbnQ6IGhlYWRlcnNbJ3gtZm9yd2FyZGVkLWZvci11c2VyLWFnZW50J10gPz8gaGVhZGVyc1sndXNlci1hZ2VudCddLFxuICAgIH1cbn1cbiJdfQ==
|
|
1
|
+
import { parse } from 'node:url';
|
|
2
|
+
import { measure } from '../context.js';
|
|
3
|
+
export async function executeRequest(log, context, handler, options, success) {
|
|
4
|
+
const isShallow = context.env.SHALLOW_KEY && options.headers?.['x-shallow'] === context.env.SHALLOW_KEY;
|
|
5
|
+
const includeBodyInLogs = !handler.config?.excludeBodyFromLogs;
|
|
6
|
+
const logRequest = includeBodyInLogs
|
|
7
|
+
? { method: handler.method, ...options }
|
|
8
|
+
: withoutRequestBody({ method: handler.method, ...options });
|
|
9
|
+
log = log.enrichReserved({ meta: context.meta, request: logRequest });
|
|
10
|
+
if (isShallow) {
|
|
11
|
+
log.trace('Shallow request');
|
|
12
|
+
return {
|
|
13
|
+
headers: {},
|
|
14
|
+
status: 204,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
log.trace('Request BEGIN');
|
|
18
|
+
try {
|
|
19
|
+
let parsedUrl;
|
|
20
|
+
let pathSteps;
|
|
21
|
+
const req = {
|
|
22
|
+
rawUrl: options.uri,
|
|
23
|
+
get url() {
|
|
24
|
+
return (parsedUrl ??= {
|
|
25
|
+
...parse(this.rawUrl, true),
|
|
26
|
+
pathStepAt: (index) => {
|
|
27
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
28
|
+
const steps = (pathSteps ??= parsedUrl.pathname?.split('/') ?? []);
|
|
29
|
+
const step = steps[index + 1];
|
|
30
|
+
if (!step) {
|
|
31
|
+
throw new RangeError(`Path does not have a step at index ${index}.`);
|
|
32
|
+
}
|
|
33
|
+
return step;
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
},
|
|
37
|
+
body: requestBody(options),
|
|
38
|
+
headers: options.headers ?? {},
|
|
39
|
+
};
|
|
40
|
+
const result = await measure(log, 'execution', () => handler.entry({ ...context, log }, req));
|
|
41
|
+
const response = resultToResponse(result, includeBodyInLogs);
|
|
42
|
+
if (context.signal.aborted) {
|
|
43
|
+
response.headers = {
|
|
44
|
+
'x-timeout': '1',
|
|
45
|
+
...response.headers,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
log = log.enrichReserved({
|
|
49
|
+
response: {
|
|
50
|
+
status: response.status,
|
|
51
|
+
headers: response.headers,
|
|
52
|
+
body: response.logBody,
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
if (response.status < 300) {
|
|
56
|
+
log.debug('Request END');
|
|
57
|
+
await success();
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
log.warn('Request END');
|
|
61
|
+
}
|
|
62
|
+
return response;
|
|
63
|
+
}
|
|
64
|
+
catch (e) {
|
|
65
|
+
try {
|
|
66
|
+
const response = errorToResponse(e);
|
|
67
|
+
log = log.enrichReserved({ response });
|
|
68
|
+
log.error('Request END', e);
|
|
69
|
+
return response;
|
|
70
|
+
}
|
|
71
|
+
catch (convertError) {
|
|
72
|
+
log.error('Could not convert exception to error response.', convertError);
|
|
73
|
+
return {
|
|
74
|
+
headers: {},
|
|
75
|
+
status: 500,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
function resultToResponse(result, withLogBody) {
|
|
81
|
+
if (!result) {
|
|
82
|
+
return {
|
|
83
|
+
headers: {},
|
|
84
|
+
status: 204,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
else if (typeof result === 'string') {
|
|
88
|
+
const logBody = withLogBody ? result : undefined;
|
|
89
|
+
return {
|
|
90
|
+
headers: {
|
|
91
|
+
'content-type': 'text/plain',
|
|
92
|
+
},
|
|
93
|
+
status: 200,
|
|
94
|
+
body: result,
|
|
95
|
+
logBody,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
if (result.body === undefined) {
|
|
100
|
+
return {
|
|
101
|
+
headers: result.headers ?? {},
|
|
102
|
+
status: result.status ?? 200,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
else if (typeof result.body === 'string') {
|
|
106
|
+
const logBody = withLogBody ? result.body : undefined;
|
|
107
|
+
return {
|
|
108
|
+
headers: withContentType(result.headers, 'text/plain'),
|
|
109
|
+
status: result.status ?? 200,
|
|
110
|
+
body: result.body,
|
|
111
|
+
logBody,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
else if (Buffer.isBuffer(result.body)) {
|
|
115
|
+
const logBody = withLogBody ? result.body.toString('base64') : undefined;
|
|
116
|
+
return {
|
|
117
|
+
headers: withContentType(result.headers, 'application/octet-stream'),
|
|
118
|
+
status: result.status ?? 200,
|
|
119
|
+
body: result.body,
|
|
120
|
+
logBody,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
const logBody = withLogBody ? result.body : undefined;
|
|
125
|
+
return {
|
|
126
|
+
headers: withContentType(result.headers, 'application/json'),
|
|
127
|
+
status: result.status ?? 200,
|
|
128
|
+
body: JSON.stringify(result.body),
|
|
129
|
+
logBody,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
function withoutRequestBody(options) {
|
|
135
|
+
if (hasJsonBody(options)) {
|
|
136
|
+
const { json, ...bodyless } = options;
|
|
137
|
+
return bodyless;
|
|
138
|
+
}
|
|
139
|
+
if (hasStringBody(options)) {
|
|
140
|
+
const { body, ...bodyless } = options;
|
|
141
|
+
return bodyless;
|
|
142
|
+
}
|
|
143
|
+
return options;
|
|
144
|
+
}
|
|
145
|
+
function requestBody(options) {
|
|
146
|
+
if (hasJsonBody(options)) {
|
|
147
|
+
return options.json;
|
|
148
|
+
}
|
|
149
|
+
if (hasStringBody(options)) {
|
|
150
|
+
return options.body;
|
|
151
|
+
}
|
|
152
|
+
return undefined;
|
|
153
|
+
}
|
|
154
|
+
function hasJsonBody(options) {
|
|
155
|
+
return options.json !== undefined;
|
|
156
|
+
}
|
|
157
|
+
function hasStringBody(options) {
|
|
158
|
+
return options.body !== undefined;
|
|
159
|
+
}
|
|
160
|
+
function withContentType(headers, contentType) {
|
|
161
|
+
if (!headers) {
|
|
162
|
+
return {
|
|
163
|
+
'content-type': contentType,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
if (!headers['content-type']) {
|
|
167
|
+
headers['content-type'] = contentType;
|
|
168
|
+
}
|
|
169
|
+
return headers;
|
|
170
|
+
}
|
|
171
|
+
function errorToResponse(e) {
|
|
172
|
+
const { body, statusCode: status } = e;
|
|
173
|
+
if (typeof body === 'string') {
|
|
174
|
+
return {
|
|
175
|
+
headers: {
|
|
176
|
+
'content-type': 'text/plain',
|
|
177
|
+
},
|
|
178
|
+
status: status ?? 500,
|
|
179
|
+
body,
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
else if (typeof body === 'object') {
|
|
183
|
+
return {
|
|
184
|
+
headers: {
|
|
185
|
+
'content-type': 'application/json',
|
|
186
|
+
},
|
|
187
|
+
status: status ?? 500,
|
|
188
|
+
body: JSON.stringify(body),
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
return {
|
|
193
|
+
headers: {},
|
|
194
|
+
status: status ?? 500,
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
export function clientFromHeaders(headers) {
|
|
199
|
+
if (!headers) {
|
|
200
|
+
return {};
|
|
201
|
+
}
|
|
202
|
+
return {
|
|
203
|
+
operationId: headers['x-request-id'] ?? headers['request-id'],
|
|
204
|
+
clientId: headers['x-client-id'] ??
|
|
205
|
+
headers['x-installation-id'] ??
|
|
206
|
+
headers['client-id'] ??
|
|
207
|
+
headers['installation-id'],
|
|
208
|
+
clientIp: headers['x-forwarded-for'],
|
|
209
|
+
userAgent: headers['x-forwarded-for-user-agent'] ?? headers['user-agent'],
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImh0dHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBc0IsTUFBTSxVQUFVLENBQUE7QUFDcEQsT0FBTyxFQUFXLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQTBCaEQsTUFBTSxDQUFDLEtBQUssVUFBVSxjQUFjLENBQ2hDLEdBQWUsRUFDZixPQUE2QixFQUM3QixPQUFvQixFQUNwQixPQUF1QixFQUN2QixPQUErQjtJQUUvQixNQUFNLFNBQVMsR0FDWCxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDLEtBQUssT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUE7SUFDekYsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsbUJBQW1CLENBQUE7SUFDOUQsTUFBTSxVQUFVLEdBQUcsaUJBQWlCO1FBQ2hDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsT0FBTyxFQUFFO1FBQ3hDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUNoRSxHQUFHLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFBO0lBQ3JFLElBQUksU0FBUyxFQUFFLENBQUM7UUFDWixHQUFHLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFDNUIsT0FBTztZQUNILE9BQU8sRUFBRSxFQUFFO1lBQ1gsTUFBTSxFQUFFLEdBQUc7U0FDZCxDQUFBO0lBQ0wsQ0FBQztJQUNELEdBQUcsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFD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QUFFLENBQUM7UUFDbEMsT0FBTztZQUNILE9BQU8sRUFBRTtnQkFDTCxjQUFjLEVBQUUsa0JBQWtCO2FBQ3JDO1lBQ0QsTUFBTSxFQUFFLE1BQU0sSUFBSSxHQUFHO1lBQ3JCLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztTQUM3QixDQUFBO0lBQ0wsQ0FBQztTQUFNLENBQUM7UUFDSixPQUFPO1lBQ0gsT0FBTyxFQUFFLEVBQUU7WUFDWCxNQUFNLEVBQUUsTUFBTSxJQUFJLEdBQUc7U0FDeEIsQ0FBQTtJQUNMLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUM3QixPQUF1RDtJQUV2RCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDWCxPQUFPLEVBQUUsQ0FBQTtJQUNiLENBQUM7SUFDRCxPQUFPO1FBQ0gsV0FBVyxFQUFFLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDO1FBQzdELFFBQVEsRUFDSixPQUFPLENBQUMsYUFBYSxDQUFDO1lBQ3RCLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztZQUM1QixPQUFPLENBQUMsV0FBVyxDQUFDO1lBQ3BCLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztRQUM5QixRQUFRLEVBQUUsT0FBTyxDQUFDLGlCQUFpQixDQUFDO1FBQ3BDLFNBQVMsRUFBRSxPQUFPLENBQUMsNEJBQTRCLENBQUMsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDO0tBQzVFLENBQUE7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGFyc2UsIFVybFdpdGhQYXJzZWRRdWVyeSB9IGZyb20gJ25vZGU6dXJsJ1xuaW1wb3J0IHsgQ29udGV4dCwgbWVhc3VyZSB9IGZyb20gJy4uL2NvbnRleHQuanMnXG5pbXBvcnQgdHlwZSB7IEpzb24sIFJlc3BvbnNlSGVhZGVycywgUmVzdWx0IH0gZnJvbSAnLi4vaHR0cC5qcydcbmltcG9ydCB7IENsaWVudEluZm8sIFJvb3RMb2dnZXIgfSBmcm9tICcuL2NvbnRleHQuanMnXG5pbXBvcnQgdHlwZSB7IEh0dHBIYW5kbGVyIH0gZnJvbSAnLi9yZWdpc3RyeS5qcydcblxuZXhwb3J0IHR5cGUgUmVzcG9uc2UgPSB7XG4gICAgaGVhZGVyczogeyByZWFkb25seSBba2V5OiBzdHJpbmddOiBzdHJpbmcgfVxuICAgIHN0YXR1czogbnVtYmVyXG4gICAgYm9keT86IHN0cmluZyB8IEJ1ZmZlclxufVxuXG50eXBlIFJlcXVlc3RPcHRpb25zID0gQm9keWxlc3NSZXF1ZXN0T3B0aW9ucyB8IFN0cmluZ1JlcXVlc3RPcHRpb25zIHwgSnNvblJlcXVlc3RPcHRpb25zXG5cbnR5cGUgQm9keWxlc3NSZXF1ZXN0T3B0aW9ucyA9IHtcbiAgICB1cmk6IHN0cmluZ1xuICAgIGhlYWRlcnM/OiB7IHJlYWRvbmx5IFtrZXk6IHN0cmluZ106IHN0cmluZyB9XG59XG5cbnR5cGUgU3RyaW5nUmVxdWVzdE9wdGlvbnMgPSBCb2R5bGVzc1JlcXVlc3RPcHRpb25zICYge1xuICAgIGJvZHk6IHN0cmluZ1xufVxuXG50eXBlIEpzb25SZXF1ZXN0T3B0aW9ucyA9IEJvZHlsZXNzUmVxdWVzdE9wdGlvbnMgJiB7XG4gICAganNvbjogSnNvblxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZXhlY3V0ZVJlcXVlc3QoXG4gICAgbG9nOiBSb290TG9nZ2VyLFxuICAgIGNvbnRleHQ6IE9taXQ8Q29udGV4dCwgJ2xvZyc+LFxuICAgIGhhbmRsZXI6IEh0dHBIYW5kbGVyLFxuICAgIG9wdGlvbnM6IFJlcXVlc3RPcHRpb25zLFxuICAgIHN1Y2Nlc3M6ICgpID0+IFByb21pc2U8dW5rbm93bj4sXG4pOiBQcm9taXNlPFJlc3BvbnNlPiB7XG4gICAgY29uc3QgaXNTaGFsbG93ID1cbiAgICAgICAgY29udGV4dC5lbnYuU0hBTExPV19LRVkgJiYgb3B0aW9ucy5oZWFkZXJzPy5bJ3gtc2hhbGxvdyddID09PSBjb250ZXh0LmVudi5TSEFMTE9XX0tFWVxuICAgIGNvbnN0IGluY2x1ZGVCb2R5SW5Mb2dzID0gIWhhbmRsZXIuY29uZmlnPy5leGNsdWRlQm9keUZyb21Mb2dzXG4gICAgY29uc3QgbG9nUmVxdWVzdCA9IGluY2x1ZGVCb2R5SW5Mb2dzXG4gICAgICAgID8geyBtZXRob2Q6IGhhbmRsZXIubWV0aG9kLCAuLi5vcHRpb25zIH1cbiAgICAgICAgOiB3aXRob3V0UmVxdWVzdEJvZHkoeyBtZXRob2Q6IGhhbmRsZXIubWV0aG9kLCAuLi5vcHRpb25zIH0pXG4gICAgbG9nID0gbG9nLmVucmljaFJlc2VydmVkKHsgbWV0YTogY29udGV4dC5tZXRhLCByZXF1ZXN0OiBsb2dSZXF1ZXN0IH0pXG4gICAgaWYgKGlzU2hhbGxvdykge1xuICAgICAgICBsb2cudHJhY2UoJ1NoYWxsb3cgcmVxdWVzdCcpXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBoZWFkZXJzOiB7fSxcbiAgICAgICAgICAgIHN0YXR1czogMjA0LFxuICAgICAgICB9XG4gICAgfVxuICAgIGxvZy50cmFjZSgnUmVxdWVzdCBCRUdJTicpXG4gICAgdHJ5IHtcbiAgICAgICAgbGV0IHBhcnNlZFVybDogKFVybFdpdGhQYXJzZWRRdWVyeSAmIHsgcGF0aFN0ZXBBdDogKGluZGV4OiBudW1iZXIpID0+IHN0cmluZyB9KSB8IHVuZGVmaW5lZFxuICAgICAgICBsZXQgcGF0aFN0ZXBzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZFxuICAgICAgICBjb25zdCByZXEgPSB7XG4gICAgICAgICAgICByYXdVcmw6IG9wdGlvbnMudXJpLFxuICAgICAgICAgICAgZ2V0IHVybCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKHBhcnNlZFVybCA/Pz0ge1xuICAgICAgICAgICAgICAgICAgICAuLi5wYXJzZSh0aGlzLnJhd1VybCwgdHJ1ZSksXG4gICAgICAgICAgICAgICAgICAgIHBhdGhTdGVwQXQ6IChpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RlcHMgPSAocGF0aFN0ZXBzID8/PSBwYXJzZWRVcmwhLnBhdGhuYW1lPy5zcGxpdCgnLycpID8/IFtdKVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RlcCA9IHN0ZXBzW2luZGV4ICsgMV1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghc3RlcCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKGBQYXRoIGRvZXMgbm90IGhhdmUgYSBzdGVwIGF0IGluZGV4ICR7aW5kZXh9LmApXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3RlcFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYm9keTogcmVxdWVzdEJvZHkob3B0aW9ucyksXG4gICAgICAgICAgICBoZWFkZXJzOiBvcHRpb25zLmhlYWRlcnMgPz8ge30sXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBtZWFzdXJlKGxvZywgJ2V4ZWN1dGlvbicsICgpID0+XG4gICAgICAgICAgICBoYW5kbGVyLmVudHJ5KHsgLi4uY29udGV4dCwgbG9nIH0sIHJlcSksXG4gICAgICAgIClcblxuICAgICAgICBjb25zdCByZXNwb25zZSA9IHJlc3VsdFRvUmVzcG9uc2UocmVzdWx0LCBpbmNsdWRlQm9keUluTG9ncylcblxuICAgICAgICBpZiAoY29udGV4dC5zaWduYWwuYWJvcnRlZCkge1xuICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycyA9IHtcbiAgICAgICAgICAgICAgICAneC10aW1lb3V0JzogJzEnLFxuICAgICAgICAgICAgICAgIC4uLnJlc3BvbnNlLmhlYWRlcnMsXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsb2cgPSBsb2cuZW5yaWNoUmVzZXJ2ZWQoe1xuICAgICAgICAgICAgcmVzcG9uc2U6IHtcbiAgICAgICAgICAgICAgICBzdGF0dXM6IHJlc3BvbnNlLnN0YXR1cyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiByZXNwb25zZS5oZWFkZXJzLFxuICAgICAgICAgICAgICAgIGJvZHk6IHJlc3BvbnNlLmxvZ0JvZHksXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzIDwgMzAwKSB7XG4gICAgICAgICAgICBsb2cuZGVidWcoJ1JlcXVlc3QgRU5EJylcbiAgICAgICAgICAgIGF3YWl0IHN1Y2Nlc3MoKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbG9nLndhcm4oJ1JlcXVlc3QgRU5EJylcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzcG9uc2VcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGVycm9yVG9SZXNwb25zZShlKVxuICAgICAgICAgICAgbG9nID0gbG9nLmVucmljaFJlc2VydmVkKHsgcmVzcG9uc2UgfSlcbiAgICAgICAgICAgIGxvZy5lcnJvcignUmVxdWVzdCBFTkQnLCBlKVxuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlXG4gICAgICAgIH0gY2F0Y2ggKGNvbnZlcnRFcnJvcikge1xuICAgICAgICAgICAgbG9nLmVycm9yKCdDb3VsZCBub3QgY29udmVydCBleGNlcHRpb24gdG8gZXJyb3IgcmVzcG9uc2UuJywgY29udmVydEVycm9yKVxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7fSxcbiAgICAgICAgICAgICAgICBzdGF0dXM6IDUwMCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuZnVuY3Rpb24gcmVzdWx0VG9SZXNwb25zZShyZXN1bHQ6IFJlc3VsdCwgd2l0aExvZ0JvZHk6IGJvb2xlYW4pOiBSZXNwb25zZSAmIHsgbG9nQm9keT86IHVua25vd24gfSB7XG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHt9LFxuICAgICAgICAgICAgc3RhdHVzOiAyMDQsXG4gICAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGVvZiByZXN1bHQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbnN0IGxvZ0JvZHkgPSB3aXRoTG9nQm9keSA/IHJlc3VsdCA6IHVuZGVmaW5lZFxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICdjb250ZW50LXR5cGUnOiAndGV4dC9wbGFpbicsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3RhdHVzOiAyMDAsXG4gICAgICAgICAgICBib2R5OiByZXN1bHQsXG4gICAgICAgICAgICBsb2dCb2R5LFxuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHJlc3VsdC5ib2R5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaGVhZGVyczogcmVzdWx0LmhlYWRlcnMgPz8ge30sXG4gICAgICAgICAgICAgICAgc3RhdHVzOiByZXN1bHQuc3RhdHVzID8/IDIwMCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgcmVzdWx0LmJvZHkgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBjb25zdCBsb2dCb2R5ID0gd2l0aExvZ0JvZHkgPyByZXN1bHQuYm9keSA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB3aXRoQ29udGVudFR5cGUocmVzdWx0LmhlYWRlcnMsICd0ZXh0L3BsYWluJyksXG4gICAgICAgICAgICAgICAgc3RhdHVzOiByZXN1bHQuc3RhdHVzID8/IDIwMCxcbiAgICAgICAgICAgICAgICBib2R5OiByZXN1bHQuYm9keSxcbiAgICAgICAgICAgICAgICBsb2dCb2R5LFxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKEJ1ZmZlci5pc0J1ZmZlcihyZXN1bHQuYm9keSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGxvZ0JvZHkgPSB3aXRoTG9nQm9keSA/IHJlc3VsdC5ib2R5LnRvU3RyaW5nKCdiYXNlNjQnKSA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB3aXRoQ29udGVudFR5cGUocmVzdWx0LmhlYWRlcnMsICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nKSxcbiAgICAgICAgICAgICAgICBzdGF0dXM6IHJlc3VsdC5zdGF0dXMgPz8gMjAwLFxuICAgICAgICAgICAgICAgIGJvZHk6IHJlc3VsdC5ib2R5LFxuICAgICAgICAgICAgICAgIGxvZ0JvZHksXG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBsb2dCb2R5ID0gd2l0aExvZ0JvZHkgPyByZXN1bHQuYm9keSA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB3aXRoQ29udGVudFR5cGUocmVzdWx0LmhlYWRlcnMsICdhcHBsaWNhdGlvbi9qc29uJyksXG4gICAgICAgICAgICAgICAgc3RhdHVzOiByZXN1bHQuc3RhdHVzID8/IDIwMCxcbiAgICAgICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShyZXN1bHQuYm9keSksXG4gICAgICAgICAgICAgICAgbG9nQm9keSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuZnVuY3Rpb24gd2l0aG91dFJlcXVlc3RCb2R5KG9wdGlvbnM6IFJlcXVlc3RPcHRpb25zICYgeyBtZXRob2Q6IHN0cmluZyB9KSB7XG4gICAgaWYgKGhhc0pzb25Cb2R5KG9wdGlvbnMpKSB7XG4gICAgICAgIGNvbnN0IHsganNvbiwgLi4uYm9keWxlc3MgfSA9IG9wdGlvbnNcbiAgICAgICAgcmV0dXJuIGJvZHlsZXNzXG4gICAgfVxuICAgIGlmIChoYXNTdHJpbmdCb2R5KG9wdGlvbnMpKSB7XG4gICAgICAgIGNvbnN0IHsgYm9keSwgLi4uYm9keWxlc3MgfSA9IG9wdGlvbnNcbiAgICAgICAgcmV0dXJuIGJvZHlsZXNzXG4gICAgfVxuICAgIHJldHVybiBvcHRpb25zXG59XG5cbmZ1bmN0aW9uIHJlcXVlc3RCb2R5KG9wdGlvbnM6IFJlcXVlc3RPcHRpb25zKTogSnNvbiB8IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKGhhc0pzb25Cb2R5KG9wdGlvbnMpKSB7XG4gICAgICAgIHJldHVybiBvcHRpb25zLmpzb25cbiAgICB9XG4gICAgaWYgKGhhc1N0cmluZ0JvZHkob3B0aW9ucykpIHtcbiAgICAgICAgcmV0dXJuIG9wdGlvbnMuYm9keVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkXG59XG5cbmZ1bmN0aW9uIGhhc0pzb25Cb2R5KG9wdGlvbnM6IFJlcXVlc3RPcHRpb25zKTogb3B0aW9ucyBpcyBKc29uUmVxdWVzdE9wdGlvbnMge1xuICAgIHJldHVybiAob3B0aW9ucyBhcyB7IGpzb24/OiB1bmtub3duIH0pLmpzb24gIT09IHVuZGVmaW5lZFxufVxuXG5mdW5jdGlvbiBoYXNTdHJpbmdCb2R5KG9wdGlvbnM6IFJlcXVlc3RPcHRpb25zKTogb3B0aW9ucyBpcyBTdHJpbmdSZXF1ZXN0T3B0aW9ucyB7XG4gICAgcmV0dXJuIChvcHRpb25zIGFzIHsgYm9keT86IHVua25vd24gfSkuYm9keSAhPT0gdW5kZWZpbmVkXG59XG5cbmZ1bmN0aW9uIHdpdGhDb250ZW50VHlwZShoZWFkZXJzOiBSZXNwb25zZUhlYWRlcnMgfCB1bmRlZmluZWQsIGNvbnRlbnRUeXBlOiBzdHJpbmcpIHtcbiAgICBpZiAoIWhlYWRlcnMpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICdjb250ZW50LXR5cGUnOiBjb250ZW50VHlwZSxcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoIWhlYWRlcnNbJ2NvbnRlbnQtdHlwZSddKSB7XG4gICAgICAgIGhlYWRlcnNbJ2NvbnRlbnQtdHlwZSddID0gY29udGVudFR5cGVcbiAgICB9XG4gICAgcmV0dXJuIGhlYWRlcnNcbn1cblxuZnVuY3Rpb24gZXJyb3JUb1Jlc3BvbnNlKGU6IHVua25vd24pOiBSZXNwb25zZSB7XG4gICAgY29uc3QgeyBib2R5LCBzdGF0dXNDb2RlOiBzdGF0dXMgfSA9IGUgYXMgeyBib2R5PzogdW5rbm93bjsgc3RhdHVzQ29kZT86IG51bWJlciB9XG4gICAgaWYgKHR5cGVvZiBib2R5ID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICdjb250ZW50LXR5cGUnOiAndGV4dC9wbGFpbicsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3RhdHVzOiBzdGF0dXMgPz8gNTAwLFxuICAgICAgICAgICAgYm9keSxcbiAgICAgICAgfVxuICAgIH0gZWxzZSBpZiAodHlwZW9mIGJvZHkgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgJ2NvbnRlbnQtdHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzdGF0dXM6IHN0YXR1cyA/PyA1MDAsXG4gICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShib2R5KSxcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBoZWFkZXJzOiB7fSxcbiAgICAgICAgICAgIHN0YXR1czogc3RhdHVzID8/IDUwMCxcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsaWVudEZyb21IZWFkZXJzKFxuICAgIGhlYWRlcnM6IHsgcmVhZG9ubHkgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gfCB1bmRlZmluZWQsXG4pOiBDbGllbnRJbmZvIHtcbiAgICBpZiAoIWhlYWRlcnMpIHtcbiAgICAgICAgcmV0dXJuIHt9XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIG9wZXJhdGlvbklkOiBoZWFkZXJzWyd4LXJlcXVlc3QtaWQnXSA/PyBoZWFkZXJzWydyZXF1ZXN0LWlkJ10sXG4gICAgICAgIGNsaWVudElkOlxuICAgICAgICAgICAgaGVhZGVyc1sneC1jbGllbnQtaWQnXSA/P1xuICAgICAgICAgICAgaGVhZGVyc1sneC1pbnN0YWxsYXRpb24taWQnXSA/P1xuICAgICAgICAgICAgaGVhZGVyc1snY2xpZW50LWlkJ10gPz9cbiAgICAgICAgICAgIGhlYWRlcnNbJ2luc3RhbGxhdGlvbi1pZCddLFxuICAgICAgICBjbGllbnRJcDogaGVhZGVyc1sneC1mb3J3YXJkZWQtZm9yJ10sXG4gICAgICAgIHVzZXJBZ2VudDogaGVhZGVyc1sneC1mb3J3YXJkZWQtZm9yLXVzZXItYWdlbnQnXSA/PyBoZWFkZXJzWyd1c2VyLWFnZW50J10sXG4gICAgfVxufVxuIl19
|
package/host/logging.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AbortSignal } from '../context.js';
|
|
2
|
-
import { LogLevel, LogTransport, RootLogger } from './context.js';
|
|
3
|
-
export declare function makeLogger(transport: LogTransport, minimumLogLevel: LogLevel | undefined, signal: AbortSignal): RootLogger;
|
|
4
|
-
export declare function highPrecisionISODate(performanceNow: number): string;
|
|
1
|
+
import { AbortSignal } from '../context.js';
|
|
2
|
+
import { LogLevel, LogTransport, RootLogger } from './context.js';
|
|
3
|
+
export declare function makeLogger(transport: LogTransport, minimumLogLevel: LogLevel | undefined, signal: AbortSignal): RootLogger;
|
|
4
|
+
export declare function highPrecisionISODate(performanceNow: number): string;
|