echo – github.com/labstack/echo Index | Files | Directories

package echo

import "github.com/labstack/echo"

Index

Constants

const (
	// CONNECT HTTP method
	CONNECT = "CONNECT"
	// DELETE HTTP method
	DELETE = "DELETE"
	// GET HTTP method
	GET = "GET"
	// HEAD HTTP method
	HEAD = "HEAD"
	// OPTIONS HTTP method
	OPTIONS = "OPTIONS"
	// PATCH HTTP method
	PATCH = "PATCH"
	// POST HTTP method
	POST = "POST"
	// PUT HTTP method
	PUT = "PUT"
	// TRACE HTTP method
	TRACE = "TRACE"

	ApplicationJSON                  = "application/json"
	ApplicationJSONCharsetUTF8       = ApplicationJSON + "; " + CharsetUTF8
	ApplicationJavaScript            = "application/javascript"
	ApplicationJavaScriptCharsetUTF8 = ApplicationJavaScript + "; " + CharsetUTF8
	ApplicationXML                   = "application/xml"
	ApplicationXMLCharsetUTF8        = ApplicationXML + "; " + CharsetUTF8
	ApplicationForm                  = "application/x-www-form-urlencoded"
	ApplicationProtobuf              = "application/protobuf"
	ApplicationMsgpack               = "application/msgpack"
	TextHTML                         = "text/html"
	TextHTMLCharsetUTF8              = TextHTML + "; " + CharsetUTF8
	TextPlain                        = "text/plain"
	TextPlainCharsetUTF8             = TextPlain + "; " + CharsetUTF8
	MultipartForm                    = "multipart/form-data"

	CharsetUTF8 = "charset=utf-8"

	AcceptEncoding     = "Accept-Encoding"
	Authorization      = "Authorization"
	ContentDisposition = "Content-Disposition"
	ContentEncoding    = "Content-Encoding"
	ContentLength      = "Content-Length"
	ContentType        = "Content-Type"
	Location           = "Location"
	Upgrade            = "Upgrade"
	Vary               = "Vary"
	WWWAuthenticate    = "WWW-Authenticate"
	XForwardedFor      = "X-Forwarded-For"
	XRealIP            = "X-Real-IP"

	WebSocket = "websocket"
)

Variables

var (
	UnsupportedMediaType  = NewHTTPError(http.StatusUnsupportedMediaType)
	RendererNotRegistered = errors.New("renderer not registered")
	InvalidRedirectCode   = errors.New("invalid redirect status code")
)

Types

type Binder

type Binder interface {
	Bind(engine.Request, interface{}) error
}

Binder is the interface that wraps the Bind method.

type Context

type Context interface {
	netContext.Context
	Request() engine.Request
	Response() engine.Response
	Socket() *websocket.Conn
	Path() string
	P(int) string
	Param(string) string
	Query(string) string
	Form(string) string
	Set(string, interface{})
	Get(string) interface{}
	Bind(interface{}) error
	Render(int, string, interface{}) error
	HTML(int, string) error
	String(int, string) error
	JSON(int, interface{}) error
	JSONIndent(int, interface{}, string, string) error
	JSONP(int, string, interface{}) error
	XML(int, interface{}) error
	XMLIndent(int, interface{}, string, string) error
	File(string, string, bool) error
	NoContent(int) error
	Redirect(int, string) error
	Error(err error)
	Logger() logger.Logger
	Object() *context
}

Context represents context for the current request. It holds request and response objects, path parameters, data and registered handler.

func NewContext

func NewContext(req engine.Request, res engine.Response, e *Echo) Context

NewContext creates a Context object.

type Echo

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

func New

func New() (e *Echo)

New creates an instance of Echo.

func (*Echo) Any

func (e *Echo) Any(path string, handler interface{})

Any adds a route > handler to the router for all HTTP methods.

func (*Echo) AutoIndex

func (e *Echo) AutoIndex(on bool)

AutoIndex enable/disable automatically creating an index page for the directory.

func (*Echo) Connect

func (e *Echo) Connect(path string, handler interface{})

Connect adds a CONNECT route > handler to the router.

func (*Echo) Debug

func (e *Echo) Debug() bool

Debug returns debug mode (enabled or disabled).

func (*Echo) DefaultHTTPErrorHandler

func (e *Echo) DefaultHTTPErrorHandler(err error, c Context)

DefaultHTTPErrorHandler invokes the default HTTP error handler.

func (*Echo) Delete

func (e *Echo) Delete(path string, handler interface{})

Delete adds a DELETE route > handler to the router.

func (*Echo) Favicon

func (e *Echo) Favicon(file string)

Favicon serves the default favicon - GET /favicon.ico.

func (*Echo) Get

func (e *Echo) Get(path string, handler interface{})

Get adds a GET route > handler to the router.

func (*Echo) Group

func (e *Echo) Group(prefix string, m ...MiddlewareFunc) *Group

Group creates a new sub router with prefix. It inherits all properties from the parent. Passing middleware overrides parent middleware.

func (*Echo) HTTP2

func (e *Echo) HTTP2(on bool)

HTTP2 enable/disable HTTP2 support.

func (*Echo) Head

func (e *Echo) Head(path string, handler interface{})

Head adds a HEAD route > handler to the router.

func (*Echo) Hook

func (e *Echo) Hook(h engine.HandlerFunc)

Hook registers a callback which is invoked from `Echo#ServerHTTP` as the first statement. Hook is useful if you want to modify response/response objects even before it hits the router or any middleware.

func (*Echo) Index

func (e *Echo) Index(file string)

Index serves index file.

func (*Echo) Logger

func (e *Echo) Logger() logger.Logger

Logger returns the logger instance.

func (*Echo) Match

func (e *Echo) Match(methods []string, path string, handler interface{})

