1
0
mirror of https://github.com/labstack/echo.git synced 2024-11-24 08:22:21 +02:00
High performance, minimalist Go web framework https://echo.labstack.com/
Go to file
Vishal Rana a8de73efbe Added probot-stale
Signed-off-by: Vishal Rana <vr@labstack.com>
2018-11-29 16:28:21 -08:00
_fixture Test cased for Echo#Start/Shutdown 2016-09-24 17:50:38 -07:00
.github Added probot-stale 2018-11-29 16:28:21 -08:00
middleware Added user-agent to logger middleware 2018-11-22 22:34:14 -08:00
.editorconfig updated docs 2016-11-16 21:26:56 -08:00
.gitattributes Updated website and examples 2017-01-17 10:47:16 -08:00
.gitignore Fixed build 2017-06-28 19:08:45 -07:00
.travis.yml Updated ci 2018-11-10 11:01:00 -08:00
bind_test.go Replace http constants with stdlib ones, i.e.: http.MethodGet instead of echo.GET (#1205) 2018-10-14 20:46:58 +05:30
bind.go Replace http constants with stdlib ones, i.e.: http.MethodGet instead of echo.GET (#1205) 2018-10-14 20:46:58 +05:30
context_test.go Replace http constants with stdlib ones, i.e.: http.MethodGet instead of echo.GET (#1205) 2018-10-14 20:46:58 +05:30
context.go Simplify REALIP method (#1193) 2018-09-19 10:18:50 -07:00
echo_test.go Replace http constants with stdlib ones, i.e.: http.MethodGet instead of echo.GET (#1205) 2018-10-14 20:46:58 +05:30
echo.go Using tls-alpn for auto tls 2018-11-08 19:17:59 -08:00
go.mod Updated ci 2018-11-10 11:01:00 -08:00
go.sum Updated ci 2018-11-10 11:01:00 -08:00
group_test.go Replace http constants with stdlib ones, i.e.: http.MethodGet instead of echo.GET (#1205) 2018-10-14 20:46:58 +05:30
group.go Replace http constants with stdlib ones, i.e.: http.MethodGet instead of echo.GET (#1205) 2018-10-14 20:46:58 +05:30
LICENSE Update website 2017-01-09 20:20:51 -08:00
log.go the logging interface add SetHeader method (#1092) 2018-09-28 10:47:23 -07:00
Makefile Updated ci 2018-11-10 11:01:00 -08:00
README.md Update README.md 2018-04-14 17:14:43 -07:00
response_test.go Replace http constants with stdlib ones, i.e.: http.MethodGet instead of echo.GET (#1205) 2018-10-14 20:46:58 +05:30
response.go Minor performance fixes 2018-03-14 14:03:59 -07:00
router_test.go Replace http constants with stdlib ones, i.e.: http.MethodGet instead of echo.GET (#1205) 2018-10-14 20:46:58 +05:30
router.go Delete useless goto statements (#1208) 2018-10-15 09:12:43 +05:30

Sourcegraph GoDoc Go Report Card Build Status Codecov Join the chat at https://gitter.im/labstack/echo Forum Twitter License

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

Benchmarks

Date: 2018/03/15
Source: https://github.com/vishr/web-framework-benchmark
Lower is better!

Guide

Example

package main

import (
	"net/http"

	"github.com/labstack/echo"
	"github.com/labstack/echo/middleware"
)

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

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