1
0
mirror of https://github.com/labstack/echo.git synced 2024-11-30 08:46:41 +02:00
High performance, minimalist Go web framework https://echo.labstack.com/
Go to file
orangain ef82f3e034 Avoid redirect loop in HTTPSRedirect middleware (#1058)
In HTTPSRedirect and similar middlewares, determining if redirection is
needed using `c.IsTLS()` causes redirect loop when an application is running
behind a TLS termination proxy, e.g. AWS ELB.

Instead, I believe, redirection should be determined by
`c.Scheme() != "https"`. This works well even behind a TLS termination proxy.
2018-02-02 07:31:07 -08:00
_fixture Test cased for Echo#Start/Shutdown 2016-09-24 17:50:38 -07:00
.github Updated github issue template 2017-06-22 11:27:49 -07:00
middleware Avoid redirect loop in HTTPSRedirect middleware (#1058) 2018-02-02 07:31:07 -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 Custom jwt errors (#999) 2017-08-31 09:18:42 -07:00
bind_test.go Fixed #988, Closed #989 2017-08-14 21:48:19 -07:00
bind.go Fixed #988, Closed #989 2017-08-14 21:48:19 -07:00
context_test.go Fixed #1052, dropped param alias feature 2018-01-30 19:02:29 -08:00
context.go Fixed #1052, dropped param alias feature 2018-01-30 19:02:29 -08:00
echo_go1.8_test.go Updated graceful shutdown recipe with go1.8 2017-02-19 19:14:19 -08:00
echo_go1.8.go Updated graceful shutdown recipe with go1.8 2017-02-19 19:14:19 -08:00
echo_test.go Fixed #988, Closed #989 2017-08-14 21:48:19 -07:00
echo.go Adds a separate flag for the 'http/https server started on' message (#1043) 2017-12-29 10:57:59 -08:00
Gopkg.lock Updated godco for middleware/proxy 2017-06-03 21:23:15 -07:00
Gopkg.toml Moved casbin middlware to echo-contrib 2017-06-02 10:19:56 -07:00
group_test.go removed deprecated functions group.go 2016-10-13 14:04:08 -07:00
group.go Update dummy group path to include exact prefix 2017-12-23 09:11:03 -08:00
LICENSE Update website 2017-01-09 20:20:51 -08:00
log.go fixed #763 2016-12-15 11:08:56 -08:00
Makefile Updated make 2017-09-21 12:45:27 -07:00
README.md Update README.md 2018-01-29 23:15:41 -08:00
response_test.go Changed signature for response before func 2017-06-29 10:59:21 -07:00
response.go Fixed Response#Before() 2017-12-24 11:01:53 -08:00
router_test.go Zhaojkun httperror message (#959) 2017-06-20 08:58:53 -07:00
router.go Fixed #1052, dropped param alias feature 2018-01-30 19:02:29 -08:00
util_go17.go fix build constraint go1.8 (#993) 2017-08-22 08:26:26 -07:00
util_go18.go Fixed url.PathUnescape for go1.7 2017-06-07 08:57:31 -07:00

Sourcegraph GoDoc Go Report Card Build Status Codecov 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

Performance

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!")
}

Support Us

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