21 lines · 829 B · TypeScript
RawDownload
import { withRelayClientTracing } from "@t3tools/shared/relayTracing";import * as Effect from "effect/Effect";import * as Option from "effect/Option";import { HttpServerRequest, HttpTraceContext } from "effect/unstable/http"; export const traceRelayRequest = <A, E, R>(  effect: Effect.Effect<A, E, R>,): Effect.Effect<A, E, R> => effect.pipe(withRelayClientTracing); export const traceAuthenticatedRelayRequest = <A, E, R>(  effect: Effect.Effect<A, E, R>,): Effect.Effect<A, E, R | HttpServerRequest.HttpServerRequest> =>  HttpServerRequest.HttpServerRequest.pipe(    Effect.flatMap((request) =>      Option.match(HttpTraceContext.fromHeaders(request.headers), {        onNone: () => effect,        onSome: (parent) => effect.pipe(Effect.withParentSpan(parent)),      }),    ),    withRelayClientTracing,  );

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t