70 lines
1.2 KiB
Smarty
70 lines
1.2 KiB
Smarty
package f
|
|
|
|
import (
|
|
"github.com/gofiber/fiber/v3"
|
|
)
|
|
|
|
|
|
func Path[T fiber.GenericType](key string) func(fiber.Ctx) (T, error) {
|
|
return func(ctx fiber.Ctx) (T, error) {
|
|
v := fiber.Params[T](ctx, key)
|
|
return v, nil
|
|
}
|
|
}
|
|
|
|
func URI[T any]() func(fiber.Ctx) (*T, error) {
|
|
return func(ctx fiber.Ctx) (*T, error) {
|
|
p := new(T)
|
|
if err := ctx.Bind().URI(p); err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return p, nil
|
|
}
|
|
}
|
|
|
|
func Cookie[T any]() func(fiber.Ctx) (*T, error) {
|
|
return func(ctx fiber.Ctx) (*T, error) {
|
|
p := new(T)
|
|
if err := ctx.Bind().Cookie(p); err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return p, nil
|
|
}
|
|
}
|
|
|
|
func Body[T any]() func(fiber.Ctx) (*T, error) {
|
|
return func(ctx fiber.Ctx) (*T, error) {
|
|
p := new(T)
|
|
if err := ctx.Bind().Body(p); err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return p, nil
|
|
}
|
|
}
|
|
|
|
func Query[T any]() func(fiber.Ctx) (*T, error) {
|
|
return func(ctx fiber.Ctx) (*T, error) {
|
|
p := new(T)
|
|
if err := ctx.Bind().Query(p); err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return p, nil
|
|
}
|
|
}
|
|
|
|
func Header[T any]() func(fiber.Ctx) (*T, error) {
|
|
return func(ctx fiber.Ctx) (*T, error) {
|
|
p := new(T)
|
|
err := ctx.Bind().Header(p)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return p, nil
|
|
}
|
|
}
|