cabal-version:  2.2
name:           servant-auth-server
version: 0.4.7.0
synopsis:       servant-server/servant-auth compatibility
description:    This package provides the required instances for using the @Auth@ combinator
                in your 'servant' server.
                .
                Both cookie- and token- (REST API) based authentication is provided.
                .
                For a quick overview of the usage, see the <https://github.com/haskell-servant/servant/tree/master/servant-auth#readme README>.
category:       Web, Servant, Authentication
homepage:       https://github.com/haskell-servant/servant/tree/master/servant-auth#readme
bug-reports:    https://github.com/haskell-servant/servant/issues
author:         Julian K. Arni
maintainer:     jkarni@gmail.com
copyright:      (c) Julian K. Arni
license:        BSD-3-Clause
license-file:   LICENSE
tested-with:    GHC ==8.6.5 || ==8.8.4 || ==8.10.4 || ==9.0.1
build-type:     Simple
extra-source-files:
    CHANGELOG.md

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

library
  hs-source-dirs:
      src
  default-extensions: ConstraintKinds DataKinds DefaultSignatures DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable FlexibleContexts FlexibleInstances FunctionalDependencies GADTs KindSignatures MultiParamTypeClasses OverloadedStrings RankNTypes ScopedTypeVariables TypeFamilies TypeOperators
  ghc-options: -Wall
  build-depends:
      base                    >= 4.10     && < 4.18
    , aeson                   >= 1.0.0.1  && < 3
    , base64-bytestring       >= 1.0.0.1  && < 2
    , blaze-builder           >= 0.4.1.0  && < 0.5
    , bytestring              >= 0.10.6.0 && < 0.12
    , case-insensitive        >= 1.2.0.11 && < 1.3
    , cookie                  >= 0.4.4    && < 0.5
    , data-default-class      >= 0.1.2.0  && < 0.2
    , entropy                 >= 0.4.1.3  && < 0.5
    , http-types              >= 0.12.2   && < 0.13
    , jose                    >= 0.7.0.0  && < 0.10
    , lens                    >= 4.16.1   && < 5.3
    , memory                  >= 0.14.16  && < 0.19
    , monad-time              >= 0.3.1.0  && < 0.4
    , mtl                     >= 2.2.2    && < 2.3
    , servant                 >= 0.13     && < 0.20
    , servant-auth            == 0.4.*
    , servant-server          >= 0.13     && < 0.20
    , tagged                  >= 0.8.4    && < 0.9
    , text                    >= 1.2.3.0  && < 2.1
    , time                    >= 1.5.0.1  && < 1.13
    , unordered-containers    >= 0.2.9.0  && < 0.3
    , wai                     >= 3.2.1.2  && < 3.3

  if impl(ghc >= 9)
    build-depends:
      -- base64-bytestring 1.2.1.0 contains important fix for GHC-9, lower versions
      -- produce wrong results, thus corrupring JWT via jose package.
      -- See: https://github.com/haskell/base64-bytestring/pull/46
      base64-bytestring       >= 1.2.1.0

  exposed-modules:
      Servant.Auth.Server
      Servant.Auth.Server.Internal
      Servant.Auth.Server.Internal.AddSetCookie
      Servant.Auth.Server.Internal.BasicAuth
      Servant.Auth.Server.Internal.Class
      Servant.Auth.Server.Internal.ConfigTypes
      Servant.Auth.Server.Internal.Cookie
      Servant.Auth.Server.Internal.FormLogin
      Servant.Auth.Server.Internal.JWT
      Servant.Auth.Server.Internal.ThrowAll
      Servant.Auth.Server.Internal.Types
      Servant.Auth.Server.SetCookieOrphan
  default-language: Haskell2010

test-suite readme
  type: exitcode-stdio-1.0
  main-is: README.lhs
  default-extensions: ConstraintKinds DataKinds DefaultSignatures DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable FlexibleContexts FlexibleInstances FunctionalDependencies GADTs KindSignatures MultiParamTypeClasses OverloadedStrings RankNTypes ScopedTypeVariables TypeFamilies TypeOperators
  ghc-options: -Wall -pgmL markdown-unlit
  build-tool-depends: markdown-unlit:markdown-unlit
  build-depends:
      base
    , servant-auth
    , servant-auth-server
    , servant-server
    , aeson
    , mtl
    , warp
  default-language: Haskell2010
  if impl(ghcjs)
    buildable: False

test-suite spec
  type: exitcode-stdio-1.0
  main-is: Spec.hs
  hs-source-dirs:
      test
  default-extensions: ConstraintKinds DataKinds DefaultSignatures DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable FlexibleContexts FlexibleInstances FunctionalDependencies GADTs KindSignatures MultiParamTypeClasses OverloadedStrings RankNTypes ScopedTypeVariables TypeFamilies TypeOperators
  ghc-options: -Wall
  build-tool-depends: hspec-discover:hspec-discover >=2.5.5 && <2.10

  -- dependencies with bounds inherited from the library stanza
  build-depends:
      base
    , aeson
    , bytestring
    , case-insensitive
    , jose
    , lens
    , mtl
    , time
    , http-types
    , wai
    , servant
    , servant-server
    , transformers

  -- test dependencies
  build-depends:
      servant-auth-server
    , hspec       >= 2.5.5     && < 2.10
    , QuickCheck  >= 2.11.3    && < 2.15
    , http-client >= 0.5.13.1  && < 0.8
    , lens-aeson  >= 1.0.2     && < 1.3
    , warp        >= 3.2.25    && < 3.4
    , wreq        >= 0.5.2.1   && < 0.6
  other-modules:
      Servant.Auth.ServerSpec
  default-language: Haskell2010