diff --git a/.github/README.md b/.github/README.md index ceb4c6aa81..fb82e22c7c 100644 --- a/.github/README.md +++ b/.github/README.md @@ -52,6 +52,9 @@ + + +
diff --git a/.github/README_de.md b/.github/README_de.md index c2a9f1212b..dec2fb971b 100644 --- a/.github/README_de.md +++ b/.github/README_de.md @@ -52,6 +52,9 @@ + + +
diff --git a/.github/README_es.md b/.github/README_es.md index 90ad9ac825..6277ed4f26 100644 --- a/.github/README_es.md +++ b/.github/README_es.md @@ -52,6 +52,9 @@ + + +
diff --git a/.github/README_fa.md b/.github/README_fa.md index 35fe455980..03fe467692 100644 --- a/.github/README_fa.md +++ b/.github/README_fa.md @@ -52,6 +52,9 @@ + + +
diff --git a/.github/README_fr.md b/.github/README_fr.md index e42efcd574..5d72280849 100644 --- a/.github/README_fr.md +++ b/.github/README_fr.md @@ -52,6 +52,9 @@ + + +
diff --git a/.github/README_he.md b/.github/README_he.md index 593afbcfaa..6a1334703f 100644 --- a/.github/README_he.md +++ b/.github/README_he.md @@ -52,6 +52,9 @@ + + +
diff --git a/.github/README_id.md b/.github/README_id.md index b9f8df0173..66588b8f56 100644 --- a/.github/README_id.md +++ b/.github/README_id.md @@ -52,6 +52,9 @@ + + +
diff --git a/.github/README_it.md b/.github/README_it.md new file mode 100644 index 0000000000..b50242336d --- /dev/null +++ b/.github/README_it.md @@ -0,0 +1,632 @@ +

+ + Fiber + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + +

+

+Fiber è un framework web inspirato a Express costruito sopra Fasthttp, un motore HTTP molto veloce per Go. Progettato per semplificare le cose per uno sviluppo veloce con zero allocazione di memoria e le prestazioni in mente. +

+ +## ⚡️ Avvio rapido + +```go +package main + +import "github.com/gofiber/fiber/v2" + +func main() { + app := fiber.New() + + app.Get("/", func(c *fiber.Ctx) error { + return c.SendString("Hello, World 👋!") + }) + + app.Listen(":3000") +} +``` + +## 🤖 Benchmark + +Questi test sono stati eseguiti da [TechEmpower](https://www.techempower.com/benchmarks/#section=data-r19&hw=ph&test=plaintext) e [Go Web](https://github.com/smallnest/go-web-framework-benchmark). Se vuoi vedere tutti i risultati, visita la nostra [Wiki](https://docs.gofiber.io/extra/benchmarks). + +

+ + +

