echo.v2: gopkg.in/labstack/echo.v2 Index | Files | Directories

package echo

import "gopkg.in/labstack/echo.v2"

Package echo implements a fast and unfancy HTTP server framework for Go (Golang).

Example:

package main

import (
    "net/http"

    "github.com/labstack/echo"
    "github.com/labstack/echo/engine/standard"
    "github.com/labstack/echo/middleware"
)

// Handler
func hello(c echo.Context) error {
    return c.String(http.StatusOK, "Hello, World!")
}

func main() {
    // Echo instance
    e := echo.New()

    // Middleware
    e.Use(middleware.Logger())
    e.Use(middleware.Recover())

    // Routes
    e.GET("/", hello)

    // Start server
    e.Run(standard.New(":1323"))
}

Learn more at https://echo.labstack.com

Index

Package Files

binder.go context.go cookie.go echo.go group.go router.go

Constants

const (
    CONNECT = "CONNECT"
    DELETE  = "DELETE"
    GET     = "GET"
    HEAD    = "HEAD"
    OPTIONS = "OPTIONS"
    PATCH   = "PATCH"
    POST    = "POST"
    PUT     = "PUT"
    TRACE   = "TRACE"
)

HTTP methods

const (
    MIMEApplicationJSON                  = "application/json"
    MIMEApplicationJSONCharsetUTF8       = MIMEApplicationJSON + "; " + charsetUTF8
    MIMEApplicationJavaScript            = "application/javascript"
    MIMEApplicationJavaScriptCharsetUTF8 = MIMEApplicationJavaScript + "; " + charsetUTF8
    MIMEApplicationXML                   = "application/xml"
    MIMEApplicationXMLCharsetUTF8        = MIMEApplicationXML + "; " + charsetUTF8
    MIMEApplicationForm                  = "application/x-www-form-urlencoded"
    MIMEApplicationProtobuf              = "application/protobuf"
    MIMEApplicationMsgpack               = "application/msgpack"
    MIMETextHTML                         = "text/html"
    MIMETextHTMLCharsetUTF8              = MIMETextHTML + "; " + charsetUTF8
    MIMETextPlain                        = "text/plain"
    MIMETextPlainCharsetUTF8             = MIMETextPlain + "; " + charsetUTF8
    MIMEMultipartForm                    = "multipart/form-data"
    MIMEOctetStream                      = "application/octet-stream"
)

MIME types

const (
    HeaderAcceptEncoding                = "Accept-Encoding"
    HeaderAllow                         = "Allow"
    HeaderAuthorization                 = "Authorization"
    HeaderContentDisposition            = "Content-Disposition"
    HeaderContentEncoding               = "Content-Encoding"
    HeaderContentLength                 = "Content-Length"
    HeaderContentType                   = "Content-Type"
    HeaderCookie                        = "Cookie"
    HeaderSetCookie                     = "Set-Cookie"
    HeaderIfModifiedSince               = "If-Modified-Since"
    HeaderLastModified                  = "Last-Modified"
    HeaderLocation                      = "Location"
    HeaderUpgrade                       = "Upgrade"
    HeaderVary                          = "Vary"
    HeaderWWWAuthenticate               = "WWW-Authenticate"
    HeaderXForwardedProto               = "X-Forwarded-Proto"
    HeaderXHTTPMethodOverride           = "X-HTTP-Method-Override"
    HeaderXForwardedFor                 = "X-Forwarded-For"
    HeaderXRealIP                       = "X-Real-IP"
    HeaderServer                        = "Server"
    HeaderOrigin                        = "Origin"
    HeaderAccessControlRequestMethod    = "Access-Control-Request-Method"
    HeaderAccessControlRequestHeaders   = "Access-Control-Request-Headers"
    HeaderAccessControlAllowOrigin      = "Access-Control-Allow-Origin"
    HeaderAccessControlAllowMethods     = "Access-Control-Allow-Methods"
    HeaderAccessControlAllowHeaders     = "Access-Control-Allow-Headers"
    HeaderAccessControlAllowCredentials = "Access-Control-Allow-Credentials"
    HeaderAccessControlExposeHeaders    = "Access-Control-Expose-Headers"
    HeaderAccessControlMaxAge           = "Access-Control-Max-Age"

    // Security
    HeaderStrictTransportSecurity = "Strict-Transport-Security"
    HeaderXContentTypeOptions     = "X-Content-Type-Options"
    HeaderXXSSProtection          = "X-XSS-Protection"
    HeaderXFrameOptions           = "X-Frame-Options"
    HeaderContentSecurityPolicy   = "Content-Security-Policy"
    HeaderXCSRFToken              = "X-CSRF-Token"
)

