--------------------------------------------------------------------------------
-- Rate Limiting Middleware for Servant                                       --
--------------------------------------------------------------------------------
-- This source code is licensed under the MIT license found in the LICENSE    --
-- file in the root directory of this source tree.                            --
--------------------------------------------------------------------------------

-- | This library implements Servant combinators for applying rate limiting
-- strategies from "Network.Wai.RateLimit.Strategy". Different strategies may
-- be applied to different parts of the API. For example:
-- @
-- import Servant.RateLimit
--
-- type TestAPI
--     = RateLimit (FixedWindow 2 50) (IPAddressPolicy "fixed:") :>
--       "fixed-window" :>
--       Get '[JSON] String
--  :<|> RateLimit (SlidingWindow 2 50) (IPAddressPolicy "sliding:") :>
--       "sliding-window" :>
--       Get '[JSON] String
--  :<|> "unrestricted" :>
--       Get '[JSON] String
-- @
module Servant.RateLimit (
    module RateLimit
) where

--------------------------------------------------------------------------------

import Servant.RateLimit.Types as RateLimit

--------------------------------------------------------------------------------