packages feed

wai-otel-effectful-1.0.0: wai-otel-effectful.cabal

cabal-version: 3.0
name: wai-otel-effectful
version: 1.0.0
synopsis: OpenTelemetry-instrumented WAI middleware for the Effectful ecosystem
description:
  Instrumented @<https://hackage.haskell.org/package/wai wai>@ middleware that
  extracts and injects OpenTelemetry tracing context on requests, in the style
  of @<https://hackage.haskell.org/package/hs-opentelemetry-instrumentation-wai hs-opentelemetry-instrumentation-wai>@,
  built on top of @<https://hackage.haskell.org/package/wai-effectful wai-effectful>@
  and @otel-effectful@.

homepage: https://digital-autonomy.institute
license: EUPL-1.2
license-file: LICENCE
author: IDA
maintainer: IDA
bug-reports: https://issues.digital-autonomy.institute
category: Web
build-type: Simple
extra-doc-files:
  CHANGELOG.md

common common
  default-language: Haskell2010
  ghc-options:
    -Weverything
    -Wno-unsafe
    -Wno-missing-safe-haskell-mode
    -Wno-missing-export-lists
    -Wno-missing-import-lists
    -Wno-missing-kind-signatures
    -Wno-all-missed-specialisations
    -Wno-missing-role-annotations
    -Wno-x-unstable-interface

  default-extensions:
    BlockArguments
    DataKinds
    ExplicitNamespaces
    FlexibleContexts
    ImportQualifiedPost
    LambdaCase
    NamedFieldPuns
    NoImplicitPrelude
    OverloadedRecordDot
    OverloadedStrings
    RecordWildCards
    ScopedTypeVariables
    TypeApplications
    TypeFamilies
    TypeOperators

  build-depends:
    base >=4.10 && <5,
    effectful-core >=2 && <3,

library
  import: common
  hs-source-dirs: src
  build-depends:
    aeson >=2.2 && <2.3,
    http-types >=0.12 && <0.13,
    network >=3.2 && <3.3,
    otel-effectful >=1.0 && <1.1,
    text >=2.1 && <2.2,
    wai-effectful >=1.0 && <1.1,

  exposed-modules:
    Effectful.Wai.OpenTelemetry

test-suite test
  import: common
  type: exitcode-stdio-1.0
  ghc-options: -threaded
  hs-source-dirs: test
  main-is: Main.hs
  build-depends:
    bytestring >=0.12 && <0.13,
    effectful >=2.6 && <2.8,
    hspec-effectful >=1.0 && <1.2,
    http-client-effectful >=1.0 && <1.1,
    http-types >=0.12 && <0.13,
    otel-effectful >=1.0 && <1.1,
    wai-effectful >=1.0 && <1.1,
    wai-otel-effectful,
    warp-effectful >=1.0 && <1.2,