Headers

Variables

var (
    ErrUnsupportedMediaType        = NewHTTPError(http.StatusUnsupportedMediaType)
    ErrNotFound                    = NewHTTPError(http.StatusNotFound)
    ErrUnauthorized                = NewHTTPError(http.StatusUnauthorized)
    ErrMethodNotAllowed            = NewHTTPError(http.StatusMethodNotAllowed)
    ErrStatusRequestEntityTooLarge = NewHTTPError(http.StatusRequestEntityTooLarge)
    ErrRendererNotRegistered       = errors.New("renderer not registered")
    ErrInvalidRedirectCode         = errors.New("invalid redirect status code")
    ErrCookieNotFound              = errors.New("cookie not found")
)

Errors

var (
    NotFoundHandler = func(c Context) error {
        return ErrNotFound
    }

    MethodNotAllowedHandler = func(c Context) error {
        return ErrMethodNotAllowed
    }
)

Error handlers

func ContentTypeByExtension Uses

func ContentTypeByExtension(name string) (t string)

ContentTypeByExtension returns the MIME type associated with the file based on its extension. It returns `application/octet-stream` incase MIME type is not found.

type Binder Uses

type Binder interface {
    Bind(interface{}, Context) error
}

Binder is the interface that wraps the Bind method.

type Context Uses

type Context interface {
    // StdContext returns `context.Context`.
    StdContext() gcontext.Context

    // SetStdContext sets `context.Context`.
    SetStdContext(gcontext.Context)

    // Request returns `engine.Request` interface.
    Request() engine.Request

    // Request returns `engine.Response` interface.
    Response() engine.Response

    // Path returns the registered path for the handler.
    Path() string

    // SetPath sets the registered path for the handler.
    SetPath(string)

    // P returns path parameter by index.
    P(int) string

    // Param returns path parameter by name.
    Param(string) string

    // ParamNames returns path parameter names.
    ParamNames() []string

    // SetParamNames sets path parameter names.
    SetParamNames(...string)

    // ParamValues returns path parameter values.
    ParamValues() []string

    // SetParamValues sets path parameter values.
    SetParamValues(...string)

    // QueryParam returns the query param for the provided name. It is an alias
    // for `engine.URL#QueryParam()`.
    QueryParam(string) string

    // QueryParams returns the query parameters as map.
    // It is an alias for `engine.URL#QueryParams()`.
    QueryParams() map[string][]string

    // FormValue returns the form field value for the provided name. It is an
    // alias for `engine.Request#FormValue()`.
    FormValue(string) string

    // FormParams returns the form parameters as map.
    // It is an alias for `engine.Request#FormParams()`.
    FormParams() map[string][]string

    // FormFile returns the multipart form file for the provided name. It is an
    // alias for `engine.Request#FormFile()`.
    FormFile(string) (*multipart.FileHeader, error)

    // MultipartForm returns the multipart form.
    // It is an alias for `engine.Request#MultipartForm()`.
    MultipartForm() (*multipart.Form, error)

    // Cookie returns the named cookie provided in the request.
    // It is an alias for `engine.Request#Cookie()`.
    Cookie(string) (engine.Cookie, error)

    // SetCookie adds a `Set-Cookie` header in HTTP response.
    // It is an alias for `engine.Response#SetCookie()`.
    SetCookie(engine.Cookie)

    // Cookies returns the HTTP cookies sent with the request.
    // It is an alias for `engine.Request#Cookies()`.
    Cookies() []engine.Cookie

    // Get retrieves data from the context.
    Get(string) interface{}

    // Set saves data in the context.
    Set(string, interface{})

    // Bind binds the request body into provided type `i`. The default binder
    // does it based on Content-Type header.
    Bind(interface{}) error

    // Render renders a template with data and sends a text/html response with status
    // code. Templates can be registered using `Echo.SetRenderer()`.
    Render(int, string, interface{}) error

    // HTML sends an HTTP response with status code.
    HTML(int, string) error

    // String sends a string response with status code.
    String(int, string) error

    // JSON sends a JSON response with status code.
    JSON(int, interface{}) error

    // JSONBlob sends a JSON blob response with status code.
    JSONBlob(int, []byte) error

    // JSONP sends a JSONP response with status code. It uses `callback` to construct
    // the JSONP payload.
    JSONP(int, string, interface{}) error

    // JSONPBlob sends a JSONP blob response with status code. It uses `callback`
    // to construct the JSONP payload.
    JSONPBlob(int, string, []byte) error

    // XML sends an XML response with status code.
    XML(int, interface{}) error

    // XMLBlob sends a XML blob response with status code.
    XMLBlob(int, []byte) error

    // Blob sends a blob response with status code and content type.
    Blob(int, string, []byte) error

    // Stream sends a streaming response with status code and content type.
    Stream(int, string, io.Reader) error

    // File sends a response with the content of the file.
    File(string) error

    // Attachment sends a response from `io.ReaderSeeker` as attachment, prompting
    // client to save the file.
    Attachment(io.ReadSeeker, string) error

    // Inline sends a response from `io.ReaderSeeker` as inline, opening
    // the file in the browser.
    Inline(io.ReadSeeker, string) error

    // NoContent sends a response with no body and a status code.
    NoContent(int) error

    // Redirect redirects the request with status code.
    Redirect(int, string) error

    // Error invokes the registered HTTP error handler. Generally used by middleware.
    Error(err error)

    // Handler returns the matched handler by router.
    Handler() HandlerFunc

    // SetHandler sets the matched handler by router.
    SetHandler(HandlerFunc)

    // Logger returns the `Logger` instance.
    Logger() log.Logger

    // Echo returns the `Echo` instance.
    Echo() *Echo

    // ServeContent sends static content from `io.Reader` and handles caching
    // via `If-Modified-Since` request header. It automatically sets `Content-Type`
    // and `Last-Modified` response headers.
    ServeContent(io.ReadSeeker, string, time.Time) error

    // Reset resets the context after request completes. It must be called along
    // with `Echo#AcquireContext()` and `Echo#ReleaseContext()`.
    // See `Echo#ServeHTTP()`
    Reset(engine.Request, engine.Response)
}

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

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

