Documentation
¶
Index ¶
- func CheckAuthFlag(w http.ResponseWriter, r *http.Request, flagValue string, flagName string) bool
- func CheckBasicAuth(w http.ResponseWriter, r *http.Request) bool
- func EnableCORS(w http.ResponseWriter, _ *http.Request)
- func Errorf(w http.ResponseWriter, r *http.Request, format string, args ...interface{})
- func GetPathPrefix() string
- func GetQuotedRemoteAddr(r *http.Request) string
- func GetRequestURI(r *http.Request) string
- func IsTLS(idx int) bool
- func LogError(req *http.Request, errStr string)
- func Redirect(w http.ResponseWriter, url string)
- func Serve(addrs []string, useProxyProtocol *flagutil.ArrayBool, rh RequestHandler)
- func Stop(addrs []string) error
- func WriteAPIHelp(w io.Writer, pathList [][2]string)
- type ErrorWithStatusCode
- type Path
- type RequestHandler
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CheckAuthFlag ¶
CheckAuthFlag checks whether the given authKey is set and valid
Falls back to checkBasicAuth if authKey is not set
func CheckBasicAuth ¶
func CheckBasicAuth(w http.ResponseWriter, r *http.Request) bool
CheckBasicAuth validates credentials provided in request if httpAuth.* flags are set returns true if credentials are valid or httpAuth.* flags are not set
func EnableCORS ¶
func EnableCORS(w http.ResponseWriter, _ *http.Request)
EnableCORS enables https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS on the response.
func Errorf ¶
func Errorf(w http.ResponseWriter, r *http.Request, format string, args ...interface{})
Errorf writes formatted error message to w and to logger.
func GetQuotedRemoteAddr ¶
GetQuotedRemoteAddr returns quoted remote address.
func GetRequestURI ¶
GetRequestURI returns requestURI for r.
func Redirect ¶
func Redirect(w http.ResponseWriter, url string)
Redirect redirects to the given url.
func Serve ¶
func Serve(addrs []string, useProxyProtocol *flagutil.ArrayBool, rh RequestHandler)
Serve starts an http server on the given addrs with the given optional rh.
By default all the responses are transparently compressed, since egress traffic is usually expensive.
The compression can be disabled by specifying -http.disableResponseCompression command-line flag.
If useProxyProtocol is set to true for the corresponding addr, then the incoming connections are accepted via proxy protocol. See https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt
func WriteAPIHelp ¶
WriteAPIHelp writes pathList to w in HTML format.
Types ¶
type ErrorWithStatusCode ¶
ErrorWithStatusCode is error with HTTP status code.
The given StatusCode is sent to client when the error is passed to Errorf.
func (*ErrorWithStatusCode) Error ¶
func (e *ErrorWithStatusCode) Error() string
Error implements error interface.
func (*ErrorWithStatusCode) Unwrap ¶
func (e *ErrorWithStatusCode) Unwrap() error
Unwrap returns e.Err.
This is used by standard errors package. See https://golang.org/pkg/errors
type Path ¶
Path contains the following path structure: /{prefix}/{authToken}/{suffix}
It is compatible with SaaS version.
type RequestHandler ¶
type RequestHandler func(w http.ResponseWriter, r *http.Request) bool
RequestHandler must serve the given request r and write response to w.
RequestHandler must return true if the request has been served (successfully or not).
RequestHandler must return false if it cannot serve the given request. In such cases the caller must serve the request.