packages feed

katip-wai-0.2.0.1: katip-wai.cabal

cabal-version: 2.2

name: katip-wai
version: 0.2.0.1

synopsis: WAI middleware for logging request and response info through katip.
description: WAI middleware for logging request and response info through katip. Please see the README on GitHub at <https://github.com/Disco-Dave/katip-wai#readme>

build-type: Simple
category: Web, Logging
homepage: https://github.com/Disco-Dave/katip-wai#readme
bug-reports:https://github.com/Disco-Dave/katip-wai/issues

author: David Burkett
maintainer: David Burkett

copyright: 2026 David Burkett
license: BSD-3-Clause
license-file: LICENSE

extra-source-files:
  README.md
  CHANGELOG.md
  CONTRIBUTING.md


flag pedantic
  default: False
  description: Enables @-Werror@, which turns warnings into errors.
  manual: True


common shared
  default-language: Haskell2010

  default-extensions:
    DeriveGeneric
    FlexibleContexts
    GeneralizedNewtypeDeriving
    NamedFieldPuns
    NumericUnderscores
    OverloadedStrings
    RankNTypes
    RecordWildCards
    StrictData

  ghc-options:
    -Weverything 
    -Wno-implicit-prelude 
    -Wno-safe 
    -Wno-unsafe 
    -Wno-missing-exported-signatures 
    -Wno-missing-import-lists 
    -Wno-missed-specialisations 
    -Wno-all-missed-specialisations 
    -Wno-missing-local-signatures 
    -Wno-monomorphism-restriction 
    -Wno-missing-deriving-strategies
    -Werror=incomplete-patterns

  if impl(ghc >= 8.10)
    ghc-options:
      -Wno-missing-safe-haskell-mode
      -Wno-prepositive-qualified-module

  if impl(ghc >= 9.2)
    ghc-options:
      -Wno-missing-kind-signatures

  if impl(ghc >= 9.8)
    ghc-options:
      -Wno-missing-role-annotations 

  if flag(pedantic)
    ghc-options:
      -Werror

  build-depends:
    , base >=4.7 && <5


library
  import: shared

  hs-source-dirs: src

  exposed-modules:
      Katip.Wai
      Katip.Wai.Middleware
      Katip.Wai.Options
      Katip.Wai.Request
      Katip.Wai.Response

  build-depends:
    , aeson >=0.6 && <2.3
    , bytestring >=0.9 && <0.13
    , case-insensitive >=1.2.1 && <1.3
    , clock >=0.8 && <0.9
    , containers >=0.6.7 && <0.9
    , http-types >=0.12 && <0.13
    , katip >=0.8 && <0.9
    , network >=3.0 && <3.3
    , text >=0.11 && <2.2
    , time >=1.12.2 && <1.16
    , uuid >=1.3 && <1.4
    , wai >=3.0 && <3.3


test-suite katip-wai-test
  import: shared

  type: exitcode-stdio-1.0
  main-is: Main.hs
  hs-source-dirs: test

  default-extensions:
    DuplicateRecordFields

  ghc-options:
    -threaded 
    -rtsopts 
    -with-rtsopts=-N

  other-modules:
      Katip.Wai.DebugApplication
      Katip.Wai.DebugScribe
      Katip.Wai.LogEntry
      Katip.WaiSpec
      Spec

  build-tool-depends:
    , hspec-discover:hspec-discover ==2.*

  build-depends:
    , aeson
    , async >=2.2 && <2.3
    , bytestring
    , containers
    , hspec >=2.10 && <2.12
    , http-client >=0.7 && <0.8
    , http-types
    , katip
    , katip-wai
    , stm >=2.5 && <2.6
    , text
    , uuid
    , wai
    , warp >=3.3 && <3.5