Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExtractServer ¶ added in v1.2.0
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 ¶
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.
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.