2
0
mirror of https://github.com/42wim/matterbridge synced 2024-11-19 03:25:33 +00:00
matterbridge/vendor/github.com/labstack/echo/v4
Wim 6a3fc71397
Update dependencies and go1.18 (#1873)
* Update dependencies and go1.18

* Exclude unnecessary linters and update build to go1.18
2022-08-13 16:14:26 +02:00
..
middleware Update dependencies and go1.18 (#1873) 2022-08-13 16:14:26 +02:00
.editorconfig Update vendor, move to labstack/echo/v4 Fixes #698 2019-01-31 17:06:36 +01:00
.gitattributes Update vendor, move to labstack/echo/v4 Fixes #698 2019-01-31 17:06:36 +01:00
.gitignore Update vendor (#1414) 2021-03-20 22:40:23 +01:00
.travis.yml Update vendor (#1414) 2021-03-20 22:40:23 +01:00
bind.go Update dependencies and vendor (#1761) 2022-03-12 19:41:07 +01:00
binder.go Update dependencies and go1.18 (#1873) 2022-08-13 16:14:26 +02:00
CHANGELOG.md Update dependencies and go1.18 (#1873) 2022-08-13 16:14:26 +02:00
codecov.yml Update vendor (#1414) 2021-03-20 22:40:23 +01:00
context_fs_go1.16.go Update dependencies and vendor (#1761) 2022-03-12 19:41:07 +01:00
context_fs.go Update dependencies and vendor (#1761) 2022-03-12 19:41:07 +01:00
context.go Update dependencies and vendor (#1761) 2022-03-12 19:41:07 +01:00
echo_fs_go1.16.go Update dependencies (#1784) 2022-04-01 00:23:19 +02:00
echo_fs.go Update dependencies and vendor (#1761) 2022-03-12 19:41:07 +01:00
echo.go Update dependencies and go1.18 (#1873) 2022-08-13 16:14:26 +02:00
group_fs_go1.16.go Update dependencies and vendor (#1761) 2022-03-12 19:41:07 +01:00
group_fs.go Update dependencies and vendor (#1761) 2022-03-12 19:41:07 +01:00
group.go Update dependencies and go1.18 (#1873) 2022-08-13 16:14:26 +02:00
ip.go Update dependencies and vendor (#1761) 2022-03-12 19:41:07 +01:00
json.go Update vendor (#1560) 2021-07-31 18:27:55 +02:00
LICENSE Update vendor (#1498) 2021-05-30 00:25:30 +02:00
log.go Update vendor, move to labstack/echo/v4 Fixes #698 2019-01-31 17:06:36 +01:00
Makefile Update dependencies and go1.18 (#1873) 2022-08-13 16:14:26 +02:00
README.md Update dependencies and go1.18 (#1873) 2022-08-13 16:14:26 +02:00
response.go Update vendor (#1414) 2021-03-20 22:40:23 +01:00
router.go Update dependencies and go1.18 (#1873) 2022-08-13 16:14:26 +02:00

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

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 Lets Encrypt
  • HTTP/2 support

Benchmarks

Date: 2020/11/11
Source: https://github.com/vishr/web-framework-benchmark
Lower is better!

The benchmarks above were run on an Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz

Guide

Installation

// go get github.com/labstack/echo/{version}
go get github.com/labstack/echo/v4

Example

package main

import (
  "github.com/labstack/echo/v4"
  "github.com/labstack/echo/v4/middleware"
  "net/http"
)

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

Third-party middlewares

Repository Description
github.com/labstack/echo-contrib (by Echo team) casbin, gorilla/sessions, jaegertracing, prometheus, pprof, zipkin middlewares
deepmap/oapi-codegen Automatically generate RESTful API documentation with OpenAPI Client and Server Code Generator
github.com/swaggo/echo-swagger Automatically generate RESTful API documentation with Swagger 2.0.
github.com/ziflex/lecho Zerolog logging library wrapper for Echo logger interface.
github.com/brpaz/echozap Uber´s Zap logging library wrapper for Echo logger interface.
github.com/darkweak/souin/plugins/echo HTTP cache system based on Souin to automatically get your endpoints cached. It supports some distributed and non-distributed storage systems depending your needs.
github.com/mikestefanello/pagoda Rapid, easy full-stack web development starter kit built with Echo.
github.com/go-woo/protoc-gen-echo ProtoBuf generate Echo server side code

Please send a PR to add your own library here.

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