utils

package
v0.13.1 Latest Latest
Warning

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

Go to latest
Published: Sep 18, 2018 License: AGPL-3.0-only Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DescribeError

func DescribeError(err error) error

DescribeError returns a wrapped version for errors which contain additional fields. The wrapped version contains all fields as a string value. Use this for general purpose logging of rich errors.

func ErrorAsFields

func ErrorAsFields(err error) map[string]interface{}

ErrorAsFields returns a mapping of all fields of the provided error.

func IsRequestFromTrustedSource added in v0.3.0

func IsRequestFromTrustedSource(req *http.Request, ips []*net.IP, nets []*net.IPNet) (bool, error)

IsRequestFromTrustedSource checks if the provided requests remote address is one either one of the provided ips or in one of the provided networks.

func OriginFromRequestHeaders added in v0.5.0

func OriginFromRequestHeaders(header http.Header) string

OriginFromRequestHeaders tries to find information about the origin from the provided http.Header. It first looks into the Origin header field and if that is not found it looks into the Referer header field. If both are not found an empty string is returned.

func WriteErrorPage

func WriteErrorPage(rw http.ResponseWriter, code int, title string, message string)

WriteErrorPage create a formatted error page response containing the provided information and writes it to the provided http.ResponseWriter.

func WriteJSON

func WriteJSON(rw http.ResponseWriter, code int, data interface{}, contentType string) error

WriteJSON marshals the provided data as JSON and writes it to the provided http.ResponseWriter using the provided HTTP status code and content-type. the nature of this function is that it always writes a HTTP response header. Thus it makes no sense to write another header on error. Resulting errors should be logged and the connection should be closes as it is non-functional.

func WriteRedirect

func WriteRedirect(rw http.ResponseWriter, code int, uri *url.URL, params interface{}, asFragment bool) error

WriteRedirect crates a URL out of the provided uri and params and writes a a HTTP response with the provided HTTP status code to the provided http.ResponseWriter incliding HTTP caching headers to prevent caching. If asFragment is true, the provided params are added as URL fragment, otherwise they replace the query. If params is nil, the provided uri is taken as is.

Types

type ErrorWithDescription

type ErrorWithDescription interface {
	error
	Description() string
}

ErrorWithDescription is an interface binding the standard error inteface with a description.

Jump to

Keyboard shortcuts

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