Supported Go versions
Latest version of Echo supports last four Go major releases and might work with
older versions.
As of version 4.0.0, Echo is available as a Go module.
Therefore a Go version capable of understanding /vN suffixed imports is required:
Any of these versions will allow you to import Echo as github.com/labstack/echo/v4
which is the recommended
way of using Echo going forward.
For older versions, please use the latest v3 tag.
Feature Overview
- Optimized HTTP router which smartly prioritize routes
- Build robust and scalable RESTful APIs
- Group APIs
- Extensible middleware framework
- Define middleware at root, group or route level
- Data binding for JSON, XML and form payload
- Handy functions to send variety of HTTP responses
- Centralized HTTP error handling
- Template rendering with any template engine
- Define your format for the logger
- Highly customizable
- Automatic TLS via Let’s Encrypt
- HTTP/2 support
Installation
// go get github.com/labstack/echo/{version}
go get github.com/labstack/echo/v5
Example
package main
import (
"github.com/labstack/echo/v5"
"github.com/labstack/echo/v5/middleware"
"net/http"
)
func main() {
e := echo.New()
e.Use(middleware.Logger())
e.Use(middleware.Recover())
e.GET("/", hello)
if err := e.Start(":1323"); err != http.ErrServerClosed {
log.Fatal(err)
}
}
func hello(c echo.Context) error {
return c.String(http.StatusOK, "Hello, World!")
}
Official middleware repositories
Following list of middleware is maintained by Echo team.
Third-party middleware repositories
Be careful when adding 3rd party middleware. Echo teams does not have time or manpower to guarantee safety and quality
of middlewares in this list.
Please send a PR to add your own library here.
Help
Contribute
Use issues for everything
- For a small change, just send a PR.
- For bigger changes open an issue for discussion before sending a PR.
- PR should have:
- Test case
- Documentation
- Example (If it makes sense)
- You can also contribute by:
- Reporting issues
- Suggesting new features or enhancements
- Improve/fix documentation
Credits
License
MIT