@effect/platform 0.50.2 → 0.50.3
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/Http/Headers.js +59 -26
- package/dist/cjs/Http/Headers.js.map +1 -1
- package/dist/cjs/Http/UrlParams.js.map +1 -1
- package/dist/cjs/internal/http/client.js +11 -7
- package/dist/cjs/internal/http/client.js.map +1 -1
- package/dist/cjs/internal/http/middleware.js +13 -6
- package/dist/cjs/internal/http/middleware.js.map +1 -1
- package/dist/dts/Http/Headers.d.ts +9 -2
- package/dist/dts/Http/Headers.d.ts.map +1 -1
- package/dist/dts/Http/UrlParams.d.ts.map +1 -1
- package/dist/esm/Http/Headers.js +57 -24
- package/dist/esm/Http/Headers.js.map +1 -1
- package/dist/esm/Http/UrlParams.js.map +1 -1
- package/dist/esm/internal/http/client.js +11 -7
- package/dist/esm/internal/http/client.js.map +1 -1
- package/dist/esm/internal/http/middleware.js +13 -6
- package/dist/esm/internal/http/middleware.js.map +1 -1
- package/package.json +2 -2
- package/src/Http/Headers.ts +81 -43
- package/src/Http/UrlParams.ts +1 -0
- package/src/internal/http/client.ts +11 -7
- package/src/internal/http/middleware.ts +13 -6
package/src/Http/UrlParams.ts
CHANGED
|
@@ -20,6 +20,7 @@ import * as Error from "../../Http/ClientError.js"
|
|
|
20
20
|
import type * as ClientRequest from "../../Http/ClientRequest.js"
|
|
21
21
|
import type * as ClientResponse from "../../Http/ClientResponse.js"
|
|
22
22
|
import * as Cookies from "../../Http/Cookies.js"
|
|
23
|
+
import * as Headers from "../../Http/Headers.js"
|
|
23
24
|
import * as Method from "../../Http/Method.js"
|
|
24
25
|
import * as TraceContext from "../../Http/TraceContext.js"
|
|
25
26
|
import * as UrlParams from "../../Http/UrlParams.js"
|
|
@@ -137,9 +138,11 @@ export const makeDefault = (
|
|
|
137
138
|
if (query !== "") {
|
|
138
139
|
span.attribute("url.query", query)
|
|
139
140
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
141
|
+
const redactedHeaderNames = fiber.getFiberRef(Headers.currentRedactedNames)
|
|
142
|
+
const redactedHeaders = Headers.redact(request.headers, redactedHeaderNames)
|
|
143
|
+
for (const name in redactedHeaders) {
|
|
144
|
+
span.attribute(`http.request.header.${name}`, String(redactedHeaders[name]))
|
|
145
|
+
}
|
|
143
146
|
return Effect.tap(
|
|
144
147
|
Effect.withParentSpan(
|
|
145
148
|
f(
|
|
@@ -152,9 +155,10 @@ export const makeDefault = (
|
|
|
152
155
|
),
|
|
153
156
|
(response) => {
|
|
154
157
|
span.attribute("http.response.status_code", response.status)
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
+
const redactedHeaders = Headers.redact(response.headers, redactedHeaderNames)
|
|
159
|
+
for (const name in redactedHeaders) {
|
|
160
|
+
span.attribute(`http.response.header.${name}`, String(redactedHeaders[name]))
|
|
161
|
+
}
|
|
158
162
|
}
|
|
159
163
|
)
|
|
160
164
|
}
|
|
@@ -172,7 +176,7 @@ export const fetch: Client.Client.Default = makeDefault((request, url, signal, f
|
|
|
172
176
|
const context = fiber.getFiberRef(FiberRef.currentContext)
|
|
173
177
|
const fetch: typeof globalThis.fetch = context.unsafeMap.get(Fetch.key) ?? globalThis.fetch
|
|
174
178
|
const options = fiber.getFiberRef(currentFetchOptions)
|
|
175
|
-
const headers = new Headers(request.headers)
|
|
179
|
+
const headers = new globalThis.Headers(request.headers)
|
|
176
180
|
const send = (body: BodyInit | undefined) =>
|
|
177
181
|
Effect.map(
|
|
178
182
|
Effect.tryPromise({
|
|
@@ -112,9 +112,15 @@ export const tracer = make((httpApp) =>
|
|
|
112
112
|
let url: URL | undefined = undefined
|
|
113
113
|
try {
|
|
114
114
|
url = new URL(request.url, `${protocol}://${host}`)
|
|
115
|
+
if (url.username !== "" || url.password !== "") {
|
|
116
|
+
url.username = "REDACTED"
|
|
117
|
+
url.password = "REDACTED"
|
|
118
|
+
}
|
|
115
119
|
} catch (_) {
|
|
116
120
|
//
|
|
117
121
|
}
|
|
122
|
+
const redactedHeaderNames = fiber.getFiberRef(Headers.currentRedactedNames)
|
|
123
|
+
const redactedHeaders = Headers.redact(request.headers, redactedHeaderNames)
|
|
118
124
|
return Effect.useSpan(
|
|
119
125
|
`http.server ${request.method}`,
|
|
120
126
|
{ parent: Option.getOrUndefined(TraceContext.fromHeaders(request.headers)) },
|
|
@@ -132,9 +138,9 @@ export const tracer = make((httpApp) =>
|
|
|
132
138
|
if (request.headers["user-agent"] !== undefined) {
|
|
133
139
|
span.attribute("user_agent.original", request.headers["user-agent"])
|
|
134
140
|
}
|
|
135
|
-
|
|
136
|
-
span.attribute(`http.request.header.${
|
|
137
|
-
}
|
|
141
|
+
for (const name in redactedHeaders) {
|
|
142
|
+
span.attribute(`http.request.header.${name}`, String(redactedHeaders[name]))
|
|
143
|
+
}
|
|
138
144
|
if (request.remoteAddress._tag === "Some") {
|
|
139
145
|
span.attribute("client.address", request.remoteAddress.value)
|
|
140
146
|
}
|
|
@@ -146,9 +152,10 @@ export const tracer = make((httpApp) =>
|
|
|
146
152
|
} else {
|
|
147
153
|
const response = exit.value
|
|
148
154
|
span.attribute("http.response.status_code", response.status)
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
155
|
+
const redactedHeaders = Headers.redact(response.headers, redactedHeaderNames)
|
|
156
|
+
for (const name in redactedHeaders) {
|
|
157
|
+
span.attribute(`http.response.header.${name}`, String(redactedHeaders[name]))
|
|
158
|
+
}
|
|
152
159
|
}
|
|
153
160
|
return exit
|
|
154
161
|
}
|