2018-08-06 12:47:05 -07:00
< a href = "https://echo.labstack.com" > < img height = "80" src = "https://cdn.labstack.com/images/echo-logo.svg" > < / a >
[](https://sourcegraph.com/github.com/labstack/echo?badge)
[](http://godoc.org/github.com/labstack/echo)
[](https://goreportcard.com/report/github.com/labstack/echo)
[](https://travis-ci.org/labstack/echo)
2019-01-31 08:06:36 -08:00
[](https://codecov.io/gh/labstack/echo)
2018-08-06 12:47:05 -07:00
[](https://gitter.im/labstack/echo)
[](https://forum.labstack.com)
[](https://twitter.com/labstack)
[](https://raw.githubusercontent.com/labstack/echo/master/LICENSE)
2019-01-31 08:06:36 -08:00
## Supported Go versions
As of version 4.0.0, Echo is available as a [Go module ](https://github.com/golang/go/wiki/Modules ).
Therefore a Go version capable of understanding /vN suffixed imports is required:
- 1.9.7+
- 1.10.3+
- 1.11+
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.
2018-08-06 12:47:05 -07:00
## 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
2018-11-18 09:55:05 -08:00
## Benchmarks
2018-08-06 12:47:05 -07:00
2018-11-18 09:55:05 -08:00
Date: 2018/03/15< br >
Source: https://github.com/vishr/web-framework-benchmark< br >
Lower is better!
2019-01-31 08:06:36 -08:00
< img src = "https://i.imgur.com/I32VdMJ.png" >
2018-08-06 12:47:05 -07:00
## [Guide](https://echo.labstack.com/guide)
### Example
```go
package main
import (
"net/http"
2019-01-31 08:06:36 -08:00
"github.com/labstack/echo/v4"
"github.com/labstack/echo/v4/middleware"
2018-08-06 12:47:05 -07:00
)
func main() {
// Echo instance
e := echo.New()
// Middleware
e.Use(middleware.Logger())
e.Use(middleware.Recover())
// Routes
e.GET("/", hello)
// Start server
e.Logger.Fatal(e.Start(":1323"))
}
// Handler
func hello(c echo.Context) error {
return c.String(http.StatusOK, "Hello, World!")
}
```
## Help
- [Forum ](https://forum.labstack.com )
- [Chat ](https://gitter.im/labstack/echo )
## 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
2019-01-31 08:06:36 -08:00
2018-08-06 12:47:05 -07:00
- [Vishal Rana ](https://github.com/vishr ) - Author
- [Nitin Rana ](https://github.com/nr17 ) - Consultant
- [Contributors ](https://github.com/labstack/echo/graphs/contributors )
## License
[MIT ](https://github.com/labstack/echo/blob/master/LICENSE )