packages feed

http-tower-hs-0.1.0.0: http-tower-hs.cabal

cabal-version: 1.12

-- This file has been generated from package.yaml by hpack version 0.38.1.
--
-- see: https://github.com/sol/hpack

name:           http-tower-hs
version:        0.1.0.0
synopsis:       Composable HTTP client middleware for Haskell, inspired by Rust's Tower
description:    http-tower-hs provides a composable middleware abstraction for HTTP clients.
                Build middleware stacks with retry, timeout, logging, and more — all with
                pure error handling via Either (no exceptions).
category:       Network
homepage:       https://github.com/jarlah/http-tower-hs#readme
bug-reports:    https://github.com/jarlah/http-tower-hs/issues
author:         Jarl André Hübenthal
maintainer:     jarlah@protonmail.com
copyright:      2026 Jarl André Hübenthal
license:        MIT
license-file:   LICENSE
build-type:     Simple
tested-with:
    GHC == 9.6.6, GHC == 9.8.4, GHC == 9.10.1
extra-source-files:
    README.md
    CHANGELOG.md

source-repository head
  type: git
  location: https://github.com/jarlah/http-tower-hs

library
  exposed-modules:
      Network.HTTP.Tower
      Network.HTTP.Tower.Core
      Network.HTTP.Tower.Error
      Network.HTTP.Tower.Client
      Network.HTTP.Tower.Middleware.Retry
      Network.HTTP.Tower.Middleware.Timeout
      Network.HTTP.Tower.Middleware.Logging
      Network.HTTP.Tower.Middleware.CircuitBreaker
      Network.HTTP.Tower.Middleware.Tracing
      Network.HTTP.Tower.Middleware.SetHeader
      Network.HTTP.Tower.Middleware.RequestId
      Network.HTTP.Tower.Middleware.FollowRedirect
      Network.HTTP.Tower.Middleware.Filter
      Network.HTTP.Tower.Middleware.Hedge
      Network.HTTP.Tower.Middleware.Validate
      Network.HTTP.Tower.Middleware.TestDouble
  other-modules:
      Paths_http_tower_hs
  hs-source-dirs:
      src
  build-depends:
      async ==2.2.*
    , base >=4.14 && <5
    , bytestring >=0.11 && <0.13
    , containers >=0.6 && <0.8
    , crypton-connection ==0.4.*
    , crypton-x509-store ==1.6.*
    , crypton-x509-system ==1.6.*
    , hs-opentelemetry-api ==0.3.*
    , http-client ==0.7.*
    , http-client-tls ==0.3.*
    , http-types ==0.12.*
    , safe-exceptions ==0.1.*
    , stm ==2.5.*
    , text >=2.0 && <2.2
    , time >=1.11 && <1.15
    , tls >=2.0 && <2.2
    , unordered-containers ==0.2.*
    , uuid ==1.3.*
  default-language: Haskell2010

test-suite http-tower-hs-test
  type: exitcode-stdio-1.0
  main-is: Spec.hs
  other-modules:
      Network.HTTP.Tower.ClientTLSSpec
      Network.HTTP.Tower.CoreSpec
      Network.HTTP.Tower.Middleware.CircuitBreakerSpec
      Network.HTTP.Tower.Middleware.FilterSpec
      Network.HTTP.Tower.Middleware.FollowRedirectSpec
      Network.HTTP.Tower.Middleware.HedgeSpec
      Network.HTTP.Tower.Middleware.LoggingSpec
      Network.HTTP.Tower.Middleware.RequestIdSpec
      Network.HTTP.Tower.Middleware.RetrySpec
      Network.HTTP.Tower.Middleware.SetHeaderSpec
      Network.HTTP.Tower.Middleware.TestDoubleSpec
      Network.HTTP.Tower.Middleware.TimeoutSpec
      Network.HTTP.Tower.Middleware.TracingDockerSpec
      Network.HTTP.Tower.Middleware.TracingIntegrationSpec
      Network.HTTP.Tower.Middleware.TracingSpec
      Network.HTTP.Tower.Middleware.ValidateSpec
      Paths_http_tower_hs
  hs-source-dirs:
      test
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-tool-depends:
      hspec-discover:hspec-discover
  build-depends:
      QuickCheck ==2.14.*
    , aeson >=2.1 && <2.3
    , async ==2.2.*
    , base >=4.14 && <5
    , bytestring >=0.11 && <0.13
    , containers >=0.6 && <0.8
    , directory ==1.3.*
    , hs-opentelemetry-api ==0.3.*
    , hs-opentelemetry-exporter-in-memory >=0.0.1 && <0.1
    , hs-opentelemetry-exporter-otlp ==0.1.*
    , hs-opentelemetry-sdk ==0.1.*
    , hspec ==2.11.*
    , hspec-discover ==2.11.*
    , http-client ==0.7.*
    , http-client-tls ==0.3.*
    , http-conduit ==2.3.*
    , http-tower-hs
    , http-types ==0.12.*
    , process ==1.6.*
    , stm ==2.5.*
    , testcontainers ==0.5.*
    , text >=2.0 && <2.2
    , time >=1.11 && <1.15
    , unagi-chan ==0.4.*
    , uuid ==1.3.*
    , vector ==0.13.*
  default-language: Haskell2010