mirror of
				https://github.com/42wim/matterbridge.git
				synced 2025-11-03 23:37:24 +01:00 
			
		
		
		
	* Update dependencies and go1.18 * Exclude unnecessary linters and update build to go1.18
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 Let’s 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/v4Example
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
- Vishal Rana (Author)
 - Nitin Rana (Consultant)
 - Roland Lammel (Maintainer)
 - Martti T. (Maintainer)
 - Pablo Andres Fuente (Maintainer)
 - Contributors