Match adds a route > handler to the router for multiple HTTP methods provided.

func (*Echo) Options

func (e *Echo) Options(path string, handler interface{})

Options adds an OPTIONS route > handler to the router.

func (*Echo) Patch

func (e *Echo) Patch(path string, handler interface{})

Patch adds a PATCH route > handler to the router.

func (*Echo) Post

func (e *Echo) Post(path string, handler interface{})

Post adds a POST route > handler to the router.

func (*Echo) Put

func (e *Echo) Put(path string, handler interface{})

Put adds a PUT route > handler to the router.

func (*Echo) Router

func (e *Echo) Router() *Router

Router returns router.

func (*Echo) Routes

func (e *Echo) Routes() []Route

Routes returns the registered routes.

func (*Echo) Run

func (e *Echo) Run(eng engine.Engine)

Run starts the HTTP engine.

func (*Echo) ServeDir

func (e *Echo) ServeDir(path, dir string)

ServeDir serves files from a directory.

func (*Echo) ServeFile

func (e *Echo) ServeFile(path, file string)

ServeFile serves a file.

func (*Echo) ServeHTTP

func (e *Echo) ServeHTTP(req engine.Request, res engine.Response)

func (*Echo) SetBinder

func (e *Echo) SetBinder(b Binder)

SetBinder registers a custom binder. It's invoked by Context.Bind().

func (*Echo) SetDebug

func (e *Echo) SetDebug(on bool)

SetDebug enable/disable debug mode.

func (*Echo) SetHTTPErrorHandler

func (e *Echo) SetHTTPErrorHandler(h HTTPErrorHandler)

SetHTTPErrorHandler registers a custom Echo.HTTPErrorHandler.

func (*Echo) SetLogger

func (e *Echo) SetLogger(l logger.Logger)

SetLogger sets the logger instance.

func (*Echo) SetRenderer

func (e *Echo) SetRenderer(r Renderer)

SetRenderer registers an HTML template renderer. It's invoked by Context.Render().

func (*Echo) Static

func (e *Echo) Static(path, dir string)

Static serves static files from a directory. It's an alias for `Echo.ServeDir`

func (*Echo) Trace

func (e *Echo) Trace(path string, handler interface{})

Trace adds a TRACE route > handler to the router.

func (*Echo) URI

func (e *Echo) URI(h HandlerFunc, params ...interface{}) string

URI generates a URI from handler.

func (*Echo) URL

func (e *Echo) URL(h HandlerFunc, params ...interface{}) string

URL is an alias for `URI` function.

func (*Echo) Use

func (e *Echo) Use(middleware ...interface{})

Use adds handler to the middleware chain.

type Group

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

func (*Group) Connect

func (g *Group) Connect(path string, h HandlerFunc)

func (*Group) Delete

func (g *Group) Delete(path string, h HandlerFunc)

func (*Group) Get

func (g *Group) Get(path string, h HandlerFunc)

func (*Group) Group

func (g *Group) Group(prefix string, m ...MiddlewareFunc) *Group

func (*Group) Head

func (g *Group) Head(path string, h HandlerFunc)

func (*Group) Options

func (g *Group) Options(path string, h HandlerFunc)

func (*Group) Patch

func (g *Group) Patch(path string, h HandlerFunc)

func (*Group) Post

func (g *Group) Post(path string, h HandlerFunc)

func (*Group) Put

func (g *Group) Put(path string, h HandlerFunc)

func (*Group) ServeDir

func (g *Group) ServeDir(path, root string)

func (*Group) ServeFile

func (g *Group) ServeFile(path, file string)

func (*Group) Static

func (g *Group) Static(path, root string)

func (*Group) Trace

func (g *Group) Trace(path string, h HandlerFunc)

func (*Group) Use

func (g *Group) Use(m ...MiddlewareFunc)

type HTTPError

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

func NewHTTPError

func NewHTTPError(code int, msg ...string) *HTTPError

func (*HTTPError) Code

func (e *HTTPError) Code() int

Code returns code.

func (*HTTPError) Error

func (e *HTTPError) Error() string

Error returns message.

func (*HTTPError) SetCode

func (e *HTTPError) SetCode(code int)

SetCode sets code.

type HTTPErrorHandler

type HTTPErrorHandler func(error, Context)

HTTPErrorHandler is a centralized HTTP error handler.

type Handler

type Handler interface {
	Handle(Context) error
}

type HandlerFunc

type HandlerFunc func(Context) error

func (HandlerFunc) Handle

func (f HandlerFunc) Handle(c Context) error

type Middleware

type Middleware interface {
	Process(HandlerFunc) HandlerFunc
}

type MiddlewareFunc

type MiddlewareFunc func(HandlerFunc) HandlerFunc

func (MiddlewareFunc) Process

func (f MiddlewareFunc) Process(h HandlerFunc) HandlerFunc

type Renderer

type Renderer interface {
	Render(w io.Writer, name string, data interface{}) error
}

Renderer is the interface that wraps the Render method.

type Route

type Route struct {
	Method  string
	Path    string
	Handler string
}

type Router

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

func NewRouter

func NewRouter(e *Echo) *Router

func (*Router) Add

func (r *Router) Add(method, path string, h HandlerFunc, e *Echo)

func (*Router) Find

func (r *Router) Find(method, path string, context Context) (h HandlerFunc, e *Echo)

type Validator

type Validator interface {
	Validate() error
}

Validator is the interface that wraps the Validate method.

Source Files

context.go echo.go group.go router.go

Directories

PathSynopsis
engine
engine/fasthttp
engine/standard
logger
middleware
test
Version
v2.0.0-apha.1+incompatible
Published
Feb 10, 2016
Platform
windows/amd64
Imports
20 packages
Last checked
7 seconds ago

Tools for package owners.