routing

package
v0.1.4 Latest Latest
Warning

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

Go to latest
Published: Feb 15, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var GlobalRouteBuilder = &RouteBuilder{}

Functions

This section is empty.

Types

type HandlerInterface

type HandlerInterface interface {
	ServeHTTP(http.ResponseWriter, *http.Request, serverdi.Context)
}

type Route

type Route struct {
	Path        string
	Method      string
	Executor    string
	ContentType string
}

type RouteBuilder

type RouteBuilder struct {
	HandlerMap    map[string]HandlerInterface
	Context       serverdi.Context
	SecurityLayer security.SecurityLayer
	// contains filtered or unexported fields
}

func (*RouteBuilder) AddContext

func (rb *RouteBuilder) AddContext(ctx serverdi.Context)

func (*RouteBuilder) AddRoute

func (rb *RouteBuilder) AddRoute(route Routes)

func (*RouteBuilder) Build

func (rb *RouteBuilder) Build(log logger.Logger) http.Handler

func (*RouteBuilder) ServeHTTP

func (rb *RouteBuilder) ServeHTTP(w http.ResponseWriter, r *http.Request)

func (*RouteBuilder) SetSecurityLayer added in v0.1.4

func (rb *RouteBuilder) SetSecurityLayer(layer security.SecurityLayer)

type RouteConfig

type RouteConfig struct {
	Path        string        `yaml:"path"`
	Method      string        `yaml:"method"`
	Executor    string        `yaml:"executor"`
	ContentType string        `yaml:"content_type"`
	Children    []RouteConfig `yaml:"children"`
}

type RouteHandler

type RouteHandler struct {
	Method  string
	Pattern string
	Handler http.HandlerFunc
}

type Routes

type Routes struct {
	YamlContent []byte
	HandlerMap  map[string]HandlerInterface
}

type RoutesYAML

type RoutesYAML struct {
	APIPrefix string        `yaml:"api_prefix"`
	Routes    []RouteConfig `yaml:"routes"`
}

type RoutingBuilder

type RoutingBuilder struct {
	Context       serverdi.Context
	SecurityLayer security.SecurityLayer
	// contains filtered or unexported fields
}

func NewRoutingBuilder

func NewRoutingBuilder() *RoutingBuilder

func RegisterRoutes

func RegisterRoutes(routeConfigs Routes, log logger.Logger, ctx serverdi.Context) *RoutingBuilder

func (*RoutingBuilder) AddContext

func (rb *RoutingBuilder) AddContext(ctx serverdi.Context)

func (*RoutingBuilder) AddRoute

func (rb *RoutingBuilder) AddRoute(method, pattern string, handler http.HandlerFunc)

func (*RoutingBuilder) Build

func (rb *RoutingBuilder) Build() http.Handler

func (*RoutingBuilder) ServeHTTP

func (rb *RoutingBuilder) ServeHTTP(w http.ResponseWriter, r *http.Request)

func (*RoutingBuilder) SetSecurityLayer added in v0.1.4

func (rb *RoutingBuilder) SetSecurityLayer(layer security.SecurityLayer)

Jump to

Keyboard shortcuts

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