- use ip fetching already implemented in Starlette
- make strategies a Enum
- implement strategies with redis storage
- implement redis storage
- add decr method to MemoryWindow
- cast retry-after http header
- window duration in fixed window strategy for memory storage
- add cast to str in exc.retry_after
- check if FastAPILimiter instead of Limiter
- fastapi limiters
- implement moving window for memory storage
- optimize fixed window strategy
- fastapi module
- remove exception being raised improperty in fastapi.builter
- implement abstract method
- extract Limiter
- wrong import
- window strategy
- middleware
- remove updating dependencies after creating app
- add ignored paths to middleware
- add middlewares for better performance
- import time in models
- import time in models
- change precision to microseconds
- wrong import
- host based limiter
- fixed window block based on key
- wrong import
- add retry-after to handler
- add retry-after
- add handler for fastapi
- wrong import
- add simple limiter for fastapi
- optimize Rate.create_from_hits for memory
- implement models