httpserver

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jan 26, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AuthenticationRequired = AuthenticationResultCode(1)
	Forbidden              = AuthenticationResultCode(2)
	Authorized             = AuthenticationResultCode(3)
)

Variables

This section is empty.

Functions

func Default

func Default() ctx.ServicePackage

Types

type AuthenticationResult

type AuthenticationResult struct {
	Code       AuthenticationResultCode
	Credential int64
}

type AuthenticationResultCode

type AuthenticationResultCode int

type Authenticator

type Authenticator interface {
	Authenticate(request *rest.Request) AuthenticationResult
}

func BearerTokenAuthenticator

func BearerTokenAuthenticator(authFn func(path string, token string) AuthenticationResultCode) Authenticator

type RequestData

type RequestData rest.Request

func (*RequestData) Credential

func (d *RequestData) Credential() int64

func (*RequestData) Path

func (d *RequestData) Path() map[string]string

func (*RequestData) Query

func (d *RequestData) Query() url.Values

type RequestHandler

type RequestHandler interface {
	Path(path string) RequestHandler
	Method(method string) RequestHandler
	Handler(handler func(request *RequestData) Response)
	HandlerRaw(handler func(request *RequestData, responseWriter rest.ResponseWriter) error)
}

func BuildRoute added in v0.2.0

func BuildRoute(server RestServer) RequestHandler

func RegisterRoute added in v0.2.0

func RegisterRoute(server RestServer, method string, path string) RequestHandler

type Response added in v0.2.0

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

func (*Response) BadRequest added in v0.2.0

func (h *Response) BadRequest() *Response

func (*Response) BadRequestReason added in v0.2.0

func (h *Response) BadRequestReason(reason ...string) *Response

func (*Response) Content added in v0.2.0

func (h *Response) Content(content any) *Response

func (*Response) Error added in v0.2.0

func (h *Response) Error(err error) *Response

func (*Response) Ok added in v0.2.0

func (h *Response) Ok() *Response

func (*Response) Status added in v0.2.0

func (h *Response) Status(status int) *Response

func (*Response) VerifyNotEmpty added in v0.2.0

func (h *Response) VerifyNotEmpty(strs ...string) bool

type RestServer

type RestServer interface {
	SetupAuthentication(authenticator Authenticator)
	// contains filtered or unexported methods
}

func NewRestServer

func NewRestServer(name string, configPrefix string) RestServer

type TypedRequestHandler added in v0.2.0

type TypedRequestHandler[T any] interface {
	Path(path string) TypedRequestHandler[T]
	Method(method string) TypedRequestHandler[T]
	Handler(handler func(request *RequestData, body T) Response)
}

func BuildTypedRoute added in v0.2.0

func BuildTypedRoute[T any](server RestServer) TypedRequestHandler[T]

func RegisterTypedRoute added in v0.2.0

func RegisterTypedRoute[T any](server RestServer, method string, path string) TypedRequestHandler[T]

Jump to

Keyboard shortcuts

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