cabal-version: 3.0 -- The cabal-version field refers to the version of the .cabal specification, -- and can be different from the cabal-install (the tool) version and the -- Cabal (the library) version you are using. As such, the Cabal (the library) -- version used must be equal or greater than the version stated in this field. -- Starting from the specification version 2.2, the cabal-version field must be -- the first thing in the cabal file. -- Initial package description 'wai-rate-limiter' generated by -- 'cabal init'. For further documentation, see: -- http://haskell.org/cabal/users-guide/ -- -- The name of the package. name: wai-token-bucket-ratelimiter -- The package version. -- See the Haskell package versioning policy (PVP) for standards -- guiding when and how versions should be incremented. -- https://pvp.haskell.org -- PVP summary: +-+------- breaking API changes -- | | +----- non-breaking API additions -- | | | +--- code changes with no API change version: 0.1.0.1 -- A short (one-line) description of the package. synopsis: A request rate limiting middleware using token buckets -- A longer description of the package. description: This package provides a WAI middleware to perform request rate limiting using the . -- URL for the project homepage or repository. homepage: https://github.com/donatello/wai-token-bucket-ratelimiter -- The license under which the package is released. license: Apache-2.0 -- The file containing the license text. license-file: LICENSE -- The package author(s). author: Aditya Manthramurthy -- An email address to which users can send suggestions, bug reports, and patches. maintainer: aditya.mmy@gmail.com -- A copyright notice. -- copyright: category: Web build-type: Simple -- Extra doc files to be distributed with the package, such as a CHANGELOG or a README. extra-doc-files: CHANGELOG.md README.md -- Extra source files to be distributed with the package, such as examples, or a tutorial module. -- extra-source-files: source-repository head type: git location: https://github.com/donatello/wai-token-bucket-ratelimiter.git common warnings ghc-options: -Wall library -- Import common warning flags. import: warnings -- Modules exported by the library. exposed-modules: Network.Wai.RateLimitMiddleware , Control.Concurrent.TokenBucket -- Modules included in this library but not exported. -- other-modules: -- LANGUAGE extensions used by modules in this package. -- other-extensions: -- Other library packages from which modules are imported. build-depends: base >=4.16 && < 5 , wai >=3.0 && < 4 , http-types < 1 , unordered-containers >= 0.2.19.1 && < 0.3 , hashable >= 1.4 && < 2 , clock >= 0.8.3 && < 1 -- Directories containing source files. hs-source-dirs: src -- Base language which the package is written in. default-language: GHC2021 default-extensions: OverloadedStrings, RecordWildCards, DerivingStrategies test-suite wai-token-bucket-ratelimiter-test -- Import common warning flags. import: warnings ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N -- Base language which the package is written in. default-language: GHC2021 -- Modules included in this executable, other than Main. other-modules: RateLimiterSpec -- LANGUAGE extensions used by modules in this package. -- other-extensions: -- The interface type and version of the test suite. type: exitcode-stdio-1.0 -- Directories containing source files. hs-source-dirs: test -- The entrypoint to the test suite. main-is: Main.hs -- Test dependencies. build-depends: base, hspec >= 2.10 && < 3, wai-token-bucket-ratelimiter , wai >=3.0 && < 4 , http-types < 1 , bytestring , http-client , warp build-tool-depends: hspec-discover:hspec-discover == 2.* default-extensions: OverloadedStrings, RecordWildCards, DerivingStrategies benchmark wai-token-bucket-ratelimiter-benchmark type: exitcode-stdio-1.0 ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N hs-source-dirs: bench main-is: Benchmark.hs build-depends: base , criterion >= 1.6 && < 2 , wai-token-bucket-ratelimiter , async >= 2.2.4 && < 3 default-language: GHC2021