router

package
v0.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 12, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Method

type Method string

Method represents an HTTP method with trailing space for ServeMux pattern matching

const (
	GET    Method = "GET "
	POST   Method = "POST "
	PUT    Method = "PUT "
	DELETE Method = "DELETE "
)

type Route

type Route struct {
	HTTPHandler http.HandlerFunc
	Handler     kit.HandlerFunc
	Method      Method
	Prefix      string
	Pattern     string
}

Route represents an HTTP route with handler and metadata

func (*Route) Builder

func (r *Route) Builder() *RouteBuilder

Builder returns a RouteBuilder initialized with this route's values

func (*Route) FullPath

func (r *Route) FullPath() string

FullPath returns the method-prefixed path for ServeMux registration

func (*Route) Path

func (r *Route) Path() string

Path returns the combined prefix and pattern

type RouteBuilder

type RouteBuilder struct {
	// contains filtered or unexported fields
}

RouteBuilder provides a fluent interface for building Routes

func NewRouteBuilder

func NewRouteBuilder() *RouteBuilder

NewRouteBuilder creates a new RouteBuilder instance

func (*RouteBuilder) Build

func (b *RouteBuilder) Build() *Route

Build constructs and returns the final Route

func (*RouteBuilder) HTTPHandler

func (b *RouteBuilder) HTTPHandler(httpHandler http.HandlerFunc) *RouteBuilder

HTTPHandler sets the http.HandlerFunc for this route

func (*RouteBuilder) Handler

func (b *RouteBuilder) Handler(handler kit.HandlerFunc) *RouteBuilder

Handler sets the kit.HandlerFunc for this route

func (*RouteBuilder) Method

func (b *RouteBuilder) Method(method Method) *RouteBuilder

Method sets the HTTP method for this route

func (*RouteBuilder) Pattern

func (b *RouteBuilder) Pattern(pattern string) *RouteBuilder

Pattern sets the URL pattern for this route

func (*RouteBuilder) Prefix

func (b *RouteBuilder) Prefix(prefix string) *RouteBuilder

Prefix sets the URL prefix for this route

type Router

type Router struct {
	Prefix      string
	Routes      []Route
	Middlewares []middleware.Middleware

	Children []*Router
	// contains filtered or unexported fields
}

Router provides hierarchical routing with middleware support

func NewRouter

func NewRouter(prefix string) *Router

NewRouter creates a new Router with the given URL prefix

func (*Router) Delete

func (r *Router) Delete(pattern string, h kit.HandlerFunc)

Delete registers a DELETE route

func (*Router) Get

func (r *Router) Get(pattern string, h kit.HandlerFunc)

Get registers a GET route

func (*Router) InitializeAsRoot

func (r *Router) InitializeAsRoot() *http.ServeMux

InitializeAsRoot finalizes the router tree and returns an http.ServeMux

func (*Router) Post

func (r *Router) Post(pattern string, h kit.HandlerFunc)

Post registers a POST route

func (*Router) Put

func (r *Router) Put(pattern string, h kit.HandlerFunc)

Put registers a PUT route

func (*Router) Sub

func (r *Router) Sub(sub *Router)

Sub adds a child router to this router

func (*Router) Use

func (r *Router) Use(middlewares ...middleware.Middleware)

Use adds middleware to this router

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL