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 ¶
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 RestServer ¶
type RestServer interface {
SetupAuthentication(authenticator Authenticator)
RegisterRoute(route *rest.Route)
}
func NewRestServer ¶
func NewRestServer(name string, configPrefix string) RestServer
type RqHandler ¶
type RqHandler[Rq any] interface { Handle(handler func() (response any, httpStatus int, err error)) func(rest.ResponseWriter, *rest.Request) HandleRequest(handler func(request *RequestData) (response any, httpStatus int, err error)) func(rest.ResponseWriter, *rest.Request) HandleRequestBody(handler func(request *RequestData, body Rq) (response any, httpStatus int, err error)) func(rest.ResponseWriter, *rest.Request) HandleRaw(handler func(request *RequestData, responseWriter rest.ResponseWriter) error) func(rest.ResponseWriter, *rest.Request) }
Click to show internal directories.
Click to hide internal directories.