mirror of
https://github.com/labstack/echo.git
synced 2024-11-28 08:38:39 +02:00
High performance, minimalist Go web framework
https://echo.labstack.com/
echogohttp2httpslabstack-echoletsencryptmicro-frameworkmicroservicemiddlewaresslwebweb-frameworkwebsocket
8872f132b2
Improved error handling of multipart requests |
||
---|---|---|
_fixture | ||
engine | ||
middleware | ||
test | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.travis.yml | ||
context_test.go | ||
context.go | ||
echo_test.go | ||
echo.go | ||
glide.lock | ||
glide.yaml | ||
group_test.go | ||
group.go | ||
LICENSE | ||
README.md | ||
router_test.go | ||
router.go |
NOTICE
- Master branch, website and godoc now points to Echo v2.
- It is advisable to migrate to v2. (https://labstack.com/echo/guide/migrating)
- Looking for v1?
- Installation: Use a package manager (https://github.com/Masterminds/glide, it's nice!) to get stable v1 release/commit or use
go get gopkg.in/labstack/echo.v1
. - Godoc: https://godoc.org/gopkg.in/labstack/echo.v1
- Docs: https://github.com/labstack/echo/tree/v1.3/website/content
- Installation: Use a package manager (https://github.com/Masterminds/glide, it's nice!) to get stable v1 release/commit or use
Echo
A fast and unfancy micro web framework for Go.
Features
- Fast HTTP router which smartly prioritize routes.
- Run with standard HTTP server or FastHTTP server.
- Extensible middleware framework.
- Router groups with nesting.
- Handy functions to send variety of HTTP responses.
- Centralized HTTP error handling.
- Template rendering with any template engine.
Performance
Based on [vishr/go-http-routing-benchmark] (https://github.com/vishr/go-http-routing-benchmark), June 5, 2015.
Getting Started
Installation
$ go get github.com/labstack/echo
Hello, World!
Create main.go
package main
import (
"net/http"
"github.com/labstack/echo"
"github.com/labstack/echo/engine/standard"
"github.com/labstack/echo/middleware"
)
// Handler
func hello() echo.HandlerFunc {
return func(c echo.Context) error {
return c.String(http.StatusOK, "Hello, World!\n")
}
}
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"))
}
Start server
$ go run main.go
Browse to http://localhost:1323 and you should see Hello, World! on the page.
Next?
Contribute
Use issues for everything
- Report issues
- Discuss before sending pull request
- Suggest new features
- Improve/fix documentation
Credits
- Vishal Rana - Author
- Nitin Rana - Consultant
- Contributors