packages feed

webgear-server-0.2.0: webgear-server.cabal

cabal-version:       2.4
name:                webgear-server
version:             0.2.0
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/rkaippully/webgear#readme
bug-reports:         https://github.com/rkaippully/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/rkaippully/webgear


common webgear-common
  default-language:   Haskell2010
  default-extensions: DataKinds
                      DeriveFunctor
                      DerivingStrategies
                      FlexibleContexts
                      FlexibleInstances
                      GeneralizedNewtypeDeriving
                      InstanceSigs
                      KindSignatures
                      LambdaCase
                      MultiParamTypeClasses
                      OverloadedStrings
                      PolyKinds
                      RankNTypes
                      RecordWildCards
                      ScopedTypeVariables
                      TemplateHaskellQuotes
                      TypeApplications
                      TypeFamilies
                      TypeOperators
  build-depends:      base                  >=4.12.0.0 && <5
                    , template-haskell      >=2.14.0.0 && <3
                    , mtl                   ==2.2.*
                    , unordered-containers  ==0.2.*
                    , wai                   ==3.2.*
                    , bytestring            ==0.10.*
                    , text                  ==1.2.*
                    , case-insensitive      ==1.2.*
                    , base64-bytestring     >=1.0.0.3 && <1.3
                    , bytestring-conversion ==0.3.*
                    , http-types            ==0.12.*
                    , http-api-data         ==0.4.*
                    , aeson                 >=1.4 && <1.6
                    , network               >=2.8 && <3.2
  ghc-options:        -Wall
                      -Wno-unticked-promoted-constructors
                      -Wincomplete-record-updates
                      -Wincomplete-uni-patterns
                      -Wredundant-constraints

  if impl(ghc >= 8.8.1)
    ghc-options:      -fwrite-ide-info
                      -hiedir=.hie
                      
library
  import:             webgear-common
  exposed-modules:    WebGear
                    , WebGear.Modifiers
                    , WebGear.Trait
                    , WebGear.Types
                    , WebGear.Middlewares
                    , WebGear.Middlewares.Auth.Basic
                    , WebGear.Middlewares.Body
                    , WebGear.Middlewares.Header
                    , WebGear.Middlewares.Method
                    , WebGear.Middlewares.Params
                    , WebGear.Middlewares.Path
  other-modules:      Paths_webgear_server
                    , WebGear.Util
  autogen-modules:    Paths_webgear_server
  hs-source-dirs:     src

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.Params
                    , 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:      tasty                 >=1.2 && <1.4
                    , tasty-quickcheck      ==0.10.*
                    , tasty-hunit           ==0.10.*
                    , QuickCheck            >=2.13 && <2.15
                    , quickcheck-instances  ==0.3.*
                    , webgear-server