blob: 7845b4168e711d9a4b88586d88c39e7e8e3dd777 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
package router
import (
"paperchan.club/controllers"
"github.com/gofiber/fiber/v2"
"github.com/gofiber/fiber/v2/middleware/limiter"
"time"
"strings"
)
func SetRoutes(app *fiber.App) {
app.Get("/", controllers.ThreadList)
app.Get("/thread/:id", controllers.Thread)
app.Post("/api/post", rateLimiter, controllers.Publish)
app.Delete("/api/post", controllers.Delete)
}
var rateLimiter = limiter.New(limiter.Config{
Max: 5,
Expiration: 10*time.Minute,
KeyGenerator: func(c *fiber.Ctx) string {
return c.IP()+" "+strings.Join(c.IPs()," ")
},
})
|