cabal-version:       2.2
name:                servant-server
version:             0.20
x-revision: 1

synopsis:            A family of combinators for defining webservices APIs and serving them
category:            Servant, Web
description:
  A family of combinators for defining webservices APIs and serving them
  .
  You can learn about the basics in the <http://docs.servant.dev/en/stable/tutorial/index.html tutorial>.
  .
  <https://github.com/haskell-servant/servant/blob/master/servant-server/example/greet.hs Here>
  is a runnable example, with comments, that defines a dummy API and implements
  a webserver that serves this API, using this package.
  .
  <https://github.com/haskell-servant/servant/blob/master/servant-server/CHANGELOG.md CHANGELOG>

homepage:            http://docs.servant.dev/
bug-reports:         http://github.com/haskell-servant/servant/issues
license:             BSD-3-Clause
license-file:        LICENSE
author:              Servant Contributors
maintainer:          haskell-servant-maintainers@googlegroups.com
copyright:           2014-2016 Zalora South East Asia Pte Ltd, 2016-2019 Servant Contributors
build-type:          Simple
tested-with: GHC==8.6.5, GHC==8.8.4, GHC ==8.10.7, GHC ==9.0.2, GHC ==9.2.7, GHC ==9.4.4

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

source-repository head
  type: git
  location: http://github.com/haskell-servant/servant.git

library
  exposed-modules:
    Servant
    Servant.Server
    Servant.Server.Experimental.Auth
    Servant.Server.Generic
    Servant.Server.Internal
    Servant.Server.Internal.BasicAuth
    Servant.Server.Internal.Context
    Servant.Server.Internal.Delayed
    Servant.Server.Internal.DelayedIO
    Servant.Server.Internal.ErrorFormatter
    Servant.Server.Internal.Handler
    Servant.Server.Internal.RouteResult
    Servant.Server.Internal.Router
    Servant.Server.Internal.RoutingApplication
    Servant.Server.Internal.ServerError
    Servant.Server.StaticFiles
    Servant.Server.UVerb

  -- deprecated
  exposed-modules:
    Servant.Utils.StaticFiles

  -- Bundled with GHC: Lower bound to not force re-installs
  -- text and mtl are bundled starting with GHC-8.4
  build-depends:
      base                >= 4.9      && < 4.19
    , bytestring          >= 0.10.8.1 && < 0.12
    , constraints         >= 0.2      && < 0.14
    , containers          >= 0.5.7.1  && < 0.7
    , mtl                 ^>= 2.2.2   || ^>= 2.3.1
    , text                >= 1.2.3.0  && < 2.1
    , transformers        >= 0.5.2.0  && < 0.7
    , filepath            >= 1.4.1.1  && < 1.5

  -- Servant dependencies
  -- strict dependency as we re-export 'servant' things.
  build-depends:
      servant             >= 0.20     && < 0.21
    , http-api-data       >= 0.4.1    && < 0.6

  -- Other dependencies: Lower bound around what is in the latest Stackage LTS.
  -- Here can be exceptions if we really need features from the newer versions.
  build-depends:
      base-compat         >= 0.10.5   && < 0.14
    , base64-bytestring   >= 1.0.0.1  && < 1.3
    , exceptions          >= 0.10.0   && < 0.11
    , http-media          >= 0.7.1.3  && < 0.9
    , http-types          >= 0.12.2   && < 0.13
    , network-uri         >= 2.6.1.0  && < 2.8
    , monad-control       >= 1.0.2.3  && < 1.1
    , network             >= 2.8      && < 3.2
    , sop-core            >= 0.4.0.0  && < 0.6
    , string-conversions  >= 0.4.0.1  && < 0.5
    , resourcet           >= 1.2.2    && < 1.4
    , tagged              >= 0.8.6    && < 0.9
    , transformers-base   >= 0.4.5.2  && < 0.5
    , wai                 >= 3.2.2.1  && < 3.3
    , wai-app-static      >= 3.1.6.2  && < 3.2
    , word8               >= 0.1.3    && < 0.2

  hs-source-dirs: src
  default-language: Haskell2010

  ghc-options: -Wall -Wno-redundant-constraints

executable greet
  main-is: greet.hs
  hs-source-dirs: example
  ghc-options: -Wall
  default-language: Haskell2010
  build-depends:
      base
    , base-compat
    , servant
    , servant-server
    , wai
    , text

  build-depends:
      aeson               >= 1.4.1.0  && < 3
    , warp                >= 3.2.25   && < 3.4

test-suite spec
  type: exitcode-stdio-1.0
  ghc-options: -Wall
  default-language: Haskell2010
  hs-source-dirs: test
  main-is: Spec.hs
  other-modules:
      Servant.ArbitraryMonadServerSpec
      Servant.Server.ErrorSpec
      Servant.Server.Internal.ContextSpec
      Servant.Server.Internal.RoutingApplicationSpec
      Servant.Server.RouterSpec
      Servant.Server.StaticFilesSpec
      Servant.Server.StreamingSpec
      Servant.Server.UsingContextSpec
      Servant.Server.UsingContextSpec.TestCombinators
      Servant.HoistSpec
      Servant.ServerSpec

  -- Dependencies inherited from the library. No need to specify bounds.
  build-depends:
      base
    , base-compat
    , base64-bytestring
    , bytestring
    , http-types
    , mtl
    , resourcet
    , safe
    , servant
    , servant-server
    , sop-core
    , string-conversions
    , text
    , transformers
    , transformers-compat
    , wai

  -- Additional dependencies
  build-depends:
      aeson                >= 1.4.1.0  && < 3
    , directory            >= 1.3.0.0  && < 1.4
    , hspec                >= 2.6.0    && < 2.12
    , hspec-wai            >= 0.10.1   && < 0.12
    , QuickCheck           >= 2.12.6.1 && < 2.15
    , should-not-typecheck >= 2.1.0    && < 2.2
    , temporary            >= 1.3      && < 1.4
    , wai-extra            >= 3.0.24.3 && < 3.2

  build-tool-depends:
    hspec-discover:hspec-discover >= 2.6.0 && <2.12