mirror of
https://github.com/labstack/echo.git
synced 2024-11-24 08:22:21 +02:00
7c8592a7e0
* adds middleware for rate limiting * added comment for InMemoryStore ShouldAllow * removed redundant mutex declaration * fixed lint issues * removed sleep from tests * improved coverage * refactor: renames Identifiers, includes default SourceFunc * Added last seen stats for visitor * uses http Constants for improved readdability adds default error handler * used other handler apart from default handler to mark custom error handler for rate limiting * split tests into separate blocks added an error pair to IdentifierExtractor Includes deny handler for explicitly denying requests * adds comments for exported members Extractor and ErrorHandler * makes cleanup implementation inhouse * Avoid race for cleanup due to non-atomic access to store.expiresIn * Use a dedicated producer for rate testing * tidy commit * refactors tests, implicitly tests lastSeen property on visitor switches NewRateLimiterMemoryStore constructor to Referential Functions style (Advised by @pafuent) * switches to mock of time module for time based tests tests are now fully deterministic * improved coverage * replaces Rob Pike referential options with more conventional struct configs makes cleanup asynchronous * blocks racy access to lastCleanup * Add benchmark tests for rate limiter * Add rate limiter with sharded memory store * Racy access to store.lastCleanup eliminated Merges in shiny sharded map implementation by @lammel * Remove RateLimiterShradedMemoryStore for now * Make fields for RateLimiterStoreConfig public for external configuration * Improve docs for RateLimiter usage * Fix ErrorHandler vs. DenyHandler usage for rate limiter * Simplify NewRateLimiterMemoryStore * improved coverage * updated errorHandler and denyHandler to use echo.HTTPError * Improve wording for error and comments * Remove duplicate lastSeen marking for Allow * Improve wording for comments * Add disclaimer on perf characteristics of memory store * changes Allow signature on rate limiter to return err too Co-authored-by: Roland Lammel <rl@neotel.at>
17 lines
533 B
Modula-2
17 lines
533 B
Modula-2
module github.com/labstack/echo/v4
|
|
|
|
go 1.15
|
|
|
|
require (
|
|
github.com/dgrijalva/jwt-go v3.2.0+incompatible
|
|
github.com/labstack/gommon v0.3.0
|
|
github.com/mattn/go-colorable v0.1.7 // indirect
|
|
github.com/stretchr/testify v1.4.0
|
|
github.com/valyala/fasttemplate v1.2.1
|
|
golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a
|
|
golang.org/x/net v0.0.0-20200822124328-c89045814202
|
|
golang.org/x/sys v0.0.0-20200826173525-f9321e4c35a6 // indirect
|
|
golang.org/x/text v0.3.3 // indirect
|
|
golang.org/x/time v0.0.0-20201208040808-7e3f01d25324
|
|
)
|