1
0
mirror of https://github.com/labstack/echo.git synced 2024-12-24 20:14:31 +02:00
High performance, minimalist Go web framework https://echo.labstack.com/
Go to file
Alex Ungur 27b5253bfd Release 3.3.0:
Enhancements:
    Implemented Response#After()
    Dynamically add/remove proxy targets
    Rewrite rules for proxy middleware
    Add ability to extract key from a form field
    Implemented rewrite middleware
    Adds a separate flag for the 'http/https server started on' message (#1043)
    Applied a little DRY to the redirect middleware (#1053) and tests (#1055)
    Simplify dep fetching (#1062)
    Add custom time stamp format #1046 (#1066)
    Update property name & default value & comment about custom logger
    Add X-Requested-With header constant
    Return error of context.File in c.contentDisposition
    Updated deps
    Updated README.md

Fixes:

    Fixed Response#Before()
    Fixed #990
    Fix href url from armor to echo (#1051)
    Fixed #1054
    Fixed #1052, dropped param alias feature
    Avoid redirect loop in HTTPSRedirect middleware (#1058)
    Fix deferring body close in middleware/compress test (#1063)
    Cleanup code (#1061)
    FIX - We must close gzip.Reader, only if no error (#1069)
    Fix formatting (#1071)
    Can be a fix for auto TLS
2018-03-12 13:58:01 -07: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 Fix formatting (#1071) 2018-02-25 13:42:58 -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 [TravisCI] Add 1.10 release (#1068) 2018-02-21 09:55:08 -08:00
bind_test.go [FIX] Cleanup code (#1061) 2018-02-21 10:44:17 -08:00
bind.go [FIX] Cleanup code (#1061) 2018-02-21 10:44:17 -08:00
context_test.go [FIX] Cleanup code (#1061) 2018-02-21 10:44:17 -08:00
context.go Return error of context.File in c.contentDisposition 2018-03-06 10:50:53 -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 Add some tests 2018-03-01 12:08:34 -08:00
echo.go Release 3.3.0: 2018-03-12 13:58:01 -07:00
Gopkg.lock Updated deps 2018-03-12 13:03:49 -07:00
Gopkg.toml Updated deps 2018-03-12 13:03:49 -07:00
group_test.go removed deprecated functions group.go 2016-10-13 14:04:08 -07:00
group.go [FIX] Cleanup code (#1061) 2018-02-21 10:44:17 -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 Release 3.3.0: 2018-03-12 13:58:01 -07:00
README.md Update README.md 2018-02-10 13:37:12 -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 Bit of more cleanup 2018-02-21 11:38:22 -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 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

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

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