https://github.com/akdilsiz/limiterphi
phi middleware of ulule/limiter package
https://github.com/akdilsiz/limiterphi
api golang rate-limiter
Last synced: 4 months ago
JSON representation
phi middleware of ulule/limiter package
- Host: GitHub
- URL: https://github.com/akdilsiz/limiterphi
- Owner: akdilsiz
- License: mit
- Created: 2020-01-07T22:15:39.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-05-20T10:56:07.000Z (about 3 years ago)
- Last Synced: 2025-01-29T10:44:54.918Z (6 months ago)
- Topics: api, golang, rate-limiter
- Language: Go
- Size: 29.3 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Limiter Phi
[](https://circleci.com/gh/akdilsiz/limiterphi/tree/master)
[](https://github.com/akdilsiz/limiterphi/blob/master/LICENSE)
[](https://codecov.io/gh/akdilsiz/limiterphi)
[](https://goreportcard.com/report/github.com/akdilsiz/limiterphi)\
phi middleware of **[ulule/limiter](https://github.com/ulule/limiter)** package.\
For detailed documentation [https://github.com/ulule/limiter](https://github.com/ulule/limiter)## Example
```go
package mainimport (
"github.com/akdilsiz/limiterphi"
"github.com/fate-lovely/phi"
"github.com/ulule/limiter/v3"
"github.com/ulule/limiter/v3/drivers/store/memory"
"github.com/valyala/fasthttp"
"log"
)func main() {
store := memory.NewStore()rate, err := limiter.NewRateFromFormatted("10-M")
if err != nil {
panic(err)
}
middleware := limiterphi.NewMiddleware(limiter.New(store, rate))router := phi.NewRouter()
router.Use(middleware.Handle)
router.Get("/", func(ctx *fasthttp.RequestCtx) {
ctx.SetStatusCode(fasthttp.StatusOK)
ctx.SetContentType("application/json")
ctx.SetBodyString(`{"message":"OK"}`)
})log.Fatal(fasthttp.ListenAndServe(":3001", router.ServeFastHTTP))
}
```## LICENSE
[MIT](https://github.com/akdilsiz/limiterphi/LICENSE)