emberroute
Содержание

Рецепты

Примеры типичных задач. Код полный — импорт, создание 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)
}