packages feed

servant-auth-cookie-0.4: servant-auth-cookie.cabal

name:                servant-auth-cookie
version:             0.4
synopsis:            Authentication via encrypted cookies
description:         Authentication via encrypted client-side cookies,
                     inspired by client-session library by Michael Snoyman and based on
                     ideas of the paper "A Secure Cookie Protocol" by Alex Liu et al.
license:             BSD3
license-file:        LICENSE
author:              Al Zohali
maintainer:          Al Zohali <zohl@fmap.me>
copyright:           Al Zohali <zohl@fmap.me>, Mark Karpov <markkarpov@opmbx.org>
category:            Web
build-type:          Simple
cabal-version:       >=1.10

source-repository head
  type:     git
  location: https://github.com/zohl/servant-auth-cookie.git

flag dev
  description:        Turn on development settings.
  manual:             True
  default:            False

flag servant9
  description:        Use servant-0.9
  manual:             False
  default:            True

library
  exposed-modules:
    Servant.Server.Experimental.Auth.Cookie

  build-depends: base           >= 4.7   && < 5.0
               , base64-bytestring
               , blaze-builder  >= 0.4   && < 0.4.1
               , bytestring
               , cereal         >= 0.5   && < 0.6
               , cookie         >= 0.4.1 && < 0.5
               , cryptonite     >= 0.14  && <= 0.20
               , data-default
               , exceptions     >= 0.8   && < 0.9
               , http-types     >= 0.9   && < 0.10
               , memory         >= 0.11  && < 0.14
               , mtl            >= 2.0  && < 3.0
               , servant        >= 0.5   && < 0.10
               , servant-server >= 0.5   && < 0.10
               , tagged         == 0.8.*
               , time           >= 1.5   && < 1.7
               , transformers   >= 0.4   && < 0.6
               , wai            >= 3.0   && < 3.3

  if flag(dev)
    ghc-options:      -Wall -Werror
  else
    ghc-options:      -O2 -Wall
  hs-source-dirs:      src
  default-language:    Haskell2010

  if flag(servant9)
    build-depends:
      servant >= 0.9,
      http-api-data == 0.3.*
  else
    build-depends:
      servant < 0.9,
      bytestring-conversion >= 0.3.1 && <0.4

test-suite example
  type:                exitcode-stdio-1.0
  main-is:             Main.hs
  build-depends: base           >= 4.7  && < 5.0
               , base-compat    >= 0.9.1 && <0.10
               , blaze-html     >= 0.8  && < 0.9
               , blaze-markup   >= 0.7  && < 0.8
               , bytestring
               , cereal         >= 0.5  && < 0.6
               , cryptonite     >= 0.14 && <= 0.20
               , data-default
               , http-media
               , mtl            >= 2.0  && < 3.0
               , servant        >= 0.5  && < 0.10
               , servant-auth-cookie
               , servant-blaze  >= 0.5  && < 0.10
               , servant-server >= 0.5  && < 0.10
               , text
               , wai            >= 3.0  && < 3.3
               , warp           >= 3.0  && < 3.3
  if flag(dev)
    ghc-options:      -Wall -Werror
  else
    ghc-options:      -O2 -Wall
  hs-source-dirs:      example
  default-language:    Haskell2010

  if flag(servant9)
    build-depends:
      servant >= 0.9,
      http-api-data == 0.3.*
  else
    build-depends:
      servant < 0.9,
      bytestring-conversion >= 0.3.1 && <0.4

test-suite tests
  type:           exitcode-stdio-1.0
  hs-source-dirs: tests
  main-is:        Main.hs
  if flag(dev)
    ghc-options:      -Wall -Werror
  else
    ghc-options:      -O2 -Wall

  build-depends: base           >= 4.7  && < 5.0
               , QuickCheck     >= 2.4  && < 3.0
               , bytestring
               , cereal         >= 0.5  && < 0.6
               , cryptonite     >= 0.14 && <= 0.20
               , data-default
               , deepseq        >= 1.3  && < 1.5
               , hspec          >= 2.0  && < 3.0
               , servant-auth-cookie
               , servant-server >= 0.5  && < 0.10
               , time           >= 1.5  && < 1.7
  if !impl(ghc >= 7.8)
    build-depends:    tagged    == 0.8.*
  default-language:    Haskell2010

benchmark bench
  type:             exitcode-stdio-1.0

  hs-source-dirs:   benchmarks
  main-is:          Main.hs

  default-language: Haskell2010

  build-depends: base           >= 4.7     && < 5.0
               , bytestring
               , criterion      >= 0.6.2.1 && < 1.2
               , cryptonite     >= 0.14    && <= 0.20
               , servant-auth-cookie
               , servant-server >= 0.5     && < 0.10
  if flag(dev)
    ghc-options:      -Wall -Werror
  else
    ghc-options:      -O2 -Wall