lunny / Tango
Licence: mit
This is only a mirror and Moved to https://gitea.com/lunny/tango
Stars: ✭ 837
Labels
Projects that are alternatives of or similar to Tango
Silicon
A high performance, middleware oriented C++14 http web framework please use matt-42/lithium instead
Stars: ✭ 1,721 (+105.62%)
Mutual labels: middleware, webframework
Twig
Twig - less is more's web server for golang
Stars: ✭ 98 (-88.29%)
Mutual labels: middleware, webframework
Dotweb
Simple and easy go web micro framework
Stars: ✭ 1,354 (+61.77%)
Mutual labels: middleware, webframework
Webgo
A minimal framework to build web apps; with handler chaining, middleware support; and most of all standard library compliant HTTP handlers(i.e. http.HandlerFunc).
Stars: ✭ 165 (-80.29%)
Mutual labels: middleware, webframework
Xweb
High performance async web framework.
Stars: ✭ 314 (-62.49%)
Mutual labels: middleware, webframework
Psr7 Middlewares
[DEPRECATED] Collection of PSR-7 middlewares
Stars: ✭ 666 (-20.43%)
Mutual labels: middleware
Csrf
gorilla/csrf provides Cross Site Request Forgery (CSRF) prevention middleware for Go web applications & services 🔒
Stars: ✭ 631 (-24.61%)
Mutual labels: middleware
Cutelyst
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
Stars: ✭ 671 (-19.83%)
Mutual labels: webframework
Fast Dds
The most complete DDS - Proven: Plenty of success cases.
Stars: ✭ 732 (-12.54%)
Mutual labels: middleware
Jackett
API Support for your favorite torrent trackers
Stars: ✭ 6,690 (+699.28%)
Mutual labels: middleware
Tg2
Python web framework with full-stack layer implemented on top of a microframework core with support for MongoDB, Pluggable Applications and autogenerated Admin
Stars: ✭ 756 (-9.68%)
Mutual labels: webframework
Amethyst
Amethyst is a Rails inspired web-framework for Crystal language
Stars: ✭ 643 (-23.18%)
Mutual labels: middleware
Slim Jwt Auth
PSR-7 and PSR-15 JWT Authentication Middleware
Stars: ✭ 713 (-14.81%)
Mutual labels: middleware
Prologue
Prologue is an elegant web framework written in Nim.
Stars: ✭ 700 (-16.37%)
Mutual labels: webframework
简体中文
TangoPackage tango is a micro & pluggable web framework for Go.
Version History
Current version: v0.5.0Getting Started
To install Tango:
go get github.com/lunny/tango
A classic usage of Tango below:
package main
import (
"errors"
"github.com/lunny/tango"
)
type Action struct {
tango.JSON
}
func (Action) Get() interface{} {
if true {
return map[string]string{
"say": "Hello tango!",
}
}
return errors.New("something error")
}
func main() {
t := tango.Classic()
t.Get("/", new(Action))
t.Run()
}
Then visit http://localhost:8000
on your browser. You will get
{"say":"Hello tango!"}
If you change true
after if
to false
, then you will get
{"err":"something error"}
This code will automatically convert returned map or error to a json because we has an embedded struct tango.JSON
.
Features
- Powerful routing & Flexible routes combinations.
- Directly integrate with existing services.
- Easy to plugin features with modular design.
- High performance dependency injection embedded.
Middlewares
Middlewares allow you easily plugin features for your Tango applications.
There are already many middlewares to simplify your work:
- recovery - recover after panic
- compress - Gzip & Deflate compression
- static - Serves static files
- logger - Log the request & inject Logger to action struct
- param - get the router parameters
- return - Handle the returned value smartlly
- context - Inject context to action struct
- session - Session manager, session-redis, session-nodb, session-ledis, session-ssdb
- xsrf - Generates and validates csrf tokens
- binding - Bind and validates forms
- renders - Go template engine
- dispatch - Multiple Application support on one server
- tpongo2 - Pongo2 teamplte engine support
- captcha - Captcha
- events - Before and After
- flash - Share data between requests
- debug - show detail debug infomaton on log
- basicauth - basicauth middleware
- authz - manage permissions via ACL, RBAC, ABAC
- cache - cache middleware - cache-memory, cache-file, cache-ledis, cache-nodb, cache-mysql, cache-postgres, cache-memcache, cache-redis
- rbac - rbac control
Documentation
- Manual, And you are welcome to contribue for the book by git PR to github.com/go-tango/manual-en-US
- 操作手册,您也可以访问 github.com/go-tango/manual-zh-CN为本手册进行贡献
- API Reference
Discuss
- Google Group - English
- QQ Group - 简体中文 #369240307
Cases
- GopherTC - China Discuss Forum
- Wego - Discuss Forum
- dbweb - DB management web UI
- Godaily - github
- Pugo - A pugo blog
- Gos - Static web server
- GoFtpd - Pure Go cross-platform ftp server
License
This project is under BSD License. See the LICENSE file for the full license text.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].