labstack/echo: High performance, minimalist Go web framework
2019-10-31 11:30:00 Author: github.com(查看原文) 阅读量:324 收藏

Join GitHub today

GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.

Sign up

Go Other

  1. Go 99.9%
  2. Other 0.1%

Fixed #1426

Signed-off-by: Vishal Rana <[email protected]>

Latest commit c50c677 Oct 31, 2019

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Update ISSUE_TEMPLATE.md Aug 24, 2019
_fixture Test cased for Echo#Start/Shutdown Sep 25, 2016
middleware Fixed comment typo in BodyDump (#1431) Oct 31, 2019
.editorconfig updated docs Nov 17, 2016
.gitattributes Updated website and examples Jan 18, 2017
.gitignore Fixed build Jun 29, 2017
.travis.yml Fixed #1426 Oct 31, 2019
LICENSE Update website Jan 10, 2017
Makefile Updated ci Nov 11, 2018
README.md Fixed indentation in code example. (#1338) May 15, 2019
bind.go Fixed #988 Oct 25, 2019
bind_test.go dont return 400 for empty bodies (#1410) Oct 1, 2019
context.go Close file descriptor returned by request.FormFile (#1411) Oct 25, 2019
context_test.go Closes #1353 Jun 28, 2019
echo.go Fixed #1426 Oct 31, 2019
echo_test.go Enhanced default http error handler Aug 2, 2019
go.mod
go.sum Fixed #988 Oct 25, 2019
group.go Bumped v4.1.5 Apr 30, 2019
group_test.go Replace http constants with stdlib ones, i.e.: http.MethodGet instead… Oct 14, 2018
log.go the logging interface add SetHeader method (#1092) Sep 29, 2018
response.go Fix for #1334 (#1335) May 24, 2019
response_test.go Fix for #1334 (#1335) May 24, 2019
router.go don't make router parse duplicated param when backtracing happens #1368 Jul 26, 2019
router_test.go don't make router parse duplicated param when backtracing happens #1368 Jul 26, 2019

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

Supported Go versions

As of version 4.0.0, Echo is available as a Go module. 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.

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/v4"
  "github.com/labstack/echo/v4/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


文章来源: https://github.com/labstack/echo
如有侵权请联系:admin#unsafe.sh