1
0
mirror of https://github.com/labstack/echo.git synced 2025-02-13 13:48:25 +02:00
echo/README.md

100 lines
3.1 KiB
Markdown
Raw Normal View History

<a href="https://echo.labstack.com"><img height="80" src="https://cdn.labstack.com/images/echo-logo.svg"></a>
2017-06-18 22:35:02 -07:00
[![Sourcegraph](https://sourcegraph.com/github.com/labstack/echo/-/badge.svg?style=flat-square)](https://sourcegraph.com/github.com/labstack/echo?badge)
[![GoDoc](http://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)](http://godoc.org/github.com/labstack/echo)
[![Go Report Card](https://goreportcard.com/badge/github.com/labstack/echo?style=flat-square)](https://goreportcard.com/report/github.com/labstack/echo)
[![Build Status](http://img.shields.io/travis/labstack/echo.svg?style=flat-square)](https://travis-ci.org/labstack/echo)
2018-02-05 22:41:57 -08:00
[![Codecov](https://img.shields.io/codecov/c/github/labstack/echo.svg?style=flat-square)](https://codecov.io/gh/labstack/echo)
[![Join the chat at https://gitter.im/labstack/echo](https://img.shields.io/badge/gitter-join%20chat-brightgreen.svg?style=flat-square)](https://gitter.im/labstack/echo)
[![Forum](https://img.shields.io/badge/community-forum-00afd1.svg?style=flat-square)](https://forum.labstack.com)
2017-06-18 22:35:02 -07:00
[![Twitter](https://img.shields.io/badge/twitter-@labstack-55acee.svg?style=flat-square)](https://twitter.com/labstack)
[![License](http://img.shields.io/badge/license-mit-blue.svg?style=flat-square)](https://raw.githubusercontent.com/labstack/echo/master/LICENSE)
## Feature Overview
2016-09-06 19:41:05 -07:00
- 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-03-15 00:54:56 -07:00
## Benchmarks
2018-03-15 00:59:32 -07:00
Date: 2018/03/15<br>
Source: https://github.com/vishr/web-framework-benchmark<br>
2018-03-15 07:01:18 -07:00
Lower is better!
2018-03-15 00:56:47 -07:00
2018-04-14 16:52:41 -07:00
<img src="https://i.imgur.com/I32VdMJ.png">
2018-03-15 00:54:56 -07:00
## [Guide](https://echo.labstack.com/guide)
2016-03-29 13:53:40 -07:00
2018-01-29 20:38:18 -08:00
### Example
2018-01-29 23:00:48 -05:00
```go
2018-01-29 23:00:48 -05:00
package main
import (
"net/http"
"github.com/labstack/echo"
"github.com/labstack/echo/middleware"
)
func main() {
// Echo instance
e := echo.New()
2018-01-29 23:00:48 -05:00
// Middleware
e.Use(middleware.Logger())
e.Use(middleware.Recover())
2018-01-29 23:00:48 -05:00
// Routes
e.GET("/", hello)
2018-01-29 23:00:48 -05:00
// Start server
e.Logger.Fatal(e.Start(":1323"))
}
// Handler
func hello(c echo.Context) error {
return c.String(http.StatusOK, "Hello, World!")
}
```
2018-02-10 13:37:12 -08:00
## Help
2016-03-29 13:53:40 -07:00
2018-02-10 13:37:12 -08:00
- [Forum](https://forum.labstack.com)
- [Chat](https://gitter.im/labstack/echo)
2016-03-29 13:53:40 -07:00
## 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
- [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)