packages feed

webgear-server-1.0.3: webgear-server.cabal

cabal-version:       2.4
name:                webgear-server
version:             1.0.3
synopsis:            Composable, type-safe library to build HTTP API servers
description:
    WebGear is a library to for building composable, type-safe HTTP API servers.
    WebGear focuses on good documentation and usability. See the documentation
    of WebGear module to get started.
homepage:            https://github.com/haskell-webgear/webgear#readme
bug-reports:         https://github.com/haskell-webgear/webgear/issues
author:              Raghu Kaippully
maintainer:          rkaippully@gmail.com
copyright:           2020 Raghu Kaippully
license:             MPL-2.0
license-file:        LICENSE
category:            Web
build-type:          Simple
extra-source-files:  README.md
                     CHANGELOG.md


source-repository head
  type:      git
  location:  https://github.com/haskell-webgear/webgear


common webgear-common
  default-language:   Haskell2010
  default-extensions: Arrows
                      ConstraintKinds
                      DataKinds
                      DeriveFunctor
                      DeriveGeneric
                      DerivingStrategies
                      DerivingVia
                      FlexibleContexts
                      FlexibleInstances
                      FunctionalDependencies
                      GeneralizedNewtypeDeriving
                      InstanceSigs
                      KindSignatures
                      LambdaCase
                      MultiParamTypeClasses
                      NamedFieldPuns
                      OverloadedStrings
                      OverloadedLists
                      PolyKinds
                      RankNTypes
                      RecordWildCards
                      ScopedTypeVariables
                      StandaloneDeriving
                      TemplateHaskellQuotes
                      TypeApplications
                      TypeFamilies
                      TypeOperators
  build-depends:      base >=4.13.0.0 && <4.17
                    , base64-bytestring >=1.0.0.3 && <1.3
                    , bytestring >=0.10.10.1 && <0.12
                    , http-types ==0.12.*
                    , text >=1.2.0.0 && <2.1
                    , wai ==3.2.*
                    , webgear-core ==1.0.3
  ghc-options:        -Wall
                      -Wno-unticked-promoted-constructors
                      -Wcompat
                      -Widentities
                      -Wincomplete-record-updates
                      -Wincomplete-uni-patterns
                      -Wmissing-fields
                      -Wmissing-home-modules
                      -Wmissing-deriving-strategies
                      -Wpartial-fields
                      -Wredundant-constraints
                      -fshow-warning-groups

  if impl(ghc >= 8.10)
    ghc-options:      -Wunused-packages
                      
library
  import:             webgear-common
  exposed-modules:    WebGear.Server
                    , WebGear.Server.Handler
                    , WebGear.Server.Traits
                    , WebGear.Server.Trait.Auth.Basic
                    , WebGear.Server.Trait.Auth.JWT
                    , WebGear.Server.Trait.Body
                    , WebGear.Server.Trait.Header
                    , WebGear.Server.Trait.Method
                    , WebGear.Server.Trait.Path
                    , WebGear.Server.Trait.QueryParam
                    , WebGear.Server.Trait.Status
  other-modules:      Paths_webgear_server
  autogen-modules:    Paths_webgear_server
  hs-source-dirs:     src
  build-depends:      aeson >=1.4 && <1.6 || >=2.0 && <2.1
                    , arrows ==0.4.*
                    , bytestring-conversion ==0.3.*
                    , http-api-data >=0.4.2 && <0.6
                    , http-media ==0.8.*
                    , jose >=0.8.3.1 && <0.10
                    , monad-time ==0.3.*
                    , mtl ==2.2.*
                    , unordered-containers ==0.2.*

test-suite webgear-server-test
  import:             webgear-common
  type:               exitcode-stdio-1.0
  main-is:            Main.hs
  other-modules:      Unit
                    , Unit.Trait.Header
                    , Unit.Trait.Path
                    , Properties
                    , Properties.Trait.Body
                    , Properties.Trait.Header
                    , Properties.Trait.QueryParam
                    , Properties.Trait.Method
                    , Properties.Trait.Path
                    , Properties.Trait.Auth.Basic
  hs-source-dirs:     test
  default-extensions: TemplateHaskell
  ghc-options:        -threaded
                      -rtsopts
                      -with-rtsopts=-N
  build-depends:      QuickCheck >=2.13 && <2.15
                    , quickcheck-instances ==0.3.*
                    , tasty >=1.2 && <1.5
                    , tasty-hunit ==0.10.*
                    , tasty-quickcheck ==0.10.*
                    , webgear-server