web

package
v0.0.0-...-e61ee7f Latest Latest
Warning

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

Go to latest
Published: Dec 19, 2024 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const MockAfterMiddlewares = "MockAfterMiddlewares"

MockAfterMiddlewares is a general mock point, it's between middlewares and the handler

Variables

This section is empty.

Functions

func Bind

func Bind[T any](_ T) http.HandlerFunc

Bind binding an obj to a handler's context data

func GetForm

func GetForm(dataStore middleware.ContextDataStore) any

GetForm returns the validate form information

func RegisterResponseStatusProvider

func RegisterResponseStatusProvider[T any](fn func(req *http.Request) types.ResponseStatusProvider)

func RouteMock

func RouteMock(pointName string, h any)

RouteMock uses the registered mock point to mock the route execution, example:

defer web.RouteMockReset()
web.RouteMock(web.MockAfterMiddlewares, func(ctx *context.Context) {
	ctx.WriteResponse(...)
}

Then the mock function will be executed as a middleware at the mock point. It only takes effect in testing mode (setting.IsInTesting == true).

func RouteMockReset

func RouteMockReset()

RouteMockReset resets all mock points (no mock anymore)

func RouterMockPoint

func RouterMockPoint(pointName string) func(next http.Handler) http.Handler

RouterMockPoint registers a mock point as a middleware for testing, example:

r.Use(web.RouterMockPoint("my-mock-point-1"))
r.Get("/foo", middleware2, web.RouterMockPoint("my-mock-point-2"), middleware2, handler)

Then use web.RouteMock to mock the route execution. It only takes effect in testing mode (setting.IsInTesting == true).

func SetForm

func SetForm(dataStore middleware.ContextDataStore, obj any)

SetForm set the form object

Types

type Combo

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

Combo represents a tiny group routes with same pattern

func (*Combo) Delete

func (c *Combo) Delete(h ...any) *Combo

Delete delegates Delete method

func (*Combo) Get

func (c *Combo) Get(h ...any) *Combo

Get delegates Get method

func (*Combo) Patch

func (c *Combo) Patch(h ...any) *Combo

Patch delegates Patch method

func (*Combo) Post

func (c *Combo) Post(h ...any) *Combo

Post delegates Post method

func (*Combo) Put

func (c *Combo) Put(h ...any) *Combo

Put delegates Put method

type Router

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

Router defines a route based on chi's router

func NewRouter

func NewRouter() *Router

NewRouter creates a new route

func (*Router) Any

func (r *Router) Any(pattern string, h ...any)

Any delegate requests for all methods

func (*Router) Combo

func (r *Router) Combo(pattern string, h ...any) *Combo

Combo delegates requests to Combo

func (*Router) Delete

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

Delete delegate delete method

func (*Router) Get

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

Get delegate get method

func (*Router) Group

func (r *Router) Group(pattern string, fn func(), middlewares ...any)

Group mounts a sub-Router along a `pattern` string.

func (*Router) Head

func (r *Router) Head(pattern string, h ...any)

Head delegate head method

func (*Router) Methods

func (r *Router) Methods(methods, pattern string, h ...any)

Methods adds the same handlers for multiple http "methods" (separated by ","). If any method is invalid, the lower level router will panic.

func (*Router) Mount

func (r *Router) Mount(pattern string, subRouter *Router)

Mount attaches another Router along ./pattern/*

func (*Router) NotFound

func (r *Router) NotFound(h http.HandlerFunc)

NotFound defines a handler to respond whenever a route could not be found.

func (*Router) Patch

func (r *Router) Patch(pattern string, h ...any)

Patch delegate patch method

func (*Router) Post

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

Post delegate post method

func (*Router) Put

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

Put delegate put method

func (*Router) ServeHTTP

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

ServeHTTP implements http.Handler

func (*Router) Use

func (r *Router) Use(middlewares ...any)

Use supports two middlewares

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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