router

package
v1.2.2 Latest Latest
Warning

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

Go to latest
Published: Jan 9, 2021 License: MIT Imports: 38 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Configure

func Configure() *gin.Engine

Configures the routing infrastructure for this daemon instance.

func ExtractServer added in v1.2.0

func ExtractServer(c *gin.Context) *server.Server

Returns the server instance from the gin context. If there is no server set in the context (e.g. calling from a controller not protected by ServerExists) this function will panic.

func GetServer

func GetServer(uuid string) *server.Server

Helper function to fetch a server out of the servers collection stored in memory.

This function should not be used in new controllers, prefer ExtractServer where possible.

func WithError added in v1.2.0

func WithError(c *gin.Context, err error) error

Attaches an error to the gin.Context object for the request and ensures that it has a proper stacktrace associated with it when doing so.

If you just call c.Error(err) without using this function you'll likely end up with an error that has no annotated stack on it.

Types

type Middleware added in v1.2.0

type Middleware struct{}

func (*Middleware) ErrorHandler added in v1.2.0

func (m *Middleware) ErrorHandler() gin.HandlerFunc

A custom handler function allowing for errors bubbled up by c.Error() to be returned in a standardized format with tracking UUIDs on them for easier log searching.

func (*Middleware) RequireAuthorization added in v1.2.0

func (m *Middleware) RequireAuthorization() gin.HandlerFunc

Authenticates the request token against the given permission string, ensuring that if it is a server permission, the token has control over that server. If it is a global token, this will ensure that the request is using a properly signed global token.

func (*Middleware) ServerExists added in v1.2.0

func (m *Middleware) ServerExists() gin.HandlerFunc

Ensure that the requested server exists in this setup. Returns a 404 if we cannot locate it.

func (*Middleware) SetAccessControlHeaders added in v1.2.0

func (m *Middleware) SetAccessControlHeaders() gin.HandlerFunc

Set the access request control headers on all of the requests.

type RequestError

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

func NewServerError added in v1.2.0

func NewServerError(err error, s *server.Server) *RequestError

Same as NewTrackedError, except this will also attach the server instance that generated this server for the purposes of logging.

func NewTrackedError added in v1.2.0

func NewTrackedError(err error) *RequestError

Generates a new tracked error, which simply tracks the specific error that is being passed in, and also assigned a UUID to the error so that it can be cross referenced in the logs.

func (*RequestError) Abort added in v1.2.0

func (e *RequestError) Abort(c *gin.Context)

Helper function to just abort with an internal server error. This is generally the response from most errors encountered by the API.

func (*RequestError) AbortFilesystemError

func (e *RequestError) AbortFilesystemError(c *gin.Context)

Handle specific filesystem errors for a server.

func (*RequestError) AbortWithStatus

func (e *RequestError) AbortWithStatus(status int, c *gin.Context)

Aborts the request with the given status code, and responds with the error. This will also include the error UUID in the output so that the user can report that and link the response to a specific error in the logs.

func (*RequestError) Error

func (e *RequestError) Error() string

Format the error to a string and include the UUID.

func (*RequestError) SetMessage

func (e *RequestError) SetMessage(msg string) *RequestError

Sets the output message to display to the user in the error.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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