github Effect-TS/effect @effect/platform@0.81.0

latest releases: @effect/workflow@0.9.3, @effect/platform@0.90.7, effect@3.17.13...
4 months ago

Minor Changes

  • #4842 672920f Thanks @tim-smart! - allow overriding http span names

    import { FetchHttpClient, HttpClient } from "@effect/platform"
    import { NodeRuntime } from "@effect/platform-node"
    import { Effect } from "effect"
    
    Effect.gen(function* () {
      const client = (yield* HttpClient.HttpClient).pipe(
        // Customize the span names for this HttpClient
        HttpClient.withSpanNameGenerator(
          (request) => `http.client ${request.method} ${request.url}`
        )
      )
    
      yield* client.get("https://jsonplaceholder.typicode.com/posts/1")
    }).pipe(Effect.provide(FetchHttpClient.layer), NodeRuntime.runMain)

    And for a server:

    import {
      HttpMiddleware,
      HttpRouter,
      HttpServer,
      HttpServerResponse
    } from "@effect/platform"
    import { NodeHttpServer, NodeRuntime } from "@effect/platform-node"
    import { Layer } from "effect"
    import { createServer } from "http"
    
    HttpRouter.empty.pipe(
      HttpRouter.get("/", HttpServerResponse.empty()),
      HttpServer.serve(),
      // Customize the span names for this HttpApp
      HttpMiddleware.withSpanNameGenerator((request) => `GET ${request.url}`),
      Layer.provide(NodeHttpServer.layer(createServer, { port: 3000 })),
      Layer.launch,
      NodeRuntime.runMain
    )

Don't miss a new effect release

NewReleases is sending notifications on new releases.