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"

	MIMEJSON          = "application/json"
	MIMEText          = "text/plain"
	MIMEHTML          = "text/html"
	MIMEForm          = "application/x-www-form-urlencoded"
	MIMEMultipartForm = "multipart/form-data"

	HeaderAccept             = "Accept"
	HeaderContentDisposition = "Content-Disposition"
	HeaderContentLength      = "Content-Length"
	HeaderContentType        = "Content-Type"
)

Variables

var (
	UnsupportedMediaType  = errors.New("echo: unsupported media type")
	RendererNotRegistered = errors.New("echo: renderer not registered")
)

Functions

func NewRouter

func NewRouter(e *Echo) (r *router)

Types

type BindFunc

type BindFunc func(*http.Request, interface{}) *HTTPError

type Context

type Context struct {
	Request  *http.Request
	Response *response
	// contains filtered or unexported fields
}

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

func (*Context) Bind

func (c *Context) Bind(v interface{}) *HTTPError

Bind binds the request body into specified type v. Default binder does it based on Content-Type header.

func (*Context) Error

func (c *Context) Error(he *HTTPError)

Error invokes the registered HTTP error handler.

func (*Context) Get

func (c *Context) Get(key string) interface{}

Get retrieves data from the context.

func (*Context) HTML

func (c *Context) HTML(code int, html string) *HTTPError

HTML sends a text/html response with status code.

func (*Context) JSON

func (c *Context) JSON(code int, v interface{}) *HTTPError

JSON sends an application/json response with status code.

func (*Context) NoContent

func (c *Context) NoContent(code int) *HTTPError

NoContent sends a response with no body and a status code.

func (*Context) P

func (c *Context) P(i uint8) (value string)

P returns path parameter by index.

func (*Context) Param

func (c *Context) Param(name string) (value string)

Param returns path parameter by name.

func (*Context) Redirect

func (c *Context) Redirect(code int, url string)

Redirect redirects the request using http.Redirect with status code.

func (*Context) Render

func (c *Context) Render(code int, name string, data interface{}) *HTTPError

Render invokes the registered HTML template renderer and sends a text/html response with status code.

func (*Context) Set

func (c *Context) Set(key string, val interface{})

Set saves data in the context.

func (*Context) String

func (c *Context) String(code int, s string) *HTTPError

String sends a text/plain response with status code.

type Echo

type Echo struct {
	Router *router
	// contains filtered or unexported fields
}

func New

func New() (e *Echo)

New creates an Echo instance.

func (*Echo) Binder

func (e *Echo) Binder(b BindFunc)

Binder registers a custom binder. It's invoked by Context.Bind API.

func (*Echo) Connect

func (e *Echo) Connect(path string, h Handler)

Connect adds a CONNECT route > handler to the router.

func (*Echo) Delete

func (e *Echo) Delete(path string, h Handler)

Delete adds a DELETE route > handler to the router.

func (*Echo) Get

func (e *Echo) Get(path string, h Handler)

Get adds a GET route > handler to the router.

func (*Echo) Group

func (e *Echo) Group(pfx string, m ...Middleware) *Echo

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

func (*Echo) HTTPErrorHandler

func (e *Echo) HTTPErrorHandler(h HTTPErrorHandler)

HTTPErrorHandler registers an HTTP error handler.

func (*Echo) Head

func (e *Echo) Head(path string, h Handler)

Head adds a HEAD route > handler to the router.

func (*Echo) Index

func (e *Echo) Index(file string)

Index serves index file.

func (*Echo) MaxParam

func (e *Echo) MaxParam(n uint8)

MaxParam sets the maximum number of path parameters allowed for the application. Default value is 5, good enough for many use cases.

func (*Echo) NotFoundHandler

func (e *Echo) NotFoundHandler(h Handler)

NotFoundHandler registers a custom NotFound handler used by router in case it doesn't find any registered handler for HTTP method and path.

func (*Echo) Options

func (e *Echo) Options(path string, h Handler)

Options adds an OPTIONS route > handler to the router.

func (*Echo) Patch

func (e *Echo) Patch(path string, h Handler)

Patch adds a PATCH route > handler to the router.

func (*Echo) Post

func (e *Echo) Post(path string, h Handler)

Post adds a POST route > handler to the router.

func (*Echo) Put

func (e *Echo) Put(path string, h Handler)

Put adds a PUT route > handler to the router.

func (*Echo) Renderer

func (e *Echo) Renderer(r Renderer)

Renderer registers an HTML template renderer. It's invoked by Context.Render API.

func (*Echo) Run

func (e *Echo) Run(addr string)

Run runs a server.

func (*Echo) RunServer

func (e *Echo) RunServer(server *http.Server)

RunServer runs a custom server.

func (*Echo) RunTLS

func (e *Echo) RunTLS(addr, certFile, keyFile string)

RunTLS runs a server with TLS configuration.

func (*Echo) RunTLSServer

func (e *Echo) RunTLSServer(server *http.Server, certFile, keyFile string)

RunTLSServer runs a custom server with TLS configuration.

func (*Echo) ServeFile

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

ServeFile serves a file.

func (*Echo) ServeHTTP

func (e *Echo) ServeHTTP(w http.ResponseWriter, r *http.Request)

func (*Echo) Static

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

Static serves static files.

func (*Echo) Trace

func (e *Echo) Trace(path string, h Handler)

Trace adds a TRACE route > handler to the router.

func (*Echo) URI

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

URI generates a URI from handler.

func (*Echo) URL

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

URL is an alias for URI

func (*Echo) Use

func (e *Echo) Use(m ...Middleware)

Use adds handler to the middleware chain.

type HTTPError

type HTTPError struct {
	Code    int
	Message string
	Error   error
}

type HTTPErrorHandler

type HTTPErrorHandler func(*HTTPError, *Context)

HTTPErrorHandler is a centralized HTTP error handler.

type Handler

type Handler interface{}

type HandlerFunc

type HandlerFunc func(*Context) *HTTPError

type Middleware

type Middleware interface{}

type MiddlewareFunc

type MiddlewareFunc func(HandlerFunc) HandlerFunc

type Renderer

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

Renderer is the interface that wraps the Render method.

Render renders the HTML template with given name and specified data. It writes the output to w.

Source Files

context.go echo.go response.go router.go

Directories

PathSynopsis
examples
examples/crud
examples/hello
examples/web
middleware
Version
v0.0.12
Published
May 6, 2015
Platform
windows/amd64
Imports
13 packages
Last checked
1 week ago

Tools for package owners.