Cookie defines the HTTP cookie.

func (*Cookie) Domain Uses

func (c *Cookie) Domain() string

Domain returns the cookie domain.

func (*Cookie) Expires Uses

func (c *Cookie) Expires() time.Time

Expires returns the cookie expiry time.

func (*Cookie) HTTPOnly Uses

func (c *Cookie) HTTPOnly() bool

HTTPOnly indicates if cookie is HTTPOnly.

func (*Cookie) Name Uses

func (c *Cookie) Name() string

Name returns the cookie name.

func (*Cookie) Path Uses

func (c *Cookie) Path() string

Path returns the cookie path.

func (*Cookie) Secure Uses

func (c *Cookie) Secure() bool

Secure indicates if cookie is Secure.

func (*Cookie) SetDomain Uses

func (c *Cookie) SetDomain(domain string)

SetDomain sets the cookie domain.

func (*Cookie) SetExpires Uses

func (c *Cookie) SetExpires(expires time.Time)

SetExpires sets the cookie expiry time.

func (*Cookie) SetHTTPOnly Uses

func (c *Cookie) SetHTTPOnly(httpOnly bool)

SetHTTPOnly sets the cookie as HTTPOnly.

func (*Cookie) SetName Uses

func (c *Cookie) SetName(name string)

SetName sets cookie name.

func (*Cookie) SetPath Uses

func (c *Cookie) SetPath(path string)

SetPath sets the cookie path.

func (*Cookie) SetSecure Uses

func (c *Cookie) SetSecure(secure bool)

SetSecure sets the cookie as Secure.

func (*Cookie) SetValue Uses

func (c *Cookie) SetValue(value string)

SetValue sets the cookie value.

func (*Cookie) Value Uses

func (c *Cookie) Value() string

Value returns the cookie value.

type Echo Uses

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

Echo is the top-level framework instance.

func New Uses

func New() (e *Echo)

New creates an instance of Echo.

func (*Echo) AcquireContext Uses

func (e *Echo) AcquireContext() Context

AcquireContext returns an empty `Context` instance from the pool. You must be return the context by calling `ReleaseContext()`.

