@effect/platform 0.48.21 → 0.48.23
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/Http/TraceContext/package.json +6 -0
- package/dist/cjs/Http/Client.js +11 -1
- package/dist/cjs/Http/Client.js.map +1 -1
- package/dist/cjs/Http/IncomingMessage.js +2 -51
- package/dist/cjs/Http/IncomingMessage.js.map +1 -1
- package/dist/cjs/Http/TraceContext.js +132 -0
- package/dist/cjs/Http/TraceContext.js.map +1 -0
- package/dist/cjs/internal/http/client.js +51 -34
- package/dist/cjs/internal/http/client.js.map +1 -1
- package/dist/cjs/internal/http/middleware.js +36 -22
- package/dist/cjs/internal/http/middleware.js.map +1 -1
- package/dist/dts/Http/Client.d.ts +16 -1
- package/dist/dts/Http/Client.d.ts.map +1 -1
- package/dist/dts/Http/IncomingMessage.d.ts +1 -7
- package/dist/dts/Http/IncomingMessage.d.ts.map +1 -1
- package/dist/dts/Http/TraceContext.d.ts +39 -0
- package/dist/dts/Http/TraceContext.d.ts.map +1 -0
- package/dist/esm/Http/Client.js +10 -0
- package/dist/esm/Http/Client.js.map +1 -1
- package/dist/esm/Http/IncomingMessage.js +1 -50
- package/dist/esm/Http/IncomingMessage.js.map +1 -1
- package/dist/esm/Http/TraceContext.js +95 -0
- package/dist/esm/Http/TraceContext.js.map +1 -0
- package/dist/esm/internal/http/client.js +50 -33
- package/dist/esm/internal/http/client.js.map +1 -1
- package/dist/esm/internal/http/middleware.js +36 -22
- package/dist/esm/internal/http/middleware.js.map +1 -1
- package/package.json +11 -3
- package/src/Http/Client.ts +25 -1
- package/src/Http/IncomingMessage.ts +2 -71
- package/src/Http/TraceContext.ts +109 -0
- package/src/internal/http/client.ts +89 -55
- package/src/internal/http/middleware.ts +46 -49
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","names":["Schema","Context","Effect","dual","pipe","Layer","pipeArguments","Predicate","Ref","Stream","Error","Cookies","Method","UrlParams","internalBody","internalRequest","internalResponse","TypeId","Symbol","for","tag","GenericTag","clientProto","arguments","isClient","u","hasProperty","make","execute","preprocess","client","request","Object","setPrototypeOf","addB3Headers","req","match","currentSpan","onFailure","onSuccess","span","setHeader","traceId","spanId","sampled","parent","_tag","value","makeDefault","f","flatMap","Fetch","fetch","options","makeUrl","url","urlParams","_","RequestError","reason","error","serviceOption","fetch_","globalThis","headers","Headers","send","body","acquireRelease","sync","AbortController","controller","abort","tryPromise","try","method","duplex","undefined","signal","catch","map","fromWeb","hasBody","convertBody","formData","toReadableStream","stream","fetchOk","filterStatusOk","layer","succeed","transform","self","transformResponse","catchTag","catchTags","cases","catchAll","filterOrElse","orElse","filterOrFail","orFailWith","filterStatus","effect","response","status","ResponseError","mapEffect","scoped","mapEffectScoped","mapRequest","mapRequestEffect","mapInputRequest","mapInputRequestEffect","retry","policy","schemaFunction","args","schema","encode","a","tryMap","TextEncoder","JSON","stringify","setBody","uint8Array","tap","tapRequest","withCookiesRef","ref","update","cookies","merge","get","isEmpty","toCookieHeader"],"sources":["../../../../src/internal/http/client.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"client.js","names":["Schema","Context","Effect","FiberRef","constFalse","dual","pipe","globalValue","Layer","pipeArguments","Predicate","Ref","Stream","Error","Cookies","Method","TraceContext","UrlParams","internalBody","internalRequest","internalResponse","TypeId","Symbol","for","tag","GenericTag","currentTracerDisabledWhen","unsafeMake","withTracerDisabledWhen","self","pred","locally","clientProto","arguments","isClient","u","hasProperty","make","execute","preprocess","client","request","Object","setPrototypeOf","makeDefault","f","effect","flatMap","withFiberRuntime","fiber","tracerDisabled","getFiberRef","useSpan","method","attributes","url","span","withParentSpan","setHeaders","toHeaders","succeed","Fetch","fetch","options","context","currentContext","unsafeMap","get","key","globalThis","makeUrl","urlParams","_","RequestError","reason","error","headers","Headers","send","body","acquireRelease","sync","AbortController","controller","abort","tryPromise","try","duplex","_tag","undefined","signal","catch","map","fromWeb","hasBody","convertBody","formData","toReadableStream","stream","fetchOk","filterStatusOk","layer","transform","transformResponse","catchTag","catchTags","cases","catchAll","filterOrElse","orElse","filterOrFail","orFailWith","filterStatus","response","status","ResponseError","mapEffect","scoped","mapEffectScoped","mapRequest","mapRequestEffect","mapInputRequest","mapInputRequestEffect","retry","policy","schemaFunction","args","schema","encode","a","tryMap","TextEncoder","JSON","stringify","setBody","uint8Array","tap","tapRequest","withCookiesRef","ref","update","cookies","merge","isEmpty","setHeader","toCookieHeader"],"sources":["../../../../src/internal/http/client.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import * as Cause from "effect/Cause";
|
|
2
|
+
import * as Context from "effect/Context";
|
|
2
3
|
import * as Effect from "effect/Effect";
|
|
3
4
|
import * as FiberRef from "effect/FiberRef";
|
|
4
5
|
import { constFalse, dual } from "effect/Function";
|
|
5
6
|
import { globalValue } from "effect/GlobalValue";
|
|
7
|
+
import * as Option from "effect/Option";
|
|
6
8
|
import * as Headers from "../../Http/Headers.js";
|
|
7
|
-
import * as IncomingMessage from "../../Http/IncomingMessage.js";
|
|
8
9
|
import * as ServerError from "../../Http/ServerError.js";
|
|
9
10
|
import * as ServerRequest from "../../Http/ServerRequest.js";
|
|
11
|
+
import * as TraceContext from "../../Http/TraceContext.js";
|
|
10
12
|
/** @internal */
|
|
11
13
|
export const make = middleware => middleware;
|
|
12
14
|
/** @internal */
|
|
@@ -20,31 +22,43 @@ export const withTracerDisabledWhen = /*#__PURE__*/dual(2, (self, pred) => Effec
|
|
|
20
22
|
/** @internal */
|
|
21
23
|
export const logger = /*#__PURE__*/make(httpApp => {
|
|
22
24
|
let counter = 0;
|
|
23
|
-
return Effect.
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
25
|
+
return Effect.withFiberRuntime(fiber => {
|
|
26
|
+
const context = fiber.getFiberRef(FiberRef.currentContext);
|
|
27
|
+
const request = Context.unsafeGet(context, ServerRequest.ServerRequest);
|
|
28
|
+
return Effect.withLogSpan(Effect.onExit(httpApp, exit => {
|
|
29
|
+
if (fiber.getFiberRef(loggerDisabled)) {
|
|
30
|
+
return Effect.unit;
|
|
31
|
+
}
|
|
32
|
+
return exit._tag === "Failure" ? Effect.annotateLogs(Effect.log(exit.cause), {
|
|
33
|
+
"http.method": request.method,
|
|
34
|
+
"http.url": request.url,
|
|
35
|
+
"http.status": Cause.isInterruptedOnly(exit.cause) ? ServerError.isClientAbortCause(exit.cause) ? 499 : 503 : 500
|
|
36
|
+
}) : Effect.annotateLogs(Effect.log("Sent HTTP response"), {
|
|
37
|
+
"http.method": request.method,
|
|
38
|
+
"http.url": request.url,
|
|
39
|
+
"http.status": exit.value.status
|
|
40
|
+
});
|
|
41
|
+
}), `http.span.${++counter}`);
|
|
42
|
+
});
|
|
37
43
|
});
|
|
38
44
|
/** @internal */
|
|
39
45
|
export const tracer = /*#__PURE__*/make(httpApp => {
|
|
40
46
|
const appWithStatus = Effect.tap(httpApp, response => Effect.annotateCurrentSpan("http.status", response.status));
|
|
41
|
-
return Effect.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
47
|
+
return Effect.withFiberRuntime(fiber => {
|
|
48
|
+
const context = fiber.getFiberRef(FiberRef.currentContext);
|
|
49
|
+
const request = Context.unsafeGet(context, ServerRequest.ServerRequest);
|
|
50
|
+
const disabled = fiber.getFiberRef(currentTracerDisabledWhen)(request);
|
|
51
|
+
if (disabled) {
|
|
52
|
+
return httpApp;
|
|
53
|
+
}
|
|
54
|
+
return Effect.withSpan(appWithStatus, `http.server ${request.method}`, {
|
|
55
|
+
attributes: {
|
|
56
|
+
"http.method": request.method,
|
|
57
|
+
"http.url": request.url
|
|
58
|
+
},
|
|
59
|
+
parent: Option.getOrUndefined(TraceContext.fromHeaders(request.headers))
|
|
60
|
+
});
|
|
61
|
+
});
|
|
48
62
|
});
|
|
49
63
|
/** @internal */
|
|
50
64
|
export const xForwardedHeaders = /*#__PURE__*/make(httpApp => Effect.updateService(httpApp, ServerRequest.ServerRequest, request => request.headers["x-forwarded-host"] ? request.modify({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","names":["Cause","Effect","FiberRef","constFalse","dual","globalValue","
|
|
1
|
+
{"version":3,"file":"middleware.js","names":["Cause","Context","Effect","FiberRef","constFalse","dual","globalValue","Option","Headers","ServerError","ServerRequest","TraceContext","make","middleware","loggerDisabled","Symbol","for","unsafeMake","withLoggerDisabled","self","zipRight","set","currentTracerDisabledWhen","withTracerDisabledWhen","pred","locally","logger","httpApp","counter","withFiberRuntime","fiber","context","getFiberRef","currentContext","request","unsafeGet","withLogSpan","onExit","exit","unit","_tag","annotateLogs","log","cause","method","url","isInterruptedOnly","isClientAbortCause","value","status","tracer","appWithStatus","tap","response","annotateCurrentSpan","disabled","withSpan","attributes","parent","getOrUndefined","fromHeaders","headers","xForwardedHeaders","updateService","modify","remoteAddress","split","trim"],"sources":["../../../../src/internal/http/middleware.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/platform",
|
|
3
|
-
"version": "0.48.
|
|
3
|
+
"version": "0.48.23",
|
|
4
4
|
"description": "Unified interfaces for common platform-specific services",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
"path-browserify": "^1.0.1"
|
|
17
17
|
},
|
|
18
18
|
"peerDependencies": {
|
|
19
|
-
"@effect/schema": "^0.64.
|
|
20
|
-
"effect": "^2.4.
|
|
19
|
+
"@effect/schema": "^0.64.17",
|
|
20
|
+
"effect": "^2.4.16"
|
|
21
21
|
},
|
|
22
22
|
"main": "./dist/cjs/index.js",
|
|
23
23
|
"module": "./dist/esm/index.js",
|
|
@@ -154,6 +154,11 @@
|
|
|
154
154
|
"import": "./dist/esm/Http/ServerResponse.js",
|
|
155
155
|
"default": "./dist/cjs/Http/ServerResponse.js"
|
|
156
156
|
},
|
|
157
|
+
"./Http/TraceContext": {
|
|
158
|
+
"types": "./dist/dts/Http/TraceContext.d.ts",
|
|
159
|
+
"import": "./dist/esm/Http/TraceContext.js",
|
|
160
|
+
"default": "./dist/cjs/Http/TraceContext.js"
|
|
161
|
+
},
|
|
157
162
|
"./Http/UrlParams": {
|
|
158
163
|
"types": "./dist/dts/Http/UrlParams.d.ts",
|
|
159
164
|
"import": "./dist/esm/Http/UrlParams.js",
|
|
@@ -302,6 +307,9 @@
|
|
|
302
307
|
"Http/ServerResponse": [
|
|
303
308
|
"./dist/dts/Http/ServerResponse.d.ts"
|
|
304
309
|
],
|
|
310
|
+
"Http/TraceContext": [
|
|
311
|
+
"./dist/dts/Http/TraceContext.d.ts"
|
|
312
|
+
],
|
|
305
313
|
"Http/UrlParams": [
|
|
306
314
|
"./dist/dts/Http/UrlParams.d.ts"
|
|
307
315
|
],
|
package/src/Http/Client.ts
CHANGED
|
@@ -7,6 +7,8 @@ import type * as ParseResult from "@effect/schema/ParseResult"
|
|
|
7
7
|
import type * as Schema from "@effect/schema/Schema"
|
|
8
8
|
import type * as Context from "effect/Context"
|
|
9
9
|
import type * as Effect from "effect/Effect"
|
|
10
|
+
import type { RuntimeFiber } from "effect/Fiber"
|
|
11
|
+
import type * as FiberRef from "effect/FiberRef"
|
|
10
12
|
import type { Inspectable } from "effect/Inspectable"
|
|
11
13
|
import type * as Layer from "effect/Layer"
|
|
12
14
|
import type { Pipeable } from "effect/Pipeable"
|
|
@@ -250,7 +252,8 @@ export const make: <R, E, A, R2, E2>(
|
|
|
250
252
|
*/
|
|
251
253
|
export const makeDefault: (
|
|
252
254
|
f: (
|
|
253
|
-
request: ClientRequest.ClientRequest
|
|
255
|
+
request: ClientRequest.ClientRequest,
|
|
256
|
+
fiber: RuntimeFiber<ClientResponse.ClientResponse, Error.HttpClientError>
|
|
254
257
|
) => Effect.Effect<ClientResponse.ClientResponse, Error.HttpClientError, Scope.Scope>
|
|
255
258
|
) => Client.Default = internal.makeDefault
|
|
256
259
|
|
|
@@ -432,3 +435,24 @@ export const withCookiesRef: {
|
|
|
432
435
|
(ref: Ref<Cookies>): <R, E>(self: Client.WithResponse<R, E>) => Client.WithResponse<R, E>
|
|
433
436
|
<R, E>(self: Client.WithResponse<R, E>, ref: Ref<Cookies>): Client.WithResponse<R, E>
|
|
434
437
|
} = internal.withCookiesRef
|
|
438
|
+
|
|
439
|
+
/**
|
|
440
|
+
* @since 2.0.0
|
|
441
|
+
* @category fiber refs
|
|
442
|
+
*/
|
|
443
|
+
export const currentTracerDisabledWhen: FiberRef.FiberRef<Predicate.Predicate<ClientRequest.ClientRequest>> =
|
|
444
|
+
internal.currentTracerDisabledWhen
|
|
445
|
+
|
|
446
|
+
/**
|
|
447
|
+
* @since 2.0.0
|
|
448
|
+
* @category fiber refs
|
|
449
|
+
*/
|
|
450
|
+
export const withTracerDisabledWhen: {
|
|
451
|
+
(
|
|
452
|
+
predicate: Predicate.Predicate<ClientRequest.ClientRequest>
|
|
453
|
+
): <R, E, A>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
|
|
454
|
+
<R, E, A>(
|
|
455
|
+
effect: Effect.Effect<A, E, R>,
|
|
456
|
+
predicate: Predicate.Predicate<ClientRequest.ClientRequest>
|
|
457
|
+
): Effect.Effect<A, E, R>
|
|
458
|
+
} = internal.withTracerDisabledWhen
|
|
@@ -2,17 +2,15 @@
|
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
4
|
import type { ParseOptions } from "@effect/schema/AST"
|
|
5
|
-
import * as ParseResult from "@effect/schema/ParseResult"
|
|
5
|
+
import type * as ParseResult from "@effect/schema/ParseResult"
|
|
6
6
|
import * as Schema from "@effect/schema/Schema"
|
|
7
7
|
import * as Effect from "effect/Effect"
|
|
8
8
|
import * as FiberRef from "effect/FiberRef"
|
|
9
|
-
import { dual
|
|
9
|
+
import { dual } from "effect/Function"
|
|
10
10
|
import * as Global from "effect/GlobalValue"
|
|
11
11
|
import type { Inspectable } from "effect/Inspectable"
|
|
12
12
|
import * as Option from "effect/Option"
|
|
13
13
|
import type * as Stream from "effect/Stream"
|
|
14
|
-
import * as Tracer from "effect/Tracer"
|
|
15
|
-
import type { ExternalSpan } from "effect/Tracer"
|
|
16
14
|
import * as FileSystem from "../FileSystem.js"
|
|
17
15
|
import type * as Headers from "./Headers.js"
|
|
18
16
|
import type * as UrlParams from "./UrlParams.js"
|
|
@@ -112,73 +110,6 @@ export const schemaHeadersEffect = <R, I extends Readonly<Record<string, string>
|
|
|
112
110
|
return <E, E2, R2>(effect: Effect.Effect<IncomingMessage<E>, E2, R2>) => Effect.scoped(Effect.flatMap(effect, decode))
|
|
113
111
|
}
|
|
114
112
|
|
|
115
|
-
const SpanSchema = Schema.struct({
|
|
116
|
-
traceId: Schema.string,
|
|
117
|
-
spanId: Schema.string,
|
|
118
|
-
parentSpanId: Schema.union(Schema.string, Schema.undefined),
|
|
119
|
-
sampled: Schema.boolean
|
|
120
|
-
})
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* @since 1.0.0
|
|
124
|
-
* @category schema
|
|
125
|
-
*/
|
|
126
|
-
export const schemaExternalSpan: <E>(
|
|
127
|
-
self: IncomingMessage<E>
|
|
128
|
-
) => Effect.Effect<Tracer.ExternalSpan, ParseResult.ParseError> = flow(
|
|
129
|
-
schemaHeaders(Schema.union(
|
|
130
|
-
Schema.transformOrFail(
|
|
131
|
-
Schema.struct({
|
|
132
|
-
b3: Schema.NonEmpty
|
|
133
|
-
}),
|
|
134
|
-
SpanSchema,
|
|
135
|
-
(input, _, ast) => {
|
|
136
|
-
const parts = input.b3.split("-")
|
|
137
|
-
if (parts.length >= 2) {
|
|
138
|
-
return ParseResult.succeed(
|
|
139
|
-
{
|
|
140
|
-
traceId: parts[0],
|
|
141
|
-
spanId: parts[1],
|
|
142
|
-
sampled: parts[2] ? parts[2] === "1" : true,
|
|
143
|
-
parentSpanId: parts[3]
|
|
144
|
-
} as const
|
|
145
|
-
)
|
|
146
|
-
}
|
|
147
|
-
return ParseResult.fail(new ParseResult.Type(ast, input))
|
|
148
|
-
},
|
|
149
|
-
(_) => ParseResult.succeed({ b3: "" } as const)
|
|
150
|
-
),
|
|
151
|
-
Schema.transform(
|
|
152
|
-
Schema.struct({
|
|
153
|
-
"x-b3-traceid": Schema.NonEmpty,
|
|
154
|
-
"x-b3-spanid": Schema.NonEmpty,
|
|
155
|
-
"x-b3-parentspanid": Schema.optional(Schema.NonEmpty),
|
|
156
|
-
"x-b3-sampled": Schema.optional(Schema.NonEmpty, { default: () => "1" })
|
|
157
|
-
}),
|
|
158
|
-
SpanSchema,
|
|
159
|
-
(_) => ({
|
|
160
|
-
traceId: _["x-b3-traceid"],
|
|
161
|
-
spanId: _["x-b3-spanid"],
|
|
162
|
-
parentSpanId: _["x-b3-parentspanid"],
|
|
163
|
-
sampled: _["x-b3-sampled"] === "1"
|
|
164
|
-
} as const),
|
|
165
|
-
(_) => ({
|
|
166
|
-
"x-b3-traceid": _.traceId,
|
|
167
|
-
"x-b3-spanid": _.spanId,
|
|
168
|
-
"x-b3-parentspanid": _.parentSpanId,
|
|
169
|
-
"x-b3-sampled": _.sampled ? "1" : "0"
|
|
170
|
-
} as const)
|
|
171
|
-
)
|
|
172
|
-
)),
|
|
173
|
-
Effect.map((_): ExternalSpan =>
|
|
174
|
-
Tracer.externalSpan({
|
|
175
|
-
traceId: _.traceId,
|
|
176
|
-
spanId: _.spanId,
|
|
177
|
-
sampled: _.sampled
|
|
178
|
-
})
|
|
179
|
-
)
|
|
180
|
-
)
|
|
181
|
-
|
|
182
113
|
/**
|
|
183
114
|
* @since 1.0.0
|
|
184
115
|
* @category fiber refs
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import * as Option from "effect/Option"
|
|
5
|
+
import * as Tracer from "effect/Tracer"
|
|
6
|
+
import * as Headers from "./Headers.js"
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @since 1.0.0
|
|
10
|
+
* @category models
|
|
11
|
+
*/
|
|
12
|
+
export interface FromHeaders {
|
|
13
|
+
(headers: Headers.Headers): Option.Option<Tracer.ExternalSpan>
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @since 1.0.0
|
|
18
|
+
* @category encoding
|
|
19
|
+
*/
|
|
20
|
+
export const toHeaders = (span: Tracer.Span): Headers.Headers =>
|
|
21
|
+
Headers.unsafeFromRecord({
|
|
22
|
+
b3: `${span.traceId}-${span.spanId}-${span.sampled ? "1" : "0"}${
|
|
23
|
+
span.parent._tag === "Some" ? `-${span.parent.value.spanId}` : ""
|
|
24
|
+
}`,
|
|
25
|
+
traceparent: `00-${span.traceId}-${span.spanId}-${span.sampled ? "01" : "00"}`
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* @since 1.0.0
|
|
30
|
+
* @category decoding
|
|
31
|
+
*/
|
|
32
|
+
export const fromHeaders = (headers: Headers.Headers): Option.Option<Tracer.ExternalSpan> => {
|
|
33
|
+
let span = w3c(headers)
|
|
34
|
+
if (span._tag === "Some") {
|
|
35
|
+
return span
|
|
36
|
+
}
|
|
37
|
+
span = b3(headers)
|
|
38
|
+
if (span._tag === "Some") {
|
|
39
|
+
return span
|
|
40
|
+
}
|
|
41
|
+
return xb3(headers)
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* @since 1.0.0
|
|
46
|
+
* @category decoding
|
|
47
|
+
*/
|
|
48
|
+
export const b3: FromHeaders = (headers) => {
|
|
49
|
+
if (!("b3" in headers)) {
|
|
50
|
+
return Option.none()
|
|
51
|
+
}
|
|
52
|
+
const parts = headers["b3"].split("-")
|
|
53
|
+
if (parts.length < 2) {
|
|
54
|
+
return Option.none()
|
|
55
|
+
}
|
|
56
|
+
return Option.some(Tracer.externalSpan({
|
|
57
|
+
traceId: parts[0],
|
|
58
|
+
spanId: parts[1],
|
|
59
|
+
sampled: parts[2] ? parts[2] === "1" : true
|
|
60
|
+
}))
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* @since 1.0.0
|
|
65
|
+
* @category decoding
|
|
66
|
+
*/
|
|
67
|
+
export const xb3: FromHeaders = (headers) => {
|
|
68
|
+
if (!(headers["x-b3-traceid"]) || !(headers["x-b3-spanid"])) {
|
|
69
|
+
return Option.none()
|
|
70
|
+
}
|
|
71
|
+
return Option.some(Tracer.externalSpan({
|
|
72
|
+
traceId: headers["x-b3-traceid"],
|
|
73
|
+
spanId: headers["x-b3-spanid"],
|
|
74
|
+
sampled: headers["x-b3-sampled"] ? headers["x-b3-sampled"] === "1" : true
|
|
75
|
+
}))
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
const w3cTraceId = /^[0-9a-f]{32}$/gi
|
|
79
|
+
const w3cSpanId = /^[0-9a-f]{16}$/gi
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* @since 1.0.0
|
|
83
|
+
* @category decoding
|
|
84
|
+
*/
|
|
85
|
+
export const w3c: FromHeaders = (headers) => {
|
|
86
|
+
if (!(headers["traceparent"])) {
|
|
87
|
+
return Option.none()
|
|
88
|
+
}
|
|
89
|
+
const parts = headers["traceparent"].split("-")
|
|
90
|
+
if (parts.length !== 4) {
|
|
91
|
+
return Option.none()
|
|
92
|
+
}
|
|
93
|
+
const [version, traceId, spanId, flags] = parts
|
|
94
|
+
switch (version) {
|
|
95
|
+
case "00": {
|
|
96
|
+
if (w3cTraceId.test(traceId) === false || w3cSpanId.test(spanId) === false) {
|
|
97
|
+
return Option.none()
|
|
98
|
+
}
|
|
99
|
+
return Option.some(Tracer.externalSpan({
|
|
100
|
+
traceId,
|
|
101
|
+
spanId,
|
|
102
|
+
sampled: (parseInt(flags, 16) & 1) === 1
|
|
103
|
+
}))
|
|
104
|
+
}
|
|
105
|
+
default: {
|
|
106
|
+
return Option.none()
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
@@ -3,7 +3,10 @@ import type * as ParseResult from "@effect/schema/ParseResult"
|
|
|
3
3
|
import * as Schema from "@effect/schema/Schema"
|
|
4
4
|
import * as Context from "effect/Context"
|
|
5
5
|
import * as Effect from "effect/Effect"
|
|
6
|
-
import
|
|
6
|
+
import type * as Fiber from "effect/Fiber"
|
|
7
|
+
import * as FiberRef from "effect/FiberRef"
|
|
8
|
+
import { constFalse, dual, pipe } from "effect/Function"
|
|
9
|
+
import { globalValue } from "effect/GlobalValue"
|
|
7
10
|
import * as Layer from "effect/Layer"
|
|
8
11
|
import { pipeArguments } from "effect/Pipeable"
|
|
9
12
|
import * as Predicate from "effect/Predicate"
|
|
@@ -18,6 +21,7 @@ import type * as ClientRequest from "../../Http/ClientRequest.js"
|
|
|
18
21
|
import type * as ClientResponse from "../../Http/ClientResponse.js"
|
|
19
22
|
import * as Cookies from "../../Http/Cookies.js"
|
|
20
23
|
import * as Method from "../../Http/Method.js"
|
|
24
|
+
import * as TraceContext from "../../Http/TraceContext.js"
|
|
21
25
|
import * as UrlParams from "../../Http/UrlParams.js"
|
|
22
26
|
import * as internalBody from "./body.js"
|
|
23
27
|
import * as internalRequest from "./clientRequest.js"
|
|
@@ -31,6 +35,23 @@ export const TypeId: Client.TypeId = Symbol.for(
|
|
|
31
35
|
/** @internal */
|
|
32
36
|
export const tag = Context.GenericTag<Client.Client.Default>("@effect/platform/Http/Client")
|
|
33
37
|
|
|
38
|
+
/** @internal */
|
|
39
|
+
export const currentTracerDisabledWhen = globalValue(
|
|
40
|
+
Symbol.for("@effect/platform/Http/Client/tracerDisabledWhen"),
|
|
41
|
+
() => FiberRef.unsafeMake<Predicate.Predicate<ClientRequest.ClientRequest>>(constFalse)
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
/** @internal */
|
|
45
|
+
export const withTracerDisabledWhen = dual<
|
|
46
|
+
(
|
|
47
|
+
predicate: Predicate.Predicate<ClientRequest.ClientRequest>
|
|
48
|
+
) => <R, E, A>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>,
|
|
49
|
+
<R, E, A>(
|
|
50
|
+
effect: Effect.Effect<A, E, R>,
|
|
51
|
+
predicate: Predicate.Predicate<ClientRequest.ClientRequest>
|
|
52
|
+
) => Effect.Effect<A, E, R>
|
|
53
|
+
>(2, (self, pred) => Effect.locally(self, currentTracerDisabledWhen, pred))
|
|
54
|
+
|
|
34
55
|
const clientProto = {
|
|
35
56
|
[TypeId]: TypeId,
|
|
36
57
|
pipe() {
|
|
@@ -56,25 +77,38 @@ export const make = <R, E, A, R2, E2>(
|
|
|
56
77
|
return client as any
|
|
57
78
|
}
|
|
58
79
|
|
|
59
|
-
const addB3Headers = (req: ClientRequest.ClientRequest) =>
|
|
60
|
-
Effect.match(Effect.currentSpan, {
|
|
61
|
-
onFailure: () => req,
|
|
62
|
-
onSuccess: (span) =>
|
|
63
|
-
internalRequest.setHeader(
|
|
64
|
-
req,
|
|
65
|
-
"b3",
|
|
66
|
-
`${span.traceId}-${span.spanId}-${span.sampled ? "1" : "0"}${
|
|
67
|
-
span.parent._tag === "Some" ? `-${span.parent.value.spanId}` : ""
|
|
68
|
-
}`
|
|
69
|
-
)
|
|
70
|
-
})
|
|
71
|
-
|
|
72
80
|
/** @internal */
|
|
73
81
|
export const makeDefault = (
|
|
74
82
|
f: (
|
|
75
|
-
request: ClientRequest.ClientRequest
|
|
83
|
+
request: ClientRequest.ClientRequest,
|
|
84
|
+
fiber: Fiber.RuntimeFiber<ClientResponse.ClientResponse, Error.HttpClientError>
|
|
76
85
|
) => Effect.Effect<ClientResponse.ClientResponse, Error.HttpClientError, Scope.Scope>
|
|
77
|
-
): Client.Client.Default =>
|
|
86
|
+
): Client.Client.Default =>
|
|
87
|
+
make(
|
|
88
|
+
(effect) =>
|
|
89
|
+
Effect.flatMap(effect, (request) =>
|
|
90
|
+
Effect.withFiberRuntime((fiber) => {
|
|
91
|
+
const tracerDisabled = fiber.getFiberRef(currentTracerDisabledWhen)(request)
|
|
92
|
+
if (tracerDisabled) {
|
|
93
|
+
return f(request, fiber)
|
|
94
|
+
}
|
|
95
|
+
return Effect.useSpan(
|
|
96
|
+
`http.client ${request.method}`,
|
|
97
|
+
{
|
|
98
|
+
attributes: {
|
|
99
|
+
"http.method": request.method,
|
|
100
|
+
"http.url": request.url
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
(span) =>
|
|
104
|
+
Effect.withParentSpan(
|
|
105
|
+
f(internalRequest.setHeaders(request, TraceContext.toHeaders(span)), fiber),
|
|
106
|
+
span
|
|
107
|
+
)
|
|
108
|
+
)
|
|
109
|
+
})),
|
|
110
|
+
Effect.succeed as Client.Client.Preprocess<never, never>
|
|
111
|
+
)
|
|
78
112
|
|
|
79
113
|
/** @internal */
|
|
80
114
|
export const Fetch = Context.GenericTag<Client.Fetch, typeof globalThis.fetch>(
|
|
@@ -83,52 +117,52 @@ export const Fetch = Context.GenericTag<Client.Fetch, typeof globalThis.fetch>(
|
|
|
83
117
|
|
|
84
118
|
/** @internal */
|
|
85
119
|
export const fetch = (options?: RequestInit): Client.Client.Default =>
|
|
86
|
-
makeDefault((request) =>
|
|
87
|
-
|
|
120
|
+
makeDefault((request, fiber) => {
|
|
121
|
+
const context = fiber.getFiberRef(FiberRef.currentContext)
|
|
122
|
+
const fetch: typeof globalThis.fetch = context.unsafeMap.get(Fetch.key) ?? globalThis.fetch
|
|
123
|
+
return Effect.flatMap(
|
|
88
124
|
UrlParams.makeUrl(request.url, request.urlParams, (_) =>
|
|
89
125
|
new Error.RequestError({
|
|
90
126
|
request,
|
|
91
127
|
reason: "InvalidUrl",
|
|
92
128
|
error: _
|
|
93
129
|
})),
|
|
94
|
-
(url) =>
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
Effect.
|
|
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
|
-
return send(undefined)
|
|
129
|
-
})
|
|
130
|
+
(url) => {
|
|
131
|
+
const headers = new Headers(request.headers)
|
|
132
|
+
const send = (body: BodyInit | undefined) =>
|
|
133
|
+
pipe(
|
|
134
|
+
Effect.acquireRelease(
|
|
135
|
+
Effect.sync(() => new AbortController()),
|
|
136
|
+
(controller) => Effect.sync(() => controller.abort())
|
|
137
|
+
),
|
|
138
|
+
Effect.flatMap((controller) =>
|
|
139
|
+
Effect.tryPromise({
|
|
140
|
+
try: () =>
|
|
141
|
+
fetch(url, {
|
|
142
|
+
...options,
|
|
143
|
+
method: request.method,
|
|
144
|
+
headers,
|
|
145
|
+
body,
|
|
146
|
+
duplex: request.body._tag === "Stream" ? "half" : undefined,
|
|
147
|
+
signal: controller.signal
|
|
148
|
+
} as any),
|
|
149
|
+
catch: (_) =>
|
|
150
|
+
new Error.RequestError({
|
|
151
|
+
request,
|
|
152
|
+
reason: "Transport",
|
|
153
|
+
error: _
|
|
154
|
+
})
|
|
155
|
+
})
|
|
156
|
+
),
|
|
157
|
+
Effect.map((_) => internalResponse.fromWeb(request, _))
|
|
158
|
+
)
|
|
159
|
+
if (Method.hasBody(request.method)) {
|
|
160
|
+
return send(convertBody(request.body))
|
|
161
|
+
}
|
|
162
|
+
return send(undefined)
|
|
163
|
+
}
|
|
130
164
|
)
|
|
131
|
-
)
|
|
165
|
+
})
|
|
132
166
|
|
|
133
167
|
const convertBody = (body: Body.Body): BodyInit | undefined => {
|
|
134
168
|
switch (body._tag) {
|