http_api

package
v0.3.7-HA.1.5.2 Latest Latest
Warning

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

Go to latest
Published: Dec 19, 2016 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrDeprecatedAPI = errors.New("deprecated api")
)

Functions

func CompressHandler added in v0.3.6

func CompressHandler(h http.Handler) http.Handler

CompressHandler gzip compresses HTTP responses for clients that support it via the 'Accept-Encoding' header.

func Decorate added in v0.3.6

func Decorate(f APIHandler, ds ...Decorator) httprouter.Handle

func GetTopicArg

func GetTopicArg(rp getter) (string, error)

func GetTopicChannelArgs

func GetTopicChannelArgs(rp getter) (string, string, error)

func GetTopicPartitionArgs

func GetTopicPartitionArgs(rp getter) (string, int, error)

partition can be missing, default as 0.

func GetTopicPartitionChannelArgs

func GetTopicPartitionChannelArgs(rp getter) (string, int, string, error)

func LogMethodNotAllowedHandler added in v0.3.6

func LogMethodNotAllowedHandler(l *levellogger.LevelLogger) http.Handler

func LogNotFoundHandler added in v0.3.6

func LogNotFoundHandler(l *levellogger.LevelLogger) http.Handler

func LogPanicHandler added in v0.3.6

func LogPanicHandler(l *levellogger.LevelLogger) func(w http.ResponseWriter, req *http.Request, p interface{})

func NewDeadlineTransport

func NewDeadlineTransport(timeout time.Duration) *http.Transport

A custom http.Transport with support for deadline timeouts

func Respond

func Respond(w http.ResponseWriter, statusCode int, statusTxt string, data interface{})

func RespondV1

func RespondV1(w http.ResponseWriter, code int, data interface{})

func Serve

func Serve(listener net.Listener, handler http.Handler, proto string, l levellogger.Logger)

Types

type APIHandler added in v0.3.6

type APIHandler func(http.ResponseWriter, *http.Request, httprouter.Params) (interface{}, error)

func DeprecatedAPI

func DeprecatedAPI(f APIHandler) APIHandler

func NegotiateVersion added in v0.3.6

func NegotiateVersion(f APIHandler) APIHandler

func PlainText added in v0.3.6

func PlainText(f APIHandler) APIHandler

func V1 added in v0.3.6

func V1(f APIHandler) APIHandler

type Client added in v0.3.6

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

func NewClient added in v0.3.6

func NewClient(tlsConfig *tls.Config) *Client

func (*Client) GETV1 added in v0.3.6

func (c *Client) GETV1(endpoint string, v interface{}) (int, error)

GETV1 is a helper function to perform a V1 HTTP request and parse our NSQ daemon's expected response format, with deadlines.

func (*Client) NegotiateV1 added in v0.3.6

func (c *Client) NegotiateV1(endpoint string, v interface{}) error

NegotiateV1 is a helper function to perform a v1 HTTP request and fallback to parsing the old backwards-compatible response format storing the result in the value pointed to by v.

TODO: deprecated, remove in 1.0 (replace calls with GETV1)

func (*Client) POSTV1 added in v0.3.6

func (c *Client) POSTV1(endpoint string) (int, error)

PostV1 is a helper function to perform a V1 HTTP request and parse our NSQ daemon's expected response format, with deadlines.

type Decorator added in v0.3.6

type Decorator func(APIHandler) APIHandler

func DebugLog

func DebugLog(l *levellogger.LevelLogger) Decorator

func Log added in v0.3.6

type Err

type Err struct {
	Code int
	Text string
}

func (Err) Error

func (e Err) Error() string

type PostParams

type PostParams struct {
	*http.Request
}

func (*PostParams) Get

func (p *PostParams) Get(key string) (string, error)

type ReqParams

type ReqParams struct {
	url.Values
	Body []byte
}

func NewReqParams

func NewReqParams(req *http.Request) (*ReqParams, error)

func (*ReqParams) Get

func (r *ReqParams) Get(key string) (string, error)

func (*ReqParams) GetAll

func (r *ReqParams) GetAll(key string) ([]string, error)

Jump to

Keyboard shortcuts

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