func (*Echo) Any Uses

func (e *Echo) Any(path string, handler HandlerFunc, middleware ...MiddlewareFunc)

Any registers a new route for all HTTP methods and path with matching handler in the router with optional route-level middleware.

func (*Echo) Binder Uses

func (e *Echo) Binder() Binder

Binder returns the binder instance.

func (*Echo) CONNECT Uses

func (e *Echo) CONNECT(path string, h HandlerFunc, m ...MiddlewareFunc)

CONNECT registers a new CONNECT route for a path with matching handler in the router with optional route-level middleware.

func (*Echo) Connect Uses

func (e *Echo) Connect(path string, h HandlerFunc, m ...MiddlewareFunc)

Connect is deprecated, use `CONNECT()` instead.

func (*Echo) DELETE Uses

func (e *Echo) DELETE(path string, h HandlerFunc, m ...MiddlewareFunc)

DELETE registers a new DELETE route for a path with matching handler in the router with optional route-level middleware.

func (*Echo) Debug Uses

func (e *Echo) Debug() bool

Debug returns debug mode (enabled or disabled).

func (*Echo) DefaultHTTPErrorHandler Uses

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

DefaultHTTPErrorHandler invokes the default HTTP error handler.

func (*Echo) Delete Uses

func (e *Echo) Delete(path string, h HandlerFunc, m ...MiddlewareFunc)

Delete is deprecated, use `DELETE()` instead.

func (*Echo) File Uses

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

File registers a new route with path to serve a static file.

func (*Echo) GET Uses

func (e *Echo) GET(path string, h HandlerFunc, m ...MiddlewareFunc)

GET registers a new GET route for a path with matching handler in the router with optional route-level middleware.

func (*Echo) Get Uses

func (e *Echo) Get(path string, h HandlerFunc, m ...MiddlewareFunc)

Get is deprecated, use `GET()` instead.

func (*Echo) Group Uses

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

Group creates a new router group with prefix and optional group-level middleware.

func (*Echo) HEAD Uses

func (e *Echo) HEAD(path string, h HandlerFunc, m ...MiddlewareFunc)

HEAD registers a new HEAD route for a path with matching handler in the router with optional route-level middleware.

func (*Echo) Head Uses

func (e *Echo) Head(path string, h HandlerFunc, m ...MiddlewareFunc)

Head is deprecated, use `HEAD()` instead.

func (*Echo) Logger Uses

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

Logger returns the logger instance.

func (*Echo) Match Uses

func (e *Echo) Match(methods []string, path string, handler HandlerFunc, middleware ...MiddlewareFunc)

Match registers a new route for multiple HTTP methods and path with matching handler in the router with optional route-level middleware.

func (*Echo) NewContext Uses

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

NewContext returns a Context instance.

func (*Echo) OPTIONS Uses

func (e *Echo) OPTIONS(path string, h HandlerFunc, m ...MiddlewareFunc)

OPTIONS registers a new OPTIONS route for a path with matching handler in the router with optional route-level middleware.

func (*Echo) Options Uses

func (e *Echo) Options(path string, h HandlerFunc, m ...MiddlewareFunc)

Options is deprecated, use `OPTIONS()` instead.

func (*Echo) PATCH Uses

func (e *Echo) PATCH(path string, h HandlerFunc, m ...MiddlewareFunc)

PATCH registers a new PATCH route for a path with matching handler in the router with optional route-level middleware.

func (*Echo) POST Uses

func (e *Echo) POST(path string, h HandlerFunc, m ...MiddlewareFunc)

POST registers a new POST route for a path with matching handler in the router with optional route-level middleware.

func (*Echo) PUT Uses

func (e *Echo) PUT(path string, h HandlerFunc, m ...MiddlewareFunc)

PUT registers a new PUT route for a path with matching handler in the router with optional route-level middleware.

func (*Echo) Patch Uses

func (e *Echo) Patch(path string, h HandlerFunc, m ...MiddlewareFunc)

Patch is deprecated, use `PATCH()` instead.

func (*Echo) Post Uses

func (e *Echo) Post(path string, h HandlerFunc, m ...MiddlewareFunc)

Post is deprecated, use `POST()` instead.

func (*Echo) Pre Uses

func (e *Echo) Pre(middleware ...MiddlewareFunc)

