router

package
v0.20.2 Latest Latest
Warning

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

Go to latest
Published: May 9, 2025 License: MIT Imports: 15 Imported by: 15

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Attr added in v0.8.0

type Attr struct {
	Key   string
	Value string
}

func ToAttrs added in v0.8.0

func ToAttrs(params []any) ([]*Attr, error)

type InlineMiddlewareFunc added in v0.16.0

type InlineMiddlewareFunc func(w http.ResponseWriter, r *http.Request, next http.Handler)

func (InlineMiddlewareFunc) Middleware added in v0.16.0

func (f InlineMiddlewareFunc) Middleware(next http.Handler) http.Handler

type Middleware added in v0.13.1

type Middleware interface {
	Middleware(next http.Handler) http.Handler
}

type MiddlewareFunc

type MiddlewareFunc func(next http.Handler) http.Handler

func (MiddlewareFunc) Middleware added in v0.13.1

func (f MiddlewareFunc) Middleware(next http.Handler) http.Handler

type Route added in v0.8.0

type Route struct {
	Path   string
	Method string
	// contains filtered or unexported fields
}

func (*Route) GetMiddleware added in v0.13.1

func (r *Route) GetMiddleware() []Middleware

func (*Route) Name added in v0.8.0

func (r *Route) Name(name string) *Route

type Router

type Router struct {
	// contains filtered or unexported fields
}
Example
package main

import (
	"github.com/abibby/salusa/request"
	"github.com/abibby/salusa/router"
)

func main() {
	r := router.New()

	r.Group("/test", func(r *router.Router) {
		r.Get("/", request.Handler(func(r *any) (any, error) {
			return nil, nil
		}))
	})
}

func New

func New() *Router

func (*Router) Delete

func (r *Router) Delete(path string, handler http.Handler) *Route

func (*Router) DeleteFunc added in v0.16.0

func (r *Router) DeleteFunc(path string, handler http.HandlerFunc) *Route

func (*Router) Get

func (r *Router) Get(path string, handler http.Handler) *Route

func (*Router) GetFunc added in v0.16.0

func (r *Router) GetFunc(path string, handler http.HandlerFunc) *Route

func (*Router) Group

func (r *Router) Group(prefix string, cb func(r *Router))

func (*Router) Handle

func (r *Router) Handle(p string, handler http.Handler) *Route

func (*Router) Patch

func (r *Router) Patch(path string, handler http.Handler) *Route

func (*Router) PatchFunc added in v0.16.0

func (r *Router) PatchFunc(path string, handler http.HandlerFunc) *Route

func (*Router) Paths added in v0.13.1

func (r *Router) Paths(ctx context.Context, basePath string) (*spec.Paths, error)

func (*Router) Post

func (r *Router) Post(path string, handler http.Handler) *Route

func (*Router) PostFunc added in v0.16.0

func (r *Router) PostFunc(path string, handler http.HandlerFunc) *Route

func (*Router) PrintRoutes added in v0.8.0

func (r *Router) PrintRoutes()

func (*Router) Put

func (r *Router) Put(path string, handler http.Handler) *Route

func (*Router) PutFunc added in v0.16.0

func (r *Router) PutFunc(path string, handler http.HandlerFunc) *Route

func (*Router) Register added in v0.8.0

func (r *Router) Register(ctx context.Context)

func (*Router) Routes added in v0.8.0

func (r *Router) Routes() []*Route

func (*Router) ServeHTTP

func (r *Router) ServeHTTP(w http.ResponseWriter, req *http.Request)

func (*Router) Use

func (r *Router) Use(middleware Middleware)

func (*Router) UseFunc added in v0.13.1

func (r *Router) UseFunc(middleware func(http.Handler) http.Handler)

func (*Router) Validate added in v0.11.0

func (r *Router) Validate(ctx context.Context) error

type SalusaResolver added in v0.8.0

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

func NewResolver added in v0.8.0

func NewResolver(origin string, r *Router) *SalusaResolver

func (*SalusaResolver) Resolve added in v0.8.0

func (r *SalusaResolver) Resolve(name string, params ...any) string

func (*SalusaResolver) ResolveHandler added in v0.8.0

func (r *SalusaResolver) ResolveHandler(h http.Handler, params ...any) string

type TestResolver added in v0.20.1

type TestResolver struct{}

func (TestResolver) Resolve added in v0.20.1

func (t TestResolver) Resolve(name string, params ...any) string

Resolve implements URLResolver.

func (TestResolver) ResolveHandler added in v0.20.1

func (t TestResolver) ResolveHandler(h http.Handler, params ...any) string

ResolveHandler implements URLResolver.

type URLResolver added in v0.8.0

type URLResolver interface {
	Resolve(name string, params ...any) string
	ResolveHandler(h http.Handler, params ...any) string
}

func NewTestResolver added in v0.20.1

func NewTestResolver() URLResolver

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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