Содержание
Рецепты
Примеры типичных задач. Код полный — импорт, создание Router и обработка ошибок.
Post и Routes
Регистрирует обработчик POST-запросов.
Возвращает все зарегистрированные маршруты в виде METHOD шаблон.
package main
import (
"context"
"fmt"
"log"
"github.com/emberroute-dev/emberroute"
)
func main() {
ctx := context.Background()
r, err := emberroute.New(emberroute.Options{
MaxParams: 16,
CaseSensitive: true,
})
if err != nil {
log.Fatal(err)
}
defer r.Close()
if err := r.Post(ctx, "/users"); err != nil {
log.Fatal(err)
}
items, err := r.Routes(ctx)
if err != nil {
log.Fatal(err)
}
fmt.Println(items)
}
Get и HasRoute
Регистрирует обработчик GET-запросов.
Сообщает, подойдёт ли запрос под какой-нибудь маршрут.
package main
import (
"context"
"fmt"
"log"
"github.com/emberroute-dev/emberroute"
)
func main() {
ctx := context.Background()
r, err := emberroute.New(emberroute.Options{
BasePath: "/",
})
if err != nil {
log.Fatal(err)
}
defer r.Close()
if err := r.Get(ctx, "/users/{id}"); err != nil {
log.Fatal(err)
}
ok, err := r.HasRoute(ctx, "GET", "/users/42")
if err != nil {
log.Fatal(err)
}
fmt.Println(ok)
}