Pre adds middleware to the chain which is run before router.

func (*Echo) Put Uses

func (e *Echo) Put(path string, h HandlerFunc, m ...MiddlewareFunc)

Put is deprecated, use `PUT()` instead.

func (*Echo) ReleaseContext Uses

func (e *Echo) ReleaseContext(c Context)

ReleaseContext returns the `Context` instance back to the pool. You must call it after `AcquireContext()`.

func (*Echo) Router Uses

func (e *Echo) Router() *Router

Router returns router.

func (*Echo) Routes Uses

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

Routes returns the registered routes.

func (*Echo) Run Uses

func (e *Echo) Run(s engine.Server) error

Run starts the HTTP server.

func (*Echo) ServeHTTP Uses

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

func (*Echo) SetBinder Uses

func (e *Echo) SetBinder(b Binder)

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

func (*Echo) SetDebug Uses

func (e *Echo) SetDebug(on bool)

SetDebug enables/disables debug mode.

func (*Echo) SetHTTPErrorHandler Uses

func (e *Echo) SetHTTPErrorHandler(h HTTPErrorHandler)

SetHTTPErrorHandler registers a custom Echo.HTTPErrorHandler.

func (*Echo) SetLogLevel Uses

func (e *Echo) SetLogLevel(l glog.Lvl)

SetLogLevel sets the log level for the logger. Default value ERROR.

func (*Echo) SetLogOutput Uses

func (e *Echo) SetLogOutput(w io.Writer)

SetLogOutput sets the output destination for the logger. Default value is `os.Std*`

func (*Echo) SetLogger Uses

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

SetLogger defines a custom logger.

func (*Echo) SetRenderer Uses

func (e *Echo) SetRenderer(r Renderer)

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

func (*Echo) Static Uses

func (e *Echo) Static(prefix, root string)

Static registers a new route with path prefix to serve static files from the provided root directory.

func (*Echo) Stop Uses

func (e *Echo) Stop() error

Stop stops the HTTP server.

func (*Echo) TRACE Uses

func (e *Echo) TRACE(path string, h HandlerFunc, m ...MiddlewareFunc)

TRACE registers a new TRACE route for a path with matching handler in the router with optional route-level middleware.

func (*Echo) Trace Uses

func (e *Echo) Trace(path string, h HandlerFunc, m ...MiddlewareFunc)

Trace is deprecated, use `TRACE()` instead.

func (*Echo) URI Uses

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

URI generates a URI from handler.

func (*Echo) URL Uses

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

URL is an alias for `URI` function.

func (*Echo) Use Uses

func (e *Echo) Use(middleware ...MiddlewareFunc)

Use adds middleware to the chain which is run after router.

type Group Uses

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

Group is a set of sub-routes for a specified route. It can be used for inner routes that share a common middlware or functionality that should be separate from the parent echo instance while still inheriting from it.

func (*Group) Any Uses

func (g *Group) Any(path string, handler HandlerFunc, middleware ...MiddlewareFunc)

Any implements `Echo#Any()` for sub-routes within the Group.

func (*Group) CONNECT Uses

func (g *Group) CONNECT(path string, h HandlerFunc, m ...MiddlewareFunc)

CONNECT implements `Echo#CONNECT()` for sub-routes within the Group.

func (*Group) Connect Uses

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

Connect is deprecated, use `CONNECT()` instead.

func (*Group) DELETE Uses

func (g *Group) DELETE(path string, h HandlerFunc, m ...MiddlewareFunc)

DELETE implements `Echo#DELETE()` for sub-routes within the Group.

func (*Group) Delete Uses

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

Delete is deprecated, use `DELETE()` instead.

func (*Group) File Uses

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

File implements `Echo#File()` for sub-routes within the Group.

func (*Group) GET Uses

func (g *Group) GET(path string, h HandlerFunc, m ...MiddlewareFunc)

GET implements `Echo#GET()` for sub-routes within the Group.

func (*Group) Get Uses

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

Get is deprecated, use `GET()` instead.

func (*Group) Group Uses

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

Group creates a new sub-group with prefix and optional sub-group-level middleware.

func (*Group) HEAD Uses

func (g *Group) HEAD(path string, h HandlerFunc, m ...MiddlewareFunc)

HEAD implements `Echo#HEAD()` for sub-routes within the Group.

func (*Group) Head Uses

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

Head is deprecated, use `HEAD()` instead.

func (*Group) Match Uses

func (g *Group) Match(methods []string, path string, handler HandlerFunc, middleware ...MiddlewareFunc)

Match implements `Echo#Match()` for sub-routes within the Group.

func (*Group) OPTIONS Uses

func (g *Group) OPTIONS(path string, h HandlerFunc, m ...MiddlewareFunc)

OPTIONS implements `Echo#OPTIONS()` for sub-routes within the Group.

func (*Group) Options Uses

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

Options is deprecated, use `OPTIONS()` instead.

func (*Group) PATCH Uses

func (g *Group) PATCH(path string, h HandlerFunc, m ...MiddlewareFunc)

PATCH implements `Echo#PATCH()` for sub-routes within the Group.

func (*Group) POST Uses

func (g *Group) POST(path string, h HandlerFunc, m ...MiddlewareFunc)

POST implements `Echo#POST()` for sub-routes within the Group.

func (*Group) PUT Uses

func (g *Group) PUT(path string, h HandlerFunc, m ...MiddlewareFunc)

PUT implements `Echo#PUT()` for sub-routes within the Group.

func (*Group) Patch Uses

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

Patch is deprecated, use `PATCH()` instead.

func (*Group) Post Uses

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

Post is deprecated, use `POST()` instead.

func (*Group) Put Uses

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

Put is deprecated, use `PUT()` instead.

func (*Group) Static Uses

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

Static implements `Echo#Static()` for sub-routes within the Group.

func (*Group) TRACE Uses

func (g *Group) TRACE(path string, h HandlerFunc, m ...MiddlewareFunc)

TRACE implements `Echo#TRACE()` for sub-routes within the Group.

func (*Group) Trace Uses

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

Trace is deprecated, use `TRACE()` instead.

func (*Group) Use Uses

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

Use implements `Echo#Use()` for sub-routes within the Group.

type HTTPError Uses

type HTTPError struct {
    Code    int
    Message string
}

HTTPError represents an error that occurred while handling a request.

func NewHTTPError Uses

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

NewHTTPError creates a new HTTPError instance.

func (*HTTPError) Error Uses

func (e *HTTPError) Error() string

Error makes it compatible with `error` interface.

type HTTPErrorHandler Uses

type HTTPErrorHandler func(error, Context)

HTTPErrorHandler is a centralized HTTP error handler.

type HandlerFunc Uses

type HandlerFunc func(Context) error

HandlerFunc defines a function to server HTTP requests.

type MiddlewareFunc Uses

type MiddlewareFunc func(HandlerFunc) HandlerFunc

MiddlewareFunc defines a function to process middleware.

func WrapMiddleware Uses

func WrapMiddleware(h HandlerFunc) MiddlewareFunc

WrapMiddleware wrap `echo.HandlerFunc` into `echo.MiddlewareFunc`.

type Renderer Uses

type Renderer interface {
    Render(io.Writer, string, interface{}, Context) error
}

Renderer is the interface that wraps the Render function.

type Route Uses

type Route struct {
    Method  string
    Path    string
    Handler string
}

Route contains a handler and information for matching against requests.

type Router Uses

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

Router is the registry of all registered routes for an `Echo` instance for request matching and URL path parameter parsing.

func NewRouter Uses

func NewRouter(e *Echo) *Router

NewRouter returns a new Router instance.

func (*Router) Add Uses

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

Add registers a new route for method and path with matching handler.

func (*Router) Find Uses

func (r *Router) Find(method, path string, context Context)

Find lookup a handler registed for method and path. It also parses URL for path parameters and load them into context.

For performance:

- Get context from `Echo#AcquireContext()` - Reset it `Context#Reset()` - Return it `Echo#ReleaseContext()`.

type Validator Uses

type Validator interface {
    Validate() error
}

Validator is the interface that wraps the Validate function.

Directories

PathSynopsis
context
engine
engine/fasthttp
engine/standard
engine/test
log
middleware
recipe/cors
recipe/crud
recipe/embed-resources
recipe/google-app-engine
recipe/hello-world
recipe/http2
recipe/jsonp
recipe/middleware
recipe/streaming-response
recipe/subdomains
test

Package echo imports 22 packages (graph). Updated 2016-11-13. Refresh now. Tools for package owners.