Gearbox est un cadre Web pour la création de micro-services écrits dans Go avec un accent sur les performances élevées. Il est construit sur Fasthttp qui est jusqu'à 10x plus rapide que le net / http
Gearbox nécessite la version 1.14 ou plus de Go (télécharger go)
Utilisez simplement Go Get To Téléchargez et installez la boîte de vitesses
go get -u github.com/gogearbox/gearbox package main
import (
"github.com/gogearbox/gearbox"
)
func main () {
// Setup gearbox
gb := gearbox . New ()
// Define your handlers
gb . Get ( "/hello" , func ( ctx gearbox. Context ) {
ctx . SendString ( "Hello World!" )
})
// Start service
gb . Start ( ":3000" )
} package main
import (
"github.com/gogearbox/gearbox"
)
func main () {
// Setup gearbox
gb := gearbox . New ()
// Handler with parameter
gb . Get ( "/users/:user" , func ( ctx gearbox. Context ) {
ctx . SendString ( ctx . Param ( "user" ))
})
// Start service
gb . Start ( ":3000" )
} package main
import (
"log"
"github.com/gogearbox/gearbox"
)
func main () {
// Setup gearbox
gb := gearbox . New ()
// create a logger middleware
logMiddleware := func ( ctx gearbox. Context ) {
log . Printf ( "log message!" )
// Next is what allows the request to continue to the next
// middleware/handler
ctx . Next ()
}
// create an unauthorized middleware
unAuthorizedMiddleware := func ( ctx gearbox. Context ) {
ctx . Status ( gearbox . StatusUnauthorized )
. SendString ( "You are unauthorized to access this page!" )
}
// Register the log middleware for all requests
gb . Use ( logMiddleware )
// Define your handlers
gb . Get ( "/hello" , func ( ctx gearbox. Context ) {
ctx . SendString ( "Hello World!" )
})
// Register the routes to be used when grouping routes
routes := [] * gearbox. Route {
gb . Get ( "/id" , func ( ctx gearbox. Context ) {
ctx . SendString ( "User X" )
}),
gb . Delete ( "/id" , func ( ctx gearbox. Context ) {
ctx . SendString ( "Deleted" )
}),
}
// Group account routes
accountRoutes := gb . Group ( "/account" , routes )
// Group account routes to be under api
gb . Group ( "/api" , accountRoutes )
// Define a route with unAuthorizedMiddleware as the middleware
// you can define as many middlewares as you want and have
// the handler as the last argument
gb . Get ( "/protected" , unAuthorizedMiddleware , func ( ctx gearbox. Context ) {
ctx . SendString ( "You accessed a protected page" )
})
// Start service
gb . Start ( ":3000" )
} package main
import (
"github.com/gogearbox/gearbox"
)
func main () {
// Setup gearbox
gb := gearbox . New ()
// Serve files in assets directory for prefix static
// for example /static/gearbox.png, etc.
gb . Static ( "/static" , "./assets" )
// Start service
gb . Start ( ":3000" )
}Pour plus de résultats, vérifiez nos documents
Consultez nos documents pour plus d'informations sur Gearbox et comment contribuer
Organisations qui aident à gérer, promouvoir et soutenir la boîte de vitesses
| Trella: une plate-forme technologique B2B et un camionnage Marketplace qui relie les expéditeurs aux transporteurs |
Gearbox est utilisé par plusieurs organisations, y compris, mais sans s'y limiter
N'hésitez pas à discuter avec nous sur Discord ou à nous envoyer un courriel à [email protected] si vous avez des questions ou des suggestions
Gearbox est concédé sous licence MIT
Le logo est créé par Mahmoud Sayed et distribué sous licence Creative Commons