+ +## ⚙️ Installazione + +Assicurati di avere Go ([download](https://golang.org/dl/)) installato. Versione `1.14` o superiore. + +Inizializza il tuo progetto creando una cartella e successivamente lanciando `go mod init github.com/your/repo` ([per maggiori info](https://blog.golang.org/using-go-modules)) da dentro la cartella. Dopo installa Fiber con il comando [`go get`](https://golang.org/cmd/go/#hdr-Add_dependencies_to_current_module_and_install_them): + +```bash +go get -u github.com/gofiber/fiber/v2 +``` + +## 🎯 Caratteristiche + +- [Routing](https://docs.gofiber.io/routing) solido +- Serve [file statici](https://docs.gofiber.io/api/app#static) +- [Perfomance](https://docs.gofiber.io/extra/benchmarks) estreme +- [Basso](https://docs.gofiber.io/extra/benchmarks) utilizzo di [memoria](https://docs.gofiber.io/extra/benchmarks) +- [API endpoints](https://docs.gofiber.io/api/ctx) +- Supporta Middleware e [Next](https://docs.gofiber.io/api/ctx#next) +- Programmazione server-side [veloce](https://dev.to/koddr/welcome-to-fiber-an-express-js-styled-fastest-web-framework-written-with-on-golang-497) +- [Template engine](https://github.com/gofiber/template) +- [Supporto WebSocket](https://github.com/gofiber/websocket) +- [Rate Limiter](https://docs.gofiber.io/api/middleware/limiter) +- Disponible in [15 lingue](https://docs.gofiber.io/) +- E molto altro ancora, [esplora Fiber](https://docs.gofiber.io/) + +## 💡 Filosofia + +I nuovi gopher che passano da [Node.js](https://nodejs.org/en/about/) a [Go](https://golang.org/doc/) hanno a che fare con una curva di apprendimento prima di poter iniziare a creare le proprie applicazioni web o microservizi. Fiber, come **web framework** , è stato creato con l'idea di **minimalismo** e seguendo lo '**UNIX way**' , così i nuovi gopher posso entrare rapidamente nel mondo di Go con un caldo e fidato benvenuto. + +Fiber è **inspirato** da Express, il web framework più popolare su internet. Abbiamo combiniamo la **facilità** di Express e **le pure prestazioni** di Go. Se hai mai implementato una applicazione web in Node.js (_utilizzando Express o simili_), allora i tanti metodi e principi ti saranno **molto familiari**. + +## Limitazioni + +* Dato che Fiber utilizza unsafe, la libreria non sempre potrebbe essere compatibile con l'ultima versione di Go. Fiber 2.18.0 è stato testato con la versioni 1.14 alla 1.17 di Go. +* Fiber non è compatibile con le interfacce net/http. Questo significa che non è possibile utilizzare progetti come qglgen, go-swagger, o altri che fanno parte dell'ecosistema net/http. + +## 👀 Esempi + +Qui sotto trovi molti dei più comuni esempi. Se vuoi vedere ulteriori esempi, visita il nostro [Recipes repository](https://github.com/gofiber/recipes) o la nostra [documentazione API](https://docs.gofiber.io) . + +#### 📖 [**Routing di base**](https://docs.gofiber.io/#basic-routing) + +```go +func main() { + app := fiber.New() + + // GET /api/register + app.Get("/api/*", func(c *fiber.Ctx) error { + msg := fmt.Sprintf("✋ %s", c.Params("*")) + return c.SendString(msg) // => ✋ register + }) + + // GET /flights/LAX-SFO + app.Get("/flights/:from-:to", func(c *fiber.Ctx) error { + msg := fmt.Sprintf("💸 From: %s, To: %s", c.Params("from"), c.Params("to")) + return c.SendString(msg) // => 💸 From: LAX, To: SFO + }) + + // GET /dictionary.txt + app.Get("/:file.:ext", func(c *fiber.Ctx) error { + msg := fmt.Sprintf("📃 %s.%s", c.Params("file"), c.Params("ext")) + return c.SendString(msg) // => 📃 dictionary.txt + }) + + // GET /john/75 + app.Get("/:name/:age/:gender?", func(c *fiber.Ctx) error { + msg := fmt.Sprintf("👴 %s is %s years old", c.Params("name"), c.Params("age")) + return c.SendString(msg) // => 👴 john is 75 years old + }) + + // GET /john + app.Get("/:name", func(c *fiber.Ctx) error { + msg := fmt.Sprintf("Hello, %s 👋!", c.Params("name")) + return c.SendString(msg) // => Hello john 👋! + }) + + log.Fatal(app.Listen(":3000")) +} + +``` + +#### 📖 [**Servire File Statici**](https://docs.gofiber.io/api/app#static) + +```go +func main() { + app := fiber.New() + + app.Static("/", "./public") + // => http://localhost:3000/js/script.js + // => http://localhost:3000/css/style.css + + app.Static("/prefix", "./public") + // => http://localhost:3000/prefix/js/script.js + // => http://localhost:3000/prefix/css/style.css + + app.Static("*", "./public/index.html") + // => http://localhost:3000/any/path/shows/index/html + + log.Fatal(app.Listen(":3000")) +} + +``` + +#### 📖 [**Middleware e Next**](https://docs.gofiber.io/api/ctx#next) + +```go +func main() { + app := fiber.New() + + // Match any route + app.Use(func(c *fiber.Ctx) error { + fmt.Println("🥇 First handler") + return c.Next() + }) + + // Match all routes starting with /api + app.Use("/api", func(c *fiber.Ctx) error { + fmt.Println("🥈 Second handler") + return c.Next() + }) + + // GET /api/register + app.Get("/api/list", func(c *fiber.Ctx) error { + fmt.Println("🥉 Last handler") + return c.SendString("Hello, World 👋!") + }) + + log.Fatal(app.Listen(":3000")) +} + +``` + +
+ 📚 Mostra altri esempi + +### View engine + +📖 [Config](https://docs.gofiber.io/api/fiber#config) +📖 [Engines](https://github.com/gofiber/template) +📖 [Render](https://docs.gofiber.io/api/ctx#render) + +Fiber usa di default [html/template](https://golang.org/pkg/html/template/) quando nessun view engine è stato impostato. + +Se vuoi eseguire parzialmente o utilizzare un engine differente come [amber](https://github.com/eknkc/amber), [handlebars](https://github.com/aymerick/raymond), [mustache](https://github.com/cbroglie/mustache) o [pug](https://github.com/Joker/jade) ecc.. + +Dai un'occhiata al pacchetto [Template](https://github.com/gofiber/template) che supporta multipli view engine. + +```go +package main + +import ( + "github.com/gofiber/fiber/v2" + "github.com/gofiber/template/pug" +) + +func main() { + // You can setup Views engine before initiation app: + app := fiber.New(fiber.Config{ + Views: pug.New("./views", ".pug"), + }) + + // And now, you can call template `./views/home.pug` like this: + app.Get("/", func(c *fiber.Ctx) error { + return c.Render("home", fiber.Map{ + "title": "Homepage", + "year": 1999, + }) + }) + + log.Fatal(app.Listen(":3000")) +} +``` + +### Raggruppare le route + +📖 [Group](https://docs.gofiber.io/api/app#group) + +```go +func middleware(c *fiber.Ctx) error { + fmt.Println("Don't mind me!") + return c.Next() +} + +func handler(c *fiber.Ctx) error { + return c.SendString(c.Path()) +} + +func main() { + app := fiber.New() + + // Root API route + api := app.Group("/api", middleware) // /api + + // API v1 routes + v1 := api.Group("/v1", middleware) // /api/v1 + v1.Get("/list", handler) // /api/v1/list + v1.Get("/user", handler) // /api/v1/user + + // API v2 routes + v2 := api.Group("/v2", middleware) // /api/v2 + v2.Get("/list", handler) // /api/v2/list + v2.Get("/user", handler) // /api/v2/user + + // ... +} + +``` + +### Middleware logger + +📖 [Logger](https://docs.gofiber.io/api/middleware/logger) + +```go +package main + +import ( + "log" + + "github.com/gofiber/fiber/v2" + "github.com/gofiber/fiber/v2/middleware/logger" +) + +func main() { + app := fiber.New() + + app.Use(logger.New()) + + // ... + + log.Fatal(app.Listen(":3000")) +} +``` + +### Cross-Origin Resource Sharing (CORS) + +📖 [CORS](https://docs.gofiber.io/api/middleware/cors) + +```go +import ( + "log" + + "github.com/gofiber/fiber/v2" + "github.com/gofiber/fiber/v2/middleware/cors" +) + +func main() { + app := fiber.New() + + app.Use(cors.New()) + + // ... + + log.Fatal(app.Listen(":3000")) +} +``` + +Controlla il CORS passando un dominio qualsiasi nell'header `Origin`: + +```bash +curl -H "Origin: http://example.com" --verbose http://localhost:3000 +``` + +### Risposte 404 personalizzate + +📖 [HTTP Methods](https://docs.gofiber.io/api/ctx#status) + +```go +func main() { + app := fiber.New() + + app.Static("/", "./public") + + app.Get("/demo", func(c *fiber.Ctx) error { + return c.SendString("This is a demo!") + }) + + app.Post("/register", func(c *fiber.Ctx) error { + return c.SendString("Welcome!") + }) + + // Last middleware to match anything + app.Use(func(c *fiber.Ctx) error { + return c.SendStatus(404) + // => 404 "Not Found" + }) + + log.Fatal(app.Listen(":3000")) +} +``` + +### Risposte JSON + +📖 [JSON](https://docs.gofiber.io/ctx#json) + +```go +type User struct { + Name string `json:"name"` + Age int `json:"age"` +} + +func main() { + app := fiber.New() + + app.Get("/user", func(c *fiber.Ctx) error { + return c.JSON(&User{"John", 20}) + // => {"name":"John", "age":20} + }) + + app.Get("/json", func(c *fiber.Ctx) error { + return c.JSON(fiber.Map{ + "success": true, + "message": "Hi John!", + }) + // => {"success":true, "message":"Hi John!"} + }) + + log.Fatal(app.Listen(":3000")) +} +``` + +### WebSocket Upgrade + +📖 [Websocket](https://github.com/gofiber/websocket) + +```go +import ( + "github.com/gofiber/fiber/v2" + "github.com/gofiber/fiber/v2/middleware/websocket" +) + +func main() { + app := fiber.New() + + app.Get("/ws", websocket.New(func(c *websocket.Conn) { + for { + mt, msg, err := c.ReadMessage() + if err != nil { + log.Println("read:", err) + break + } + log.Printf("recv: %s", msg) + err = c.WriteMessage(mt, msg) + if err != nil { + log.Println("write:", err) + break + } + } + })) + + log.Fatal(app.Listen(":3000")) + // ws://localhost:3000/ws +} +``` + +### Recover middleware + +📖 [Recover](https://docs.gofiber.io/api/middleware/recover) + +```go +import ( + "github.com/gofiber/fiber/v2" + "github.com/gofiber/fiber/v2/middleware/recover" +) + +func main() { + app := fiber.New() + + app.Use(recover.New()) + + app.Get("/", func(c *fiber.Ctx) error { + panic("normally this would crash your app") + }) + + log.Fatal(app.Listen(":3000")) +} +``` + +
+ +### Utilizzare Trusted Proxy + +📖 [Config](https://docs.gofiber.io/api/fiber#config) + +```go +import ( + "github.com/gofiber/fiber/v2" + "github.com/gofiber/fiber/v2/middleware/recover" +) + +func main() { + app := fiber.New(fiber.Config{ + EnableTrustedProxyCheck: true, + TrustedProxies: []string{"0.0.0.0", "1.1.1.1/30"}, // IP address or IP address range + ProxyHeader: fiber.HeaderXForwardedFor}, + }) + + // ... + + log.Fatal(app.Listen(":3000")) +} +``` + + + +## 🧬 Middleware Interni + +Qui una lista dei middleware inclusi con Fiber. + +| Middleware | Descrizione | +| :------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [basicauth](https://github.com/gofiber/fiber/tree/master/middleware/basicauth) | Basic auth middleware provvede un'autenticazione base HTTP. Chiama un next handler per credenziali valide e 401 Unauthorized per credenziali mancanti o invalide. | +| [compress](https://github.com/gofiber/fiber/tree/master/middleware/compress) | Compression middleware per Fiber, supporta `deflate`, `gzip` e `brotli` di default. | +| [cache](https://github.com/gofiber/fiber/tree/master/middleware/cache) | Intercetta e cacha le risposte | +| [cors](https://github.com/gofiber/fiber/tree/master/middleware/cors) | Attiva il cross-origin resource sharing \(CORS\) con diverse opzioni. | +| [csrf](https://github.com/gofiber/fiber/tree/master/middleware/csrf) | Protegga da exploit CSRF. | +| [filesystem](https://github.com/gofiber/fiber/tree/master/middleware/filesystem) | FileSystem middleware per Fiber, un ringraziamento speciale e meriti a Alireza Salary | +| [favicon](https://github.com/gofiber/fiber/tree/master/middleware/favicon) | Ignora la favicon dai log o serve dalla memoria se un file path è stato fonito. | +| [limiter](https://github.com/gofiber/fiber/tree/master/middleware/limiter) | Rate-limiting middleware per Fiber. Viene usato per limitare le richieste ripetute a un API pubblica e/o a degli endpoint tipo il reset della password. | +| [logger](https://github.com/gofiber/fiber/tree/master/middleware/logger) | HTTP request/response logger. | +| [pprof](https://github.com/gofiber/fiber/tree/master/middleware/pprof) | Un ringraziamento speciale a Matthew Lee \(@mthli\) | +| [proxy](https://github.com/gofiber/fiber/tree/master/middleware/proxy) | Permette di effettuare proxy delle richieste a server multipli. | +| [requestid](https://github.com/gofiber/fiber/tree/master/middleware/requestid) | Aggiunge un requestid ad ogni richiesta request. | +| [recover](https://github.com/gofiber/fiber/tree/master/middleware/recover) | Recover middleware recupera da panic ovunque nello stack chain e passa il controllo a un[ ErrorHandler](https://docs.gofiber.io/guide/error-handling) centralizzato. | +| [timeout](https://github.com/gofiber/fiber/tree/master/middleware/timeout) | Aggiunge un tempo massimo per richiesta e la invia all'ErrorHandler se il tempo massimo viene superato. | + +## 🧬 Middleware Esterni + +La lista dei moduli middleware hostati esternamente e mantenuti dal [team di Fiber](https://github.com/orgs/gofiber/people). + +| Middleware | Descrizione | +| :------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [adaptor](https://github.com/gofiber/adaptor) | Converte un net/http handler da/a un Fiber request handler, un ringrazimento speciale a @arsmn! | +| [helmet](https://github.com/gofiber/helmet) | Aiuta a rendere sicura la tua app impostando diversi headers HTTP. | +| [jwt](https://github.com/gofiber/jwt) | JWT ritorna un JSON Web Token \(JWT\) auth middleware. | +| [keyauth](https://github.com/gofiber/keyauth) | Key auth middleware fornisce una autenticazione basata su chiavi. | +| [rewrite](https://github.com/gofiber/rewrite) | Rewrite middleware riscrive le URL basandosi sulle regole fornite. Può essere utile per mantenere la compatibilità o semplicemente per creare link più puliti e descrittivi. | +| [session](https://github.com/gofiber/session) | Questo session middleware per la sessione è costruito sopra a fasthttp/session da @savsgio MIT. Un ringraziamento speciale a @thomasvvugt per l'aiuto con questo middleware. | +| [template](https://github.com/gofiber/template) | Questo pacchetto contiene 8 template engine che possono essere usati con Fiber `v1.10.x` Go versione 1.13 o superiore sono richiesti. | +| [websocket](https://github.com/gofiber/websocket) | Basato su Fasthttp WebSocket per Fiber con supporto a Locals! | + +## 🌱 Middleware di Terzi + +Questa è una lista dei middleware che sono stati creati dalla comunità di Fiber, puoi creare una PR se vuoi vedere anche il tuo! + +- [arsmn/fiber-swagger](https://github.com/arsmn/fiber-swagger) +- [arsmn/fiber-casbin](https://github.com/arsmn/fiber-casbin) +- [arsmn/fiber-introspect](https://github.com/arsmn/fiber-introspect) +- [shareed2k/fiber_tracing](https://github.com/shareed2k/fiber_tracing) +- [shareed2k/fiber_limiter](https://github.com/shareed2k/fiber_limiter) +- [thomasvvugt/fiber-boilerplate](https://github.com/thomasvvugt/fiber-boilerplate) +- [arsmn/gqlgen](https://github.com/arsmn/gqlgen) +- [kiyonlin/fiber_limiter](https://github.com/kiyonlin/fiber_limiter) +- [juandiii/go-jwk-security](https://github.com/juandiii/go-jwk-security) +- [sujit-baniya/fiber-boilerplate](https://github.com/sujit-baniya/fiber-boilerplate) +- [ansrivas/fiberprometheus](https://github.com/ansrivas/fiberprometheus) +- [LdDl/fiber-long-poll](https://github.com/LdDl/fiber-long-poll) +- [K0enM/fiber_vhost](https://github.com/K0enM/fiber_vhost) +- [sacsand/gofiber-firebaseauth](https://github.com/sacsand/gofiber-firebaseauth) +- [theArtechnology/fiber-inertia](https://github.com/theArtechnology/fiber-inertia) +- [aschenmaker/fiber-health-check](https://github.com/aschenmaker/fiber-health-check) +- [elastic/apmfiber](https://github.com/elastic/apm-agent-go/tree/master/module/apmfiber) + +## 👍 Contribuire + +Se vuoi dirci **grazie** e/o supportare lo sviluppo di `Fiber`: + +1. Aggiungi una [stella GitHub](https://github.com/gofiber/fiber/stargazers) al progetto. +2. Tweeta del progetto [su Twitter](https://twitter.com/intent/tweet?text=Fiber%20is%20an%20Express%20inspired%20%23web%20%23framework%20built%20on%20top%20of%20Fasthttp%2C%20the%20fastest%20HTTP%20engine%20for%20%23Go.%20Designed%20to%20ease%20things%20up%20for%20%23fast%20development%20with%20zero%20memory%20allocation%20and%20%23performance%20in%20mind%20%F0%9F%9A%80%20https%3A%2F%2Fgithub.com%2Fgofiber%2Ffiber). +3. Scrivi una recensione o un tutorial su [Medium](https://medium.com/), [Dev.to](https://dev.to/) o sul tuo blog personale. +4. Supporta il progetto donando una [tazza di caffè](https://buymeacoff.ee/fenny). + +## ☕ Supporter + +Fiber è un progetto open source che va avanti grazie alle donazioni per pagare le spese e.g. il nostro nome dominio, gitbook, netlify e hosting serverless. Se vuoi supportare Fiber, puoi ☕ [**comprarci un caffè qui**](https://buymeacoff.ee/fenny). + +| | Utente | Donazione | +| :--------------------------------------------------------- | :----------------------------------------------- | :-------- | +| ![](https://avatars.githubusercontent.com/u/204341?s=25) | [@destari](https://github.com/destari) | ☕ x 10 | +| ![](https://avatars.githubusercontent.com/u/63164982?s=25) | [@dembygenesis](https://github.com/dembygenesis) | ☕ x 5 | +| ![](https://avatars.githubusercontent.com/u/56607882?s=25) | [@thomasvvugt](https://github.com/thomasvvugt) | ☕ x 5 | +| ![](https://avatars.githubusercontent.com/u/27820675?s=25) | [@hendratommy](https://github.com/hendratommy) | ☕ x 5 | +| ![](https://avatars.githubusercontent.com/u/1094221?s=25) | [@ekaputra07](https://github.com/ekaputra07) | ☕ x 5 | +| ![](https://avatars.githubusercontent.com/u/194590?s=25) | [@jorgefuertes](https://github.com/jorgefuertes) | ☕ x 5 | +| ![](https://avatars.githubusercontent.com/u/186637?s=25) | [@candidosales](https://github.com/candidosales) | ☕ x 5 | +| ![](https://avatars.githubusercontent.com/u/29659953?s=25) | [@l0nax](https://github.com/l0nax) | ☕ x 3 | +| ![](https://avatars.githubusercontent.com/u/59947262?s=25) | [@ankush](https://github.com/ankush) | ☕ x 3 | +| ![](https://avatars.githubusercontent.com/u/635852?s=25) | [@bihe](https://github.com/bihe) | ☕ x 3 | +| ![](https://avatars.githubusercontent.com/u/307334?s=25) | [@justdave](https://github.com/justdave) | ☕ x 3 | +| ![](https://avatars.githubusercontent.com/u/11155743?s=25) | [@koddr](https://github.com/koddr) | ☕ x 1 | +| ![](https://avatars.githubusercontent.com/u/29042462?s=25) | [@lapolinar](https://github.com/lapolinar) | ☕ x 1 | +| ![](https://avatars.githubusercontent.com/u/2978730?s=25) | [@diegowifi](https://github.com/diegowifi) | ☕ x 1 | +| ![](https://avatars.githubusercontent.com/u/44171355?s=25) | [@ssimk0](https://github.com/ssimk0) | ☕ x 1 | +| ![](https://avatars.githubusercontent.com/u/5638101?s=25) | [@raymayemir](https://github.com/raymayemir) | ☕ x 1 | +| ![](https://avatars.githubusercontent.com/u/619996?s=25) | [@melkorm](https://github.com/melkorm) | ☕ x 1 | +| ![](https://avatars.githubusercontent.com/u/31022056?s=25) | [@marvinjwendt](https://github.com/marvinjwendt) | ☕ x 1 | +| ![](https://avatars.githubusercontent.com/u/31921460?s=25) | [@toishy](https://github.com/toishy) | ☕ x 1 | + +## ‎‍💻 Code Contributor + +Code Contributors + +## ⭐️ Stargazers + +Stargazers over time + +## ⚠️ Licenza + +Copyright (c) 2019-ora [Fenny](https://github.com/fenny) e [Contributors](https://github.com/gofiber/fiber/graphs/contributors). `Fiber` è un software free e open-source licenzato sotto [MIT License](https://github.com/gofiber/fiber/blob/master/LICENSE). Il logo ufficiale è stato creato da [Vic Shóstak](https://github.com/koddr) e distribuito sotto licenza [Creative Commons](https://creativecommons.org/licenses/by-sa/4.0/) (CC BY-SA 4.0 International). + +**Licenze di Terze parti ** + +- [schema](https://github.com/gorilla/schema/blob/master/LICENSE) +- [isatty](https://github.com/mattn/go-isatty/blob/master/LICENSE) +- [fasthttp](https://github.com/valyala/fasthttp/blob/master/LICENSE) +- [go-json](https://github.com/goccy/go-json/blob/master/LICENSE) +- [colorable](https://github.com/mattn/go-colorable/blob/master/LICENSE) +- [fasttemplate](https://github.com/valyala/fasttemplate/blob/master/LICENSE) +- [bytebufferpool](https://github.com/valyala/bytebufferpool/blob/master/LICENSE) +- [gopsutil](https://github.com/shirou/gopsutil/blob/master/LICENSE) +- [go-ole](https://github.com/go-ole/go-ole) +- [wmi](https://github.com/StackExchange/wmi) diff --git a/.github/README_ja.md b/.github/README_ja.md index 5a690ad5a1..07a97f59c2 100644 --- a/.github/README_ja.md +++ b/.github/README_ja.md @@ -52,6 +52,9 @@ + + +
diff --git a/.github/README_ko.md b/.github/README_ko.md index f445df6669..ff31597dcb 100644 --- a/.github/README_ko.md +++ b/.github/README_ko.md @@ -52,6 +52,9 @@ + + +
diff --git a/.github/README_nl.md b/.github/README_nl.md index 186821f859..3a4d8c0c34 100644 --- a/.github/README_nl.md +++ b/.github/README_nl.md @@ -52,6 +52,9 @@ + + +
diff --git a/.github/README_pt.md b/.github/README_pt.md index 35fea9a5f1..5fed7e4f5d 100644 --- a/.github/README_pt.md +++ b/.github/README_pt.md @@ -52,6 +52,9 @@ + + +
diff --git a/.github/README_ru.md b/.github/README_ru.md index 64355500b7..acd41f183b 100644 --- a/.github/README_ru.md +++ b/.github/README_ru.md @@ -52,6 +52,9 @@ + + +
diff --git a/.github/README_sa.md b/.github/README_sa.md index 1452fc46aa..4cf470d770 100644 --- a/.github/README_sa.md +++ b/.github/README_sa.md @@ -52,6 +52,9 @@ + + +
diff --git a/.github/README_tr.md b/.github/README_tr.md index 43af8aef0f..4ec163ff7b 100644 --- a/.github/README_tr.md +++ b/.github/README_tr.md @@ -74,6 +74,9 @@ + + +

Fiber, Go için en hızlı HTTP motoru olan Fasthttp üzerine inşa edilmiş, Express'ten ilham alan bir web frameworküdür. Sıfır bellek ataması ve performans göz önünde bulundurularak hızlı geliştirme için işleri kolaylaştırmak üzere tasarlanmıştır. diff --git a/.github/README_zh-CN.md b/.github/README_zh-CN.md index e915909485..0a426dacae 100644 --- a/.github/README_zh-CN.md +++ b/.github/README_zh-CN.md @@ -52,6 +52,9 @@ + + +
diff --git a/.github/README_zh-TW.md b/.github/README_zh-TW.md index 4e1f433d6d..024ffe4758 100644 --- a/.github/README_zh-TW.md +++ b/.github/README_zh-TW.md @@ -52,6 +52,9 @@ + + +