packages feed

keter-rate-limiting-plugin 0.1.0.0 → 0.1.0.1

raw patch · 2 files changed

+6/−1 lines, 2 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Data.TinyLRU: access :: (FromJSON a, ToJSON a) => TimeSpec -> Text -> a -> Int -> TinyLRUCache s -> STM (Maybe a)
+ Data.TinyLRU: access :: forall a s. (FromJSON a, ToJSON a) => TimeSpec -> Text -> a -> Int -> TinyLRUCache s -> STM (Maybe a)
- Data.TinyLRU: updateValue :: (FromJSON a, ToJSON a) => TimeSpec -> Text -> a -> Int -> TinyLRUCache s -> STM (Maybe a)
+ Data.TinyLRU: updateValue :: forall a s. (FromJSON a, ToJSON a) => TimeSpec -> Text -> a -> Int -> TinyLRUCache s -> STM (Maybe a)
- Keter.RateLimiter.AutoPurge: startCustomPurge :: (entry -> STM Double) -> (Text -> entry -> STM ()) -> Map Text entry -> Integer -> Integer -> IO ThreadId
+ Keter.RateLimiter.AutoPurge: startCustomPurge :: forall entry. (entry -> STM Double) -> (Text -> entry -> STM ()) -> Map Text entry -> Integer -> Integer -> IO ThreadId
- Keter.RateLimiter.Cache: [TinyLRUStore] :: forall s. TVar (TinyLRUCache s) -> InMemoryStore 'TinyLRU
+ Keter.RateLimiter.Cache: [TinyLRUStore] :: TVar (TinyLRUCache s) -> InMemoryStore 'TinyLRU
- Keter.RateLimiter.Cache: class MonadIO m => CacheStore store v (m :: Type -> Type) | store -> v
+ Keter.RateLimiter.Cache: class MonadIO m => CacheStore store v m | store -> v
- Keter.RateLimiter.Cache: incStore :: CacheStore store v m => store -> Text -> Text -> Int -> m v
+ Keter.RateLimiter.Cache: incStore :: (CacheStore store v m, FromJSON v, ToJSON v, Ord v, Num v) => store -> Text -> Text -> Int -> m v
- Keter.RateLimiter.Notifications: type WAINotifier = Text -> Request -> Int -> IO ()
+ Keter.RateLimiter.Notifications: type WAINotifier = Text " throttleName: Logical name of the limiter." -> Request " The WAI 'Request' that triggered the event." -> Int " The numeric limit that was applied." -> IO ()

Files

CHANGELOG.md view
@@ -4,3 +4,7 @@  * First version. Released on an unsuspecting world. +## 0.1.0.1 -- 2025-08-08++* First version revised A. Fixed description and some cleaning up.+
keter-rate-limiting-plugin.cabal view
@@ -1,10 +1,11 @@ cabal-version:      3.0 name:               keter-rate-limiting-plugin-version:            0.1.0.0+version:            0.1.0.1 synopsis:           Simple Keter rate limiting plugin. description:     A modern, high-performance, and highly customisable rate limiting plugin for keter.     Provides four window algorithms (Fixed Window, Sliding Window, Token Bucket, Leaky Bucket),+    as well as TinyLRU cache approach,     IP zone support, and convenient and customisable API.     See README.md and homepage for usage and details. homepage:           https://github.com/Oleksandr-Zhabenko/keter-rate-limiting-plugin