mirror of https://github.com/gofiber/fiber.git
Merge branch 'master' of https://github.com/Fenny/fiber
commit
48e7892624
|
@ -4,34 +4,37 @@
|
|||
</a>
|
||||
<br>
|
||||
<!--<a href="https://github.com/gofiber/fiber/blob/master/.github/README.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/gb.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/en.svg">
|
||||
</a>-->
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ru.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/ru.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ru.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_es.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/es.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/es.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ja.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/jp.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/jp.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_pt.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/pt.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/pt.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_zh-CN.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/cn.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ch.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_de.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/de.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/de.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ko.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/kr.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ko.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_fr.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/fr.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/fr.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_tr.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/tr.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/tr.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_id.md">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/id.svg">
|
||||
</a>
|
||||
<br><br>
|
||||
<a href="https://github.com/gofiber/fiber/releases">
|
||||
|
@ -60,7 +63,7 @@
|
|||
</a>
|
||||
</p>
|
||||
<p align="center">
|
||||
<b>Fiber</b> is an <a href="https://github.com/expressjs/express">Express</a> inspired <b>web framework</b> build on top of <a href="https://github.com/valyala/fasthttp">Fasthttp</a>, the <b>fastest</b> HTTP engine for <a href="https://golang.org/doc/">Go</a>. Designed to <b>ease</b> things up for <b>fast</b> development with <b>zero memory allocation</b> and <b>performance</b> in mind.
|
||||
<b>Fiber</b> is an <a href="https://github.com/expressjs/express">Express</a> inspired <b>web framework</b> built on top of <a href="https://github.com/valyala/fasthttp">Fasthttp</a>, the <b>fastest</b> HTTP engine for <a href="https://golang.org/doc/">Go</a>. Designed to <b>ease</b> things up for <b>fast</b> development with <b>zero memory allocation</b> and <b>performance</b> in mind.
|
||||
</p>
|
||||
|
||||
## ⚡️ Quickstart
|
||||
|
@ -109,23 +112,31 @@ These tests are performed by [TechEmpower](https://github.com/TechEmpower/Framew
|
|||
- [API endpoints](https://fiber.wiki/context)
|
||||
- Middleware & [Next](https://fiber.wiki/context#next) support
|
||||
- [Rapid](https://dev.to/koddr/welcome-to-fiber-an-express-js-styled-fastest-web-framework-written-with-on-golang-497) server-side programming
|
||||
- Available in 9 other languages
|
||||
- Available in 10 other languages
|
||||
- And much more, [explore Fiber](https://fiber.wiki/)
|
||||
|
||||
## 💡 Philosophy
|
||||
|
||||
New gophers that make the switch from [Node.js](https://nodejs.org/en/about/) to [Go](https://golang.org/doc/) are dealing with a learning curve before they can start building their web applications or microservices. Fiber, as a **web framework**, was created with the idea of **minimalism** and follow **UNIX way**, so that new gophers can quickly enter the world of Go with a warm and trusted welcome.
|
||||
New gophers that make the switch from [Node.js](https://nodejs.org/en/about/) to [Go](https://golang.org/doc/) are dealing with a learning curve before they can start building their web applications or microservices. Fiber, as a **web framework**, was created with the idea of **minimalism** and follows the **UNIX way**, so that new gophers can quickly enter the world of Go with a warm and trusted welcome.
|
||||
|
||||
Fiber is **inspired** by Express, the most popular web framework on the Internet. We combined the **ease** of Express and **raw performance** of Go. If you have ever implemented a web application on Node.js (_using Express or similar_), then many methods and principles will seem **very common** to you.
|
||||
Fiber is **inspired** by Express, the most popular web framework on the Internet. We combined the **ease** of Express and **raw performance** of Go. If you have ever implemented a web application in Node.js (_using Express or similar_), then many methods and principles will seem **very common** to you.
|
||||
|
||||
We **listen** to our users in [issues](https://github.com/gofiber/fiber/issues) (_and all over the Internet_) to create a **fast**, **flexible** and **friendly** Go web framework for **any** tasks, **deadlines** and developer **skills**! Just like Express does in the JavaScript world.
|
||||
We **listen** to our users in [issues](https://github.com/gofiber/fiber/issues) (_and all over the Internet_) to create a **fast**, **flexible** and **friendly** Go web framework for **any** task, **deadline** and developer **skill**! Just like Express does in the JavaScript world.
|
||||
|
||||
## 👀 Examples
|
||||
|
||||
Listed below are some of the common examples. If you want to see more code examples, please visit our [Recipes repository](https://github.com/gofiber/recipes) or visit our [API documentation](https://fiber.wiki).
|
||||
Listed below are some of the common examples.
|
||||
|
||||
> If you want to see more code examples, please visit our [Recipes repository](https://github.com/gofiber/recipes) or visit our [API documentation](https://fiber.wiki).
|
||||
|
||||
### Routing
|
||||
|
||||
Docs:
|
||||
|
||||
- 📖 https://fiber.wiki/#basic-routing
|
||||
|
||||
Example:
|
||||
|
||||
```go
|
||||
func main() {
|
||||
app := fiber.New()
|
||||
|
@ -153,7 +164,13 @@ func main() {
|
|||
```
|
||||
|
||||
### Serve static files
|
||||
https://fiber.wiki/application#static
|
||||
|
||||
Docs:
|
||||
|
||||
- 📖 https://fiber.wiki/application#static
|
||||
|
||||
Example:
|
||||
|
||||
```go
|
||||
func main() {
|
||||
app := fiber.New()
|
||||
|
@ -174,8 +191,14 @@ func main() {
|
|||
```
|
||||
|
||||
### Middleware & Next
|
||||
https://fiber.wiki/routing#middleware
|
||||
https://fiber.wiki/context#next
|
||||
|
||||
Docs:
|
||||
|
||||
- 📖 https://fiber.wiki/routing#middleware
|
||||
- 📖 https://fiber.wiki/context#next
|
||||
|
||||
Example:
|
||||
|
||||
```go
|
||||
func main() {
|
||||
app := fiber.New()
|
||||
|
@ -206,16 +229,22 @@ func main() {
|
|||
<summary>📚 Show more code examples</summary>
|
||||
|
||||
### Template engines
|
||||
https://fiber.wiki/application#settings
|
||||
https://fiber.wiki/context#render
|
||||
|
||||
Docs:
|
||||
|
||||
- 📖 https://fiber.wiki/application#settings
|
||||
- 📖 https://fiber.wiki/context#render
|
||||
|
||||
Supported engines:
|
||||
|
||||
- [html](https://golang.org/pkg/html/template/)
|
||||
- [amber](https://github.com/eknkc/amber)
|
||||
- [handlebars](https://github.com/aymerick/raymond)
|
||||
- [mustache](https://github.com/cbroglie/mustache)
|
||||
- [pug](https://github.com/Joker/jade)
|
||||
|
||||
Example:
|
||||
|
||||
```go
|
||||
func main() {
|
||||
// You can setup template engine before initiation app:
|
||||
|
@ -243,7 +272,13 @@ func main() {
|
|||
```
|
||||
|
||||
### Grouping routes into chains
|
||||
https://fiber.wiki/application#group
|
||||
|
||||
Docs:
|
||||
|
||||
- 📖 https://fiber.wiki/application#group
|
||||
|
||||
Example:
|
||||
|
||||
```go
|
||||
func main() {
|
||||
app := fiber.New()
|
||||
|
@ -266,7 +301,13 @@ func main() {
|
|||
```
|
||||
|
||||
### Middleware logger
|
||||
https://fiber.wiki/middleware#logger
|
||||
|
||||
Docs:
|
||||
|
||||
- 📖 https://fiber.wiki/middleware#logger
|
||||
|
||||
Example:
|
||||
|
||||
```go
|
||||
import (
|
||||
"github.com/gofiber/fiber"
|
||||
|
@ -275,7 +316,7 @@ import (
|
|||
|
||||
func main() {
|
||||
app := fiber.New()
|
||||
|
||||
|
||||
// If you want to change default Logger config
|
||||
loggerConfig := middleware.LoggerConfig{
|
||||
Format: "${time} - ${method} ${path}\n",
|
||||
|
@ -290,9 +331,14 @@ func main() {
|
|||
```
|
||||
|
||||
### Cross-Origin Resource Sharing (CORS)
|
||||
https://fiber.wiki/middleware#cors
|
||||
|
||||
[CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a mechanism that uses additional HTTP headers to tell browsers to give a web application running at one origin, access to selected resources from a different origin. A web application executes a cross-origin HTTP request when it requests a resource that has a different origin (domain, protocol, or port) from its own.
|
||||
Docs:
|
||||
|
||||
- 📖 https://fiber.wiki/middleware#cors
|
||||
|
||||
> [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a mechanism that uses additional HTTP headers to tell browsers to give a web application running at one origin, access to selected resources from a different origin. A web application executes a cross-origin HTTP request when it requests a resource that has a different origin (domain, protocol, or port) from its own.
|
||||
|
||||
Example:
|
||||
|
||||
```go
|
||||
import (
|
||||
|
@ -307,14 +353,14 @@ func main() {
|
|||
app.Use(middleware.CORS())
|
||||
|
||||
app.Get("/", func(c *fiber.Ctx) {
|
||||
c.Send("CORS is enabled!")
|
||||
c.Send("CORS is enabled!")
|
||||
})
|
||||
|
||||
app.Listen(3000)
|
||||
}
|
||||
```
|
||||
|
||||
Check CORS by passing any domain in `Origin` header:
|
||||
Check CORS by passing any domain in `Origin` header:
|
||||
|
||||
```bash
|
||||
curl -H "Origin: http://example.com" --verbose http://localhost:3000
|
||||
|
@ -322,6 +368,12 @@ curl -H "Origin: http://example.com" --verbose http://localhost:3000
|
|||
|
||||
### Custom 404 response
|
||||
|
||||
Docs:
|
||||
|
||||
- 📖 https://fiber.wiki/application#http-methods
|
||||
|
||||
Example:
|
||||
|
||||
```go
|
||||
func main() {
|
||||
app := fiber.New()
|
||||
|
@ -338,7 +390,8 @@ func main() {
|
|||
|
||||
// Last middleware to match anything
|
||||
app.Use(func(c *fiber.Ctx) {
|
||||
c.SendStatus(404) // => 404 "Not Found"
|
||||
c.SendStatus(404)
|
||||
// => 404 "Not Found"
|
||||
})
|
||||
|
||||
app.Listen(3000)
|
||||
|
@ -346,7 +399,13 @@ func main() {
|
|||
```
|
||||
|
||||
### JSON Response
|
||||
https://fiber.wiki/context#json
|
||||
|
||||
Docs:
|
||||
|
||||
- 📖 https://fiber.wiki/context#json
|
||||
|
||||
Example:
|
||||
|
||||
```go
|
||||
type User struct {
|
||||
Name string `json:"name"`
|
||||
|
@ -358,15 +417,15 @@ func main() {
|
|||
|
||||
app.Get("/user", func(c *fiber.Ctx) {
|
||||
c.JSON(&User{"John", 20})
|
||||
// {"name":"John", "age":20}
|
||||
// => {"name":"John", "age":20}
|
||||
})
|
||||
|
||||
app.Get("/json", func(c *fiber.Ctx) {
|
||||
c.JSON(&fiber.Map{
|
||||
"success": true,
|
||||
"message": "Hi John!",
|
||||
c.JSON(fiber.Map{
|
||||
"success": true,
|
||||
"message": "Hi John!",
|
||||
})
|
||||
// {"success":true, "message":"Hi John!"}
|
||||
// => {"success":true, "message":"Hi John!"}
|
||||
})
|
||||
|
||||
app.Listen(3000)
|
||||
|
@ -374,7 +433,13 @@ func main() {
|
|||
```
|
||||
|
||||
### WebSocket support
|
||||
https://fiber.wiki/application#websocket
|
||||
|
||||
Docs:
|
||||
|
||||
- 📖 https://fiber.wiki/application#websocket
|
||||
|
||||
Example:
|
||||
|
||||
```go
|
||||
func main() {
|
||||
app := fiber.New()
|
||||
|
@ -403,10 +468,14 @@ func main() {
|
|||
```
|
||||
|
||||
### Recover middleware
|
||||
https://fiber.wiki/middleware#recover
|
||||
```go
|
||||
package main
|
||||
|
||||
Docs:
|
||||
|
||||
- 📖 https://fiber.wiki/middleware#recover
|
||||
|
||||
Example:
|
||||
|
||||
```go
|
||||
import (
|
||||
"github.com/gofiber/fiber"
|
||||
"github.com/gofiber/fiber/middleware"
|
||||
|
@ -418,8 +487,8 @@ func main() {
|
|||
app.Use(middleware.Recover(func(c *fiber.Ctx, err error) {
|
||||
log.Println(err) // "Something went wrong!"
|
||||
c.SendStatus(500) // Internal Server Error
|
||||
})))
|
||||
|
||||
}))
|
||||
|
||||
app.Get("/", func(c *fiber.Ctx) {
|
||||
panic("Something went wrong!")
|
||||
})
|
||||
|
@ -433,6 +502,7 @@ func main() {
|
|||
|
||||
- [Welcome to Fiber — an Express.js styled web framework written in Go with ❤️](https://dev.to/koddr/welcome-to-fiber-an-express-js-styled-fastest-web-framework-written-with-on-golang-497) (_by [Vic Shóstak](https://github.com/koddr), 03 Feb 2020_)
|
||||
- [Fiber release v1.7 is out now! 🎉 What's new and is he still fast, flexible and friendly?](https://dev.to/koddr/fiber-v2-is-out-now-what-s-new-and-is-he-still-fast-flexible-and-friendly-3ipf) (_by [Vic Shóstak](https://github.com/koddr), 21 Feb 2020_)
|
||||
- [🚀 Fiber v1.8. What's new, updated and re-thinked?](https://dev.to/koddr/fiber-v1-8-what-s-new-updated-and-re-thinked-339h) (_by [Vic Shóstak](https://github.com/koddr), 03 Mar 2020_)
|
||||
|
||||
## 👍 Contribute
|
||||
|
||||
|
@ -452,12 +522,6 @@ If you want to say **thank you** and/or support the active development of `Fiber
|
|||
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/gofiber/fiber">
|
||||
<img src="https://i.stack.imgur.com/frlIf.png" width="100px"></br>
|
||||
<sub><b>JustDave</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/bihe">
|
||||
<img src="https://avatars1.githubusercontent.com/u/635852?s=460&v=4" width="100px"></br>
|
||||
|
@ -482,6 +546,12 @@ If you want to say **thank you** and/or support the active development of `Fiber
|
|||
<sub><b>ToishY</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/gofiber/fiber">
|
||||
<img src="https://i.stack.imgur.com/frlIf.png" width="100px"></br>
|
||||
<sub><b>JustDave</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
@ -492,3 +562,11 @@ If you want to say **thank you** and/or support the active development of `Fiber
|
|||
## ⚠️ License
|
||||
|
||||
`Fiber` is free and open-source software licensed under the [MIT License](https://github.com/gofiber/fiber/blob/master/LICENSE).
|
||||
|
||||
[](https://sourcerer.io/fame/Fenny/gofiber/fiber/links/0)
|
||||
[](https://sourcerer.io/fame/Fenny/gofiber/fiber/links/1)
|
||||
[](https://sourcerer.io/fame/Fenny/gofiber/fiber/links/2)
|
||||
[](https://sourcerer.io/fame/Fenny/gofiber/fiber/links/3)
|
||||
[](https://sourcerer.io/fame/Fenny/gofiber/fiber/links/4)
|
||||
[](https://sourcerer.io/fame/Fenny/gofiber/fiber/links/5)
|
||||
[](https://sourcerer.io/fame/Fenny/gofiber/fiber/links/6)
|
||||
|
|
|
@ -4,34 +4,37 @@
|
|||
</a>
|
||||
<br>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/gb.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/en.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ru.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/ru.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ru.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_es.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/es.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/es.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ja.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/jp.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/jp.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_pt.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/pt.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/pt.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_zh-CN.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/cn.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ch.svg">
|
||||
</a>
|
||||
<!--<a href="https://github.com/gofiber/fiber/blob/master/.github/README_de.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/de.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/de.svg">
|
||||
</a>-->
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ko.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/kr.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ko.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_fr.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/fr.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/fr.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_tr.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/tr.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/tr.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_id.md">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/id.svg">
|
||||
</a>
|
||||
<br><br>
|
||||
<a href="https://github.com/gofiber/fiber/releases">
|
||||
|
|
|
@ -4,34 +4,37 @@
|
|||
</a>
|
||||
<br>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/gb.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/en.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ru.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/ru.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ru.svg">
|
||||
</a>
|
||||
<!--<a href="https://github.com/gofiber/fiber/blob/master/.github/README_es.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/es.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/es.svg">
|
||||
</a>-->
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ja.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/jp.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/jp.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_pt.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/pt.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/pt.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_zh-CN.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/cn.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ch.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_de.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/de.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/de.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ko.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/kr.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ko.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_fr.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/fr.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/fr.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_tr.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/tr.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/tr.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_id.md">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/id.svg">
|
||||
</a>
|
||||
<br><br>
|
||||
<a href="https://github.com/gofiber/fiber/releases">
|
||||
|
@ -447,12 +450,6 @@ Si quiere **agradecer** y/o apoyar el desarrollo activo de la `Fiber`:
|
|||
</a>
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/gofiber/fiber">
|
||||
<img src="https://i.stack.imgur.com/frlIf.png" width="100px"></br>
|
||||
<sub><b>JustDave</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/bihe">
|
||||
<img src="https://avatars1.githubusercontent.com/u/635852?s=460&v=4" width="100px"></br>
|
||||
|
@ -477,6 +474,12 @@ Si quiere **agradecer** y/o apoyar el desarrollo activo de la `Fiber`:
|
|||
<sub><b>ToishY</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/gofiber/fiber">
|
||||
<img src="https://i.stack.imgur.com/frlIf.png" width="100px"></br>
|
||||
<sub><b>JustDave</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
|
|
@ -4,34 +4,37 @@
|
|||
</a>
|
||||
<br>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/gb.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/en.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ru.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/ru.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ru.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_es.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/es.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/es.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ja.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/jp.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/jp.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_pt.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/pt.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/pt.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_zh-CN.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/cn.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ch.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_de.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/de.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/de.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ko.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/kr.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ko.svg">
|
||||
</a>
|
||||
<!-- <a href="https://github.com/gofiber/fiber/blob/master/.github/README_fr.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/fr.svg">
|
||||
</a> -->
|
||||
<!--<a href="https://github.com/gofiber/fiber/blob/master/.github/README_fr.md">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/fr.svg">
|
||||
</a>-->
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_tr.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/tr.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/tr.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_id.md">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/id.svg">
|
||||
</a>
|
||||
<br><br>
|
||||
<a href="https://github.com/gofiber/fiber/releases">
|
||||
|
@ -447,12 +450,6 @@ Si vous voulez nous remercier et/ou soutenir le développement actif de `Fiber`:
|
|||
</a>
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/gofiber/fiber">
|
||||
<img src="https://i.stack.imgur.com/frlIf.png" width="100px"></br>
|
||||
<sub><b>JustDave</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/bihe">
|
||||
<img src="https://avatars1.githubusercontent.com/u/635852?s=460&v=4" width="100px"></br>
|
||||
|
@ -477,6 +474,12 @@ Si vous voulez nous remercier et/ou soutenir le développement actif de `Fiber`:
|
|||
<sub><b>ToishY</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/gofiber/fiber">
|
||||
<img src="https://i.stack.imgur.com/frlIf.png" width="100px"></br>
|
||||
<sub><b>JustDave</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
|
|
@ -0,0 +1,499 @@
|
|||
<p align="center">
|
||||
<a href="https://fiber.wiki">
|
||||
<img alt="Fiber" height="125" src="https://github.com/gofiber/docs/blob/master/static/fiber_v2_logo.svg">
|
||||
</a>
|
||||
<br>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README.md">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/en.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ru.md">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ru.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_es.md">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/es.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ja.md">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/jp.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_pt.md">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/pt.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_zh-CN.md">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ch.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_de.md">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/de.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ko.md">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ko.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_fr.md">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/fr.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_tr.md">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/tr.svg">
|
||||
</a>
|
||||
<!--<a href="https://github.com/gofiber/fiber/blob/master/.github/README_id.md">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/id.svg">
|
||||
</a>-->
|
||||
<br><br>
|
||||
<a href="https://github.com/gofiber/fiber/releases">
|
||||
<img src="https://img.shields.io/github/release/gofiber/fiber?style=flat-square">
|
||||
</a>
|
||||
<a href="https://fiber.wiki">
|
||||
<img src="https://img.shields.io/badge/api-documentation-blue?style=flat-square">
|
||||
</a>
|
||||
<a href="https://pkg.go.dev/github.com/gofiber/fiber?tab=doc">
|
||||
<img src="https://img.shields.io/badge/go.dev-reference-007d9c?logo=go&logoColor=white&style=flat-square">
|
||||
</a>
|
||||
<a href="#">
|
||||
<img src="https://img.shields.io/badge/goreport-A%2B-brightgreen?style=flat-square">
|
||||
</a>
|
||||
<a href="https://gocover.io/github.com/gofiber/fiber">
|
||||
<img src="https://img.shields.io/badge/coverage-91%25-brightgreen?style=flat-square">
|
||||
</a>
|
||||
<a href="https://travis-ci.org/gofiber/fiber">
|
||||
<img src="https://img.shields.io/travis/gofiber/fiber/master.svg?label=linux&style=flat-square">
|
||||
</a>
|
||||
<a href="https://travis-ci.org/gofiber/fiber">
|
||||
<img src="https://img.shields.io/travis/gofiber/fiber/master.svg?label=windows&style=flat-square">
|
||||
</a>
|
||||
<a href="https://travis-ci.org/gofiber/fiber">
|
||||
<img src="https://img.shields.io/travis/gofiber/fiber/master.svg?label=osx&style=flat-square">
|
||||
</a>
|
||||
</p>
|
||||
<p align="center">
|
||||
<b>Fiber</b> adalah <b>web framework</b> yang terinspirasi dari <a href="https://github.com/expressjs/express">Express</a> yang berbasiskan <a href="https://github.com/valyala/fasthttp">Fasthttp</a>, HTTP engine paling <b>cepat</b> untuk <a href="https://golang.org/doc/">Go</a>. Dirancang untuk <b>mempermudah</b>, <b>mempercepat</b> pengembangan aplikasi dengan <b>alokasi memori nol-nya</b> serta <b>kinerja</b> yang selalu diperhatikan.
|
||||
</p>
|
||||
|
||||
## ⚡️ Cara Mulai
|
||||
|
||||
```go
|
||||
package main
|
||||
|
||||
import "github.com/gofiber/fiber"
|
||||
|
||||
func main() {
|
||||
app := fiber.New()
|
||||
|
||||
app.Get("/", func(c *fiber.Ctx) {
|
||||
c.Send("Hello, World!")
|
||||
})
|
||||
|
||||
app.Listen(3000)
|
||||
}
|
||||
```
|
||||
|
||||
## ⚙️ Instalasi
|
||||
|
||||
Pertama, [unduh](https://golang.org/dl/) dan instal Go di komputer anda. Versi `1.11` atau yang lebih tinggi diperlukan.
|
||||
|
||||
Instalasi dilakukkan dengan perintah [`go get`](https://golang.org/cmd/go/#hdr-Add_dependencies_to_current_module_and_install_them):
|
||||
|
||||
```bash
|
||||
go get -u github.com/gofiber/fiber/...
|
||||
```
|
||||
|
||||
## 🤖 Pengukuran Kinerja
|
||||
|
||||
Pengukuran ini dilakukan oleh [TechEmpower](https://github.com/TechEmpower/FrameworkBenchmarks) dan [Go Web](https://github.com/smallnest/go-web-framework-benchmark). Apabila anda ingin melihat hasil lengkapnya, silahkan kunjungi halaman [Wiki](https://fiber.wiki/benchmarks) kami.
|
||||
|
||||
<p float="left" align="middle">
|
||||
<img src="https://github.com/gofiber/docs/blob/master/.gitbook/assets//benchmark-pipeline.png" width="49%">
|
||||
<img src="https://github.com/gofiber/docs/blob/master/.gitbook/assets//benchmark_alloc.png" width="49%">
|
||||
</p>
|
||||
|
||||
## 🎯 Fitur
|
||||
|
||||
- Sistem [Routing](https://fiber.wiki/routing) yang solid
|
||||
- Serve [file statis](https://fiber.wiki/application#static)
|
||||
- [Kinerja](https://fiber.wiki/benchmarks) ekstrim
|
||||
- [Penggunaan memori](https://fiber.wiki/benchmarks) yang kecil
|
||||
- Cocok untuk [API](https://fiber.wiki/context)
|
||||
- Mendukung Middleware & [Next](https://fiber.wiki/context#next) seperti Express
|
||||
- Kembangkan aplikasi dengan [Cepat](https://dev.to/koddr/welcome-to-fiber-an-express-js-styled-fastest-web-framework-written-with-on-golang-497)
|
||||
- Tersedia di 10 bahasa lainnya
|
||||
- Dan masih banyak lagi, [kunjungi Fiber](https://fiber.wiki/)
|
||||
|
||||
## 💡 Filosofi
|
||||
|
||||
Bagi yang baru yang beralih dari [Node.js](https://nodejs.org/en/about/) ke [Go](https://golang.org/doc/) terkadang perlu waktu yang cukup lama sebelum mereka mampu membuat aplikasi web dengan Go. Fiber, sebagai **web framework** dirancang secara **minimalis** dan mengikuti filosofi dari **UNIX**, sehingga pengguna baru dengan cepat memasuki dunia Go dengan sambutan yang hangat dan dapat diandalkan.
|
||||
|
||||
Fiber terinspirasi dari Express, salah satu web framework paling terkenal di Internet. Kami menggabungkan **kemudahan** dari Express dan **kinerja luar biasa** dari Go. Apabila anda pernah membuat aplikasi dengan Node.js (_dengan Express atau yang lainnya_), maka banyak metode dan prinsip yang akan terasa **sangat umum** bagi anda.
|
||||
|
||||
Kami **mendengarkan** para pengguna di [GitHub Issues](https://github.com/gofiber/fiber/issues) (_dan berbagai platform lainnya_) untuk menciptakan web framework yang **cepat**, **fleksibel** dan **bersahabat** untuk berbagai macam keperluan, **tenggat waktu** dan **keahlian** para pengguna! Sama halnya seperti yang dilakukkan Express di dunia JavaScript.
|
||||
|
||||
## 👀 Contoh
|
||||
|
||||
Dibawah ini terdapat beberapa contoh penggunaan. Jika anda ingin contoh lainnya, silahkan kunjungi [Gudang resep](https://github.com/gofiber/recipes) atau kunjungi [Dokumentasi API](https://fiber.wiki) kami.
|
||||
|
||||
### Routing
|
||||
|
||||
```go
|
||||
func main() {
|
||||
app := fiber.New()
|
||||
|
||||
// GET /john
|
||||
app.Get("/:name", func(c *fiber.Ctx) {
|
||||
fmt.Printf("Hello %s!", c.Params("name"))
|
||||
// => Hello john!
|
||||
})
|
||||
|
||||
// GET /john
|
||||
app.Get("/:name/:age?", func(c *fiber.Ctx) {
|
||||
fmt.Printf("Name: %s, Age: %s", c.Params("name"), c.Params("age"))
|
||||
// => Name: john, Age:
|
||||
})
|
||||
|
||||
// GET /api/register
|
||||
app.Get("/api*", func(c *fiber.Ctx) {
|
||||
fmt.Printf("/api%s", c.Params("*"))
|
||||
// => /api/register
|
||||
})
|
||||
|
||||
app.Listen(3000)
|
||||
}
|
||||
```
|
||||
|
||||
### Menyajikan file statis
|
||||
https://fiber.wiki/application#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
|
||||
|
||||
app.Listen(3000)
|
||||
}
|
||||
```
|
||||
|
||||
### Middleware & Next
|
||||
https://fiber.wiki/routing#middleware
|
||||
https://fiber.wiki/context#next
|
||||
```go
|
||||
func main() {
|
||||
app := fiber.New()
|
||||
|
||||
// Match any route
|
||||
app.Use(func(c *fiber.Ctx) {
|
||||
fmt.Println("First middleware")
|
||||
c.Next()
|
||||
})
|
||||
|
||||
// Match all routes starting with /api
|
||||
app.Use("/api", func(c *fiber.Ctx) {
|
||||
fmt.Println("Second middleware")
|
||||
c.Next()
|
||||
})
|
||||
|
||||
// POST /api/register
|
||||
app.Post("/api/register", func(c *fiber.Ctx) {
|
||||
fmt.Println("Last middleware")
|
||||
c.Send("Hello, World!")
|
||||
})
|
||||
|
||||
app.Listen(3000)
|
||||
}
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>📚 Perlihatkan contoh lainnya</summary>
|
||||
|
||||
### Template engines
|
||||
https://fiber.wiki/application#settings
|
||||
https://fiber.wiki/context#render
|
||||
|
||||
Mendukung:
|
||||
- [html](https://golang.org/pkg/html/template/)
|
||||
- [amber](https://github.com/eknkc/amber)
|
||||
- [handlebars](https://github.com/aymerick/raymond)
|
||||
- [mustache](https://github.com/cbroglie/mustache)
|
||||
- [pug](https://github.com/Joker/jade)
|
||||
|
||||
```go
|
||||
func main() {
|
||||
// You can setup template engine before initiation app:
|
||||
app := fiber.New(&fiber.Settings{
|
||||
TemplateEngine: "mustache",
|
||||
TemplateFolder: "./views",
|
||||
TemplateExtension: ".tmpl",
|
||||
})
|
||||
|
||||
// OR after initiation app at any convenient location:
|
||||
app.Settings.TemplateEngine = "mustache"
|
||||
app.Settings.TemplateFolder = "./views"
|
||||
app.Settings.TemplateExtension = ".tmpl"
|
||||
|
||||
// And now, you can call template `./views/home.tmpl` like this:
|
||||
app.Get("/", func(c *fiber.Ctx) {
|
||||
c.Render("home", fiber.Map{
|
||||
"title": "Homepage",
|
||||
"year": 1999,
|
||||
})
|
||||
})
|
||||
|
||||
// ...
|
||||
}
|
||||
```
|
||||
|
||||
### Pengelompokan routes
|
||||
https://fiber.wiki/application#group
|
||||
```go
|
||||
func main() {
|
||||
app := fiber.New()
|
||||
|
||||
// Root API route
|
||||
api := app.Group("/api", cors()) // /api
|
||||
|
||||
// API v1 routes
|
||||
v1 := api.Group("/v1", mysql()) // /api/v1
|
||||
v1.Get("/list", handler) // /api/v1/list
|
||||
v1.Get("/user", handler) // /api/v1/user
|
||||
|
||||
// API v2 routes
|
||||
v2 := api.Group("/v2", mongodb()) // /api/v2
|
||||
v2.Get("/list", handler) // /api/v2/list
|
||||
v2.Get("/user", handler) // /api/v2/user
|
||||
|
||||
// ...
|
||||
}
|
||||
```
|
||||
|
||||
### Middleware logger
|
||||
https://fiber.wiki/middleware#logger
|
||||
```go
|
||||
import (
|
||||
"github.com/gofiber/fiber"
|
||||
"github.com/gofiber/fiber/middleware"
|
||||
)
|
||||
|
||||
func main() {
|
||||
app := fiber.New()
|
||||
|
||||
// If you want to change default Logger config
|
||||
loggerConfig := middleware.LoggerConfig{
|
||||
Format: "${time} - ${method} ${path}\n",
|
||||
TimeFormat: "Mon, 2 Jan 2006 15:04:05 MST",
|
||||
}
|
||||
|
||||
// Middleware for Logger with config
|
||||
app.Use(middleware.Logger(loggerConfig))
|
||||
|
||||
// ...
|
||||
}
|
||||
```
|
||||
|
||||
### Cross-Origin Resource Sharing (CORS)
|
||||
https://fiber.wiki/middleware#cors
|
||||
|
||||
[CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) adalah mekanisme yang menggunakan HTTP headers tambahan untuk memberitahu browser bahwa aplikasi/data kita hanya bisa diakses dari sumber (origin) tertentu, atau bisa juga diakses dari sumber berbeda. Aplikasi web memproses cross-origin HTTP request ketika request-nya berasal dari sumber berbeda (domain, protokol dan port).
|
||||
|
||||
```go
|
||||
import (
|
||||
"github.com/gofiber/fiber"
|
||||
"github.com/gofiber/fiber/middleware"
|
||||
)
|
||||
|
||||
func main() {
|
||||
app := fiber.New()
|
||||
|
||||
// Connect CORS for each route as middleware
|
||||
app.Use(middleware.CORS())
|
||||
|
||||
app.Get("/", func(c *fiber.Ctx) {
|
||||
c.Send("CORS is enabled!")
|
||||
})
|
||||
|
||||
app.Listen(3000)
|
||||
}
|
||||
```
|
||||
|
||||
Setelah diaktifkan, bisa dicoba dengan cara memberi sumber/domain berbeda di header `Origin`:
|
||||
|
||||
```bash
|
||||
curl -H "Origin: http://example.com" --verbose http://localhost:3000
|
||||
```
|
||||
|
||||
### Respon 404
|
||||
|
||||
```go
|
||||
func main() {
|
||||
app := fiber.New()
|
||||
|
||||
app.Static("/public")
|
||||
|
||||
app.Get("/demo", func(c *fiber.Ctx) {
|
||||
c.Send("This is a demo!")
|
||||
})
|
||||
|
||||
app.Post("/register", func(c *fiber.Ctx) {
|
||||
c.Send("Welcome!")
|
||||
})
|
||||
|
||||
// Last middleware to match anything
|
||||
app.Use(func(c *fiber.Ctx) {
|
||||
c.SendStatus(404) // => 404 "Not Found"
|
||||
})
|
||||
|
||||
app.Listen(3000)
|
||||
}
|
||||
```
|
||||
|
||||
### Respon JSON
|
||||
https://fiber.wiki/context#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) {
|
||||
c.JSON(&User{"John", 20})
|
||||
// {"name":"John", "age":20}
|
||||
})
|
||||
|
||||
app.Get("/json", func(c *fiber.Ctx) {
|
||||
c.JSON(&fiber.Map{
|
||||
"success": true,
|
||||
"message": "Hi John!",
|
||||
})
|
||||
// {"success":true, "message":"Hi John!"}
|
||||
})
|
||||
|
||||
app.Listen(3000)
|
||||
}
|
||||
```
|
||||
|
||||
### Dukungan WebSocket
|
||||
https://fiber.wiki/application#websocket
|
||||
```go
|
||||
func main() {
|
||||
app := fiber.New()
|
||||
|
||||
app.WebSocket("/ws", func(c *fiber.Conn) {
|
||||
for {
|
||||
mt, msg, err := c.ReadMessage()
|
||||
if err != nil {
|
||||
log.Println("read:", err)
|
||||
break
|
||||
}
|
||||
|
||||
log.Printf("recovery: %s", msg)
|
||||
|
||||
err = c.WriteMessage(mt, msg)
|
||||
if err != nil {
|
||||
log.Println("write:", err)
|
||||
break
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
// Listen on ws://localhost:3000/ws
|
||||
app.Listen(3000)
|
||||
}
|
||||
```
|
||||
|
||||
### Recover middleware
|
||||
https://fiber.wiki/middleware#recover
|
||||
```go
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/gofiber/fiber"
|
||||
"github.com/gofiber/fiber/middleware"
|
||||
)
|
||||
|
||||
func main() {
|
||||
app := fiber.New()
|
||||
|
||||
app.Use(middleware.Recover(func(c *fiber.Ctx, err error) {
|
||||
log.Println(err) // "Something went wrong!"
|
||||
c.SendStatus(500) // Internal Server Error
|
||||
})))
|
||||
|
||||
app.Get("/", func(c *fiber.Ctx) {
|
||||
panic("Something went wrong!")
|
||||
})
|
||||
|
||||
app.Listen(3000)
|
||||
}
|
||||
```
|
||||
</details>
|
||||
|
||||
## 💬 Media
|
||||
|
||||
- [Welcome to Fiber — an Express.js styled web framework written in Go with ❤️](https://dev.to/koddr/welcome-to-fiber-an-express-js-styled-fastest-web-framework-written-with-on-golang-497) (_by [Vic Shóstak](https://github.com/koddr), 03 Feb 2020_)
|
||||
- [Fiber release v1.7 is out now! 🎉 What's new and is he still fast, flexible and friendly?](https://dev.to/koddr/fiber-v2-is-out-now-what-s-new-and-is-he-still-fast-flexible-and-friendly-3ipf) (_by [Vic Shóstak](https://github.com/koddr), 21 Feb 2020_)
|
||||
|
||||
## 👍 Berkontribusi
|
||||
|
||||
Apabila anda ingin mengucapkan **terima kasih** dan/atau mendukung pengembangan `Fiber`:
|
||||
|
||||
1. Berikan bintang atau [GitHub Star](https://github.com/gofiber/fiber/stargazers) ke proyek ini.
|
||||
2. Bagikan [di Twitter anda](https://twitter.com/intent/tweet?text=%F0%9F%9A%80%20Fiber%20%E2%80%94%20is%20an%20Express.js%20inspired%20web%20framework%20build%20on%20Fasthttp%20for%20%23Go%20https%3A%2F%2Fgithub.com%2Fgofiber%2Ffiber).
|
||||
3. Buat ulasan atau tutorial di [Medium](https://medium.com/), [Dev.to](https://dev.to/) atau blog pribadi anda.
|
||||
4. Bantu kami menerjemahkan `README` ini ke bahasa lainnya.
|
||||
|
||||
|
||||
## ☕ Para Pendukung
|
||||
|
||||
<a href="https://www.buymeacoffee.com/fenny" target="_blank">
|
||||
<img src="https://github.com/gofiber/docs/blob/master/static/buy-morning-coffee-3x.gif" alt="Buy Me A Coffee" height="100" >
|
||||
</a>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/bihe">
|
||||
<img src="https://avatars1.githubusercontent.com/u/635852?s=460&v=4" width="100px"></br>
|
||||
<sub><b>HenrikBinggl</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/koddr">
|
||||
<img src="https://avatars0.githubusercontent.com/u/11155743?s=460&v=4" width="100px"></br>
|
||||
<sub><b>Vic Shóstak</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/MarvinJWendt">
|
||||
<img src="https://avatars1.githubusercontent.com/u/31022056?s=460&v=4" width="100px"></br>
|
||||
<sub><b>MarvinJWendt</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/toishy">
|
||||
<img src="https://avatars1.githubusercontent.com/u/31921460?s=460&v=4" width="100px"></br>
|
||||
<sub><b>ToishY</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/gofiber/fiber">
|
||||
<img src="https://i.stack.imgur.com/frlIf.png" width="100px"></br>
|
||||
<sub><b>JustDave</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## ⭐️ Bintang
|
||||
|
||||
<a href="https://starchart.cc/gofiber/fiber" rel="nofollow"><img src="https://starchart.cc/gofiber/fiber.svg" alt="Stars over time" style="max-width:100%;"></a>
|
||||
|
||||
## ⚠️ Lisensi
|
||||
|
||||
`Fiber` adalah perangkat lunak gratis dengan sumber terbuka berlisensi [MIT License](https://github.com/gofiber/fiber/blob/master/LICENSE).
|
||||
|
||||
[](https://sourcerer.io/fame/Fenny/gofiber/fiber/links/0)[](https://sourcerer.io/fame/Fenny/gofiber/fiber/links/1)[](https://sourcerer.io/fame/Fenny/gofiber/fiber/links/2)[](https://sourcerer.io/fame/Fenny/gofiber/fiber/links/3)[](https://sourcerer.io/fame/Fenny/gofiber/fiber/links/4)[](https://sourcerer.io/fame/Fenny/gofiber/fiber/links/5)[](https://sourcerer.io/fame/Fenny/gofiber/fiber/links/6)[](https://sourcerer.io/fame/Fenny/gofiber/fiber/links/7)
|
|
@ -4,34 +4,37 @@
|
|||
</a>
|
||||
<br>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/gb.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/en.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ru.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/ru.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ru.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_es.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/es.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/es.svg">
|
||||
</a>
|
||||
<!--<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ja.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/jp.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/jp.svg">
|
||||
</a>-->
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_pt.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/pt.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/pt.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_zh-CN.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/cn.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ch.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_de.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/de.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/de.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ko.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/kr.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ko.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_fr.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/fr.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/fr.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_tr.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/tr.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/tr.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_id.md">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/id.svg">
|
||||
</a>
|
||||
<br><br>
|
||||
<a href="https://github.com/gofiber/fiber/releases">
|
||||
|
@ -453,12 +456,6 @@ func main() {
|
|||
</a>
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/gofiber/fiber">
|
||||
<img src="https://i.stack.imgur.com/frlIf.png" width="100px"></br>
|
||||
<sub><b>JustDave</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/bihe">
|
||||
<img src="https://avatars1.githubusercontent.com/u/635852?s=460&v=4" width="100px"></br>
|
||||
|
@ -483,6 +480,12 @@ func main() {
|
|||
<sub><b>ToishY</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/gofiber/fiber">
|
||||
<img src="https://i.stack.imgur.com/frlIf.png" width="100px"></br>
|
||||
<sub><b>JustDave</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
|
|
@ -4,34 +4,37 @@
|
|||
</a>
|
||||
<br>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/gb.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/en.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ru.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/ru.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ru.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_es.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/es.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/es.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ja.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/jp.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/jp.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_pt.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/pt.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/pt.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_zh-CN.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/cn.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ch.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_de.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/de.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/de.svg">
|
||||
</a>
|
||||
<!--<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ko.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/kr.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ko.svg">
|
||||
</a>-->
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_fr.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/fr.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/fr.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_tr.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/tr.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/tr.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_id.md">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/id.svg">
|
||||
</a>
|
||||
<br><br>
|
||||
<a href="https://github.com/gofiber/fiber/releases">
|
||||
|
@ -447,12 +450,6 @@ func main() {
|
|||
</a>
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/gofiber/fiber">
|
||||
<img src="https://i.stack.imgur.com/frlIf.png" width="100px"></br>
|
||||
<sub><b>JustDave</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/bihe">
|
||||
<img src="https://avatars1.githubusercontent.com/u/635852?s=460&v=4" width="100px"></br>
|
||||
|
@ -477,6 +474,12 @@ func main() {
|
|||
<sub><b>ToishY</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/gofiber/fiber">
|
||||
<img src="https://i.stack.imgur.com/frlIf.png" width="100px"></br>
|
||||
<sub><b>JustDave</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
|
|
@ -4,34 +4,37 @@
|
|||
</a>
|
||||
<br>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/gb.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/en.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ru.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/ru.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ru.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_es.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/es.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/es.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ja.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/jp.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/jp.svg">
|
||||
</a>
|
||||
<!--<a href="https://github.com/gofiber/fiber/blob/master/.github/README_pt.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/pt.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/pt.svg">
|
||||
</a>-->
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_zh-CN.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/cn.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ch.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_de.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/de.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/de.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ko.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/kr.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ko.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_fr.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/fr.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/fr.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_tr.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/tr.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/tr.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_id.md">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/id.svg">
|
||||
</a>
|
||||
<br><br>
|
||||
<a href="https://github.com/gofiber/fiber/releases">
|
||||
|
@ -447,12 +450,6 @@ Se você quer **agradecer** e/ou apoiar o desenvolvimento ativo do `Fiber`:
|
|||
</a>
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/gofiber/fiber">
|
||||
<img src="https://i.stack.imgur.com/frlIf.png" width="100px"></br>
|
||||
<sub><b>JustDave</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/bihe">
|
||||
<img src="https://avatars1.githubusercontent.com/u/635852?s=460&v=4" width="100px"></br>
|
||||
|
@ -477,6 +474,12 @@ Se você quer **agradecer** e/ou apoiar o desenvolvimento ativo do `Fiber`:
|
|||
<sub><b>ToishY</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/gofiber/fiber">
|
||||
<img src="https://i.stack.imgur.com/frlIf.png" width="100px"></br>
|
||||
<sub><b>JustDave</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
|
|
@ -4,34 +4,37 @@
|
|||
</a>
|
||||
<br>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/gb.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/en.svg">
|
||||
</a>
|
||||
<!--<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ru.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/ru.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ru.svg">
|
||||
</a>-->
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_es.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/es.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/es.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ja.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/jp.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/jp.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_pt.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/pt.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/pt.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_zh-CN.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/cn.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ch.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_de.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/de.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/de.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ko.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/kr.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ko.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_fr.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/fr.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/fr.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_tr.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/tr.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/tr.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_id.md">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/id.svg">
|
||||
</a>
|
||||
<br><br>
|
||||
<a href="https://github.com/gofiber/fiber/releases">
|
||||
|
@ -126,6 +129,12 @@ Fiber **вдохновлен** Express, самым популярным веб
|
|||
|
||||
### Роутинг
|
||||
|
||||
Документация:
|
||||
|
||||
- 📖 https://fiber.wiki/#basic-routing
|
||||
|
||||
Пример:
|
||||
|
||||
```go
|
||||
func main() {
|
||||
app := fiber.New()
|
||||
|
@ -154,6 +163,12 @@ func main() {
|
|||
|
||||
### Обслуживание статичных файлов
|
||||
|
||||
Документация:
|
||||
|
||||
- 📖 https://fiber.wiki/application#static
|
||||
|
||||
Пример:
|
||||
|
||||
```go
|
||||
func main() {
|
||||
app := fiber.New()
|
||||
|
@ -175,6 +190,13 @@ func main() {
|
|||
|
||||
### Middleware и функция Next
|
||||
|
||||
Документация:
|
||||
|
||||
- 📖 https://fiber.wiki/routing#middleware
|
||||
- 📖 https://fiber.wiki/context#next
|
||||
|
||||
Пример:
|
||||
|
||||
```go
|
||||
func main() {
|
||||
app := fiber.New()
|
||||
|
@ -206,6 +228,11 @@ func main() {
|
|||
|
||||
### Работа с шаблонами
|
||||
|
||||
Документация:
|
||||
|
||||
- 📖 https://fiber.wiki/application#settings
|
||||
- 📖 https://fiber.wiki/context#render
|
||||
|
||||
Поддерживаемые движки шаблонов:
|
||||
|
||||
- [html](https://golang.org/pkg/html/template/)
|
||||
|
@ -214,6 +241,8 @@ func main() {
|
|||
- [mustache](https://github.com/cbroglie/mustache)
|
||||
- [pug](https://github.com/Joker/jade)
|
||||
|
||||
Пример:
|
||||
|
||||
```go
|
||||
func main() {
|
||||
// Вы можете настроить нужный движок для шаблонов
|
||||
|
@ -244,6 +273,12 @@ func main() {
|
|||
|
||||
### Группировка роутов в цепочки
|
||||
|
||||
Документация:
|
||||
|
||||
- 📖 https://fiber.wiki/application#group
|
||||
|
||||
Пример:
|
||||
|
||||
```go
|
||||
func main() {
|
||||
app := fiber.New()
|
||||
|
@ -267,6 +302,12 @@ func main() {
|
|||
|
||||
### Встроенный логгер
|
||||
|
||||
Документация:
|
||||
|
||||
- 📖 https://fiber.wiki/middleware#logger
|
||||
|
||||
Пример:
|
||||
|
||||
```go
|
||||
import (
|
||||
"github.com/gofiber/fiber"
|
||||
|
@ -291,7 +332,13 @@ func main() {
|
|||
|
||||
### Cross-Origin Resource Sharing (CORS)
|
||||
|
||||
[CORS](https://developer.mozilla.org/ru/docs/Web/HTTP/CORS) — это механизм, использующий дополнительные HTTP-заголовки, чтобы дать возможность агенту пользователя получать разрешения на доступ к выбранным ресурсам с сервера на источнике (домене), отличном от того, что сайт использует в данный момент.
|
||||
Документация:
|
||||
|
||||
- 📖 https://fiber.wiki/middleware#cors
|
||||
|
||||
> [CORS](https://developer.mozilla.org/ru/docs/Web/HTTP/CORS) — это механизм, использующий дополнительные HTTP-заголовки, чтобы дать возможность агенту пользователя получать разрешения на доступ к выбранным ресурсам с сервера на источнике (домене), отличном от того, что сайт использует в данный момент.
|
||||
|
||||
Пример:
|
||||
|
||||
```go
|
||||
import (
|
||||
|
@ -321,6 +368,12 @@ curl -H "Origin: http://example.com" --verbose http://localhost:3000
|
|||
|
||||
### Обработка 404 ошибки
|
||||
|
||||
Документация:
|
||||
|
||||
- 📖 https://fiber.wiki/application#http-methods
|
||||
|
||||
Пример:
|
||||
|
||||
```go
|
||||
func main() {
|
||||
app := fiber.New()
|
||||
|
@ -346,6 +399,12 @@ func main() {
|
|||
|
||||
### Ответ в формате JSON
|
||||
|
||||
Документация:
|
||||
|
||||
- 📖 https://fiber.wiki/context#json
|
||||
|
||||
Пример:
|
||||
|
||||
```go
|
||||
func main() {
|
||||
app := fiber.New()
|
||||
|
@ -367,6 +426,12 @@ func main() {
|
|||
|
||||
### Поддержка WebSocket
|
||||
|
||||
Документация:
|
||||
|
||||
- 📖 https://fiber.wiki/application#websocket
|
||||
|
||||
Пример:
|
||||
|
||||
```go
|
||||
func main() {
|
||||
app := fiber.New()
|
||||
|
@ -398,6 +463,12 @@ func main() {
|
|||
|
||||
### Восстановление работы после `panic`
|
||||
|
||||
Документация:
|
||||
|
||||
- 📖 https://fiber.wiki/middleware#recover
|
||||
|
||||
Пример:
|
||||
|
||||
```go
|
||||
func main() {
|
||||
app := fiber.New()
|
||||
|
@ -421,6 +492,7 @@ func main() {
|
|||
|
||||
- [Welcome to Fiber — an Express.js styled web framework written in Go with ❤️](https://dev.to/koddr/welcome-to-fiber-an-express-js-styled-fastest-web-framework-written-with-on-golang-497) (_by [Vic Shóstak](https://github.com/koddr), 03 Feb 2020_)
|
||||
- [Fiber release v1.7 is out now! 🎉 What's new and is he still fast, flexible and friendly?](https://dev.to/koddr/fiber-v2-is-out-now-what-s-new-and-is-he-still-fast-flexible-and-friendly-3ipf) (_by [Vic Shóstak](https://github.com/koddr), 21 Feb 2020_)
|
||||
- [🚀 Fiber v1.8. What's new, updated and re-thinked?](https://dev.to/koddr/fiber-v1-8-what-s-new-updated-and-re-thinked-339h) (_by [Vic Shóstak](https://github.com/koddr), 03 Mar 2020_)
|
||||
|
||||
## 👍 Помощь проекту
|
||||
|
||||
|
@ -438,12 +510,6 @@ func main() {
|
|||
</a>
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/gofiber/fiber">
|
||||
<img src="https://i.stack.imgur.com/frlIf.png" width="100px"></br>
|
||||
<sub><b>JustDave</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/bihe">
|
||||
<img src="https://avatars1.githubusercontent.com/u/635852?s=460&v=4" width="100px"></br>
|
||||
|
@ -468,6 +534,12 @@ func main() {
|
|||
<sub><b>ToishY</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/gofiber/fiber">
|
||||
<img src="https://i.stack.imgur.com/frlIf.png" width="100px"></br>
|
||||
<sub><b>JustDave</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
|
|
@ -4,31 +4,37 @@
|
|||
</a>
|
||||
<br>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/gb.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/en.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ru.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/ru.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ru.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_es.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/es.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/es.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ja.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/jp.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/jp.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_pt.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/pt.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/pt.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_zh-CN.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/cn.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ch.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_de.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/de.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/de.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ko.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/kr.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ko.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_fr.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/fr.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/fr.svg">
|
||||
</a>
|
||||
<!--<a href="https://github.com/gofiber/fiber/blob/master/.github/README_tr.md">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/tr.svg">
|
||||
</a>-->
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_id.md">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/id.svg">
|
||||
</a>
|
||||
<br><br>
|
||||
<a href="https://github.com/gofiber/fiber/releases">
|
||||
|
@ -446,12 +452,6 @@ Eğer **teşekkür etmek** ve/veya `Fiber` ın aktif geliştirilmesini destekle
|
|||
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/gofiber/fiber">
|
||||
<img src="https://i.stack.imgur.com/frlIf.png" width="100px"></br>
|
||||
<sub><b>JustDave</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/bihe">
|
||||
<img src="https://avatars1.githubusercontent.com/u/635852?s=460&v=4" width="100px"></br>
|
||||
|
@ -476,6 +476,12 @@ Eğer **teşekkür etmek** ve/veya `Fiber` ın aktif geliştirilmesini destekle
|
|||
<sub><b>ToishY</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/gofiber/fiber">
|
||||
<img src="https://i.stack.imgur.com/frlIf.png" width="100px"></br>
|
||||
<sub><b>JustDave</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
|
|
@ -4,31 +4,37 @@
|
|||
</a>
|
||||
<br>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/gb.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/en.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ru.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/ru.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ru.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_es.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/es.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/es.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ja.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/jp.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/jp.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_pt.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/pt.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/pt.svg">
|
||||
</a>
|
||||
<!--<a href="https://github.com/gofiber/fiber/blob/master/.github/README_zh-CN.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/cn.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ch.svg">
|
||||
</a>-->
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_de.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/de.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/de.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_ko.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/kr.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/ko.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_fr.md">
|
||||
<img height="20px" src="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/4x3/fr.svg">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/fr.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_tr.md">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/tr.svg">
|
||||
</a>
|
||||
<a href="https://github.com/gofiber/fiber/blob/master/.github/README_id.md">
|
||||
<img height="20px" src="https://github.com/gofiber/docs/blob/master/static/flags/id.svg">
|
||||
</a>
|
||||
<br><br>
|
||||
<a href="https://github.com/gofiber/fiber/releases">
|
||||
|
@ -445,12 +451,6 @@ func main() {
|
|||
</a>
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/gofiber/fiber">
|
||||
<img src="https://i.stack.imgur.com/frlIf.png" width="100px"></br>
|
||||
<sub><b>JustDave</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/bihe">
|
||||
<img src="https://avatars1.githubusercontent.com/u/635852?s=460&v=4" width="100px"></br>
|
||||
|
@ -475,6 +475,12 @@ func main() {
|
|||
<sub><b>ToishY</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/gofiber/fiber">
|
||||
<img src="https://i.stack.imgur.com/frlIf.png" width="100px"></br>
|
||||
<sub><b>JustDave</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
|
2
LICENSE
2
LICENSE
|
@ -1,6 +1,6 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2019-present Fenny and Fiber Contributers
|
||||
Copyright (c) 2019-present Fenny and Fiber Contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
6
app.go
6
app.go
|
@ -68,10 +68,10 @@ type (
|
|||
func New(settings ...*Settings) *App {
|
||||
var prefork, child bool
|
||||
// Loop trought args without using flag.Parse()
|
||||
for i := range os.Args[1:] {
|
||||
if os.Args[i] == "-prefork" {
|
||||
for _, v := range os.Args[1:] {
|
||||
if v == "-prefork" {
|
||||
prefork = true
|
||||
} else if os.Args[i] == "-child" {
|
||||
} else if v == "-child" {
|
||||
child = true
|
||||
}
|
||||
}
|
||||
|
|
4
go.mod
4
go.mod
|
@ -8,6 +8,10 @@ require (
|
|||
github.com/google/uuid v1.1.1
|
||||
github.com/gorilla/schema v1.1.0
|
||||
github.com/json-iterator/go v1.1.9
|
||||
github.com/klauspost/compress v1.10.2 // indirect
|
||||
github.com/klauspost/cpuid v1.2.3 // indirect
|
||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
||||
github.com/modern-go/reflect2 v1.0.1 // indirect
|
||||
github.com/valyala/fasthttp v1.9.0
|
||||
github.com/valyala/fasttemplate v1.1.0
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue