update docs

This commit is contained in:
thinkerou 2018-08-31 17:17:36 +08:00
parent 452a911769
commit c27057c03a

View File

@ -8,8 +8,8 @@ The middleware has two parts:
- part two is what executes on every request. For example, a database middleware you simply inject your "global" database object into the context. Once it's inside the context, you can retrieve it from within other middlewares and your handler furnction.
```go
func funcName(params string) gin.HandlerFunc {
```go
func funcName(params string) gin.HandlerFunc {
// <---
// This is part one
// --->
@ -26,8 +26,8 @@ The middleware has two parts:
c.Set("TestVar", params)
c.Next()
}
}
```
}
```
## Execution process
@ -41,8 +41,6 @@ func main() {
router.GET("/rest/n/api/*some", mid1(), mid2(), handler)
fmt.Println("end")
router.Run()
}
@ -81,3 +79,59 @@ func mid2() gin.HandlerFunc {
}
}
```
According to [Consitituent part](#consitituent-part) said, when we run the gin process, **part one** will execute firstly and will print the follow information:
```go
globalMiddleware...1
mid1...1
mid2...1
```
And init order are:
```go
globalMiddleware...1
|
v
mid1...1
|
v
mid2...1
```
When we curl one request `curl -v localhost:8080/rest/n/api/some`, **part two** will execute their middleware and output the following information:
```go
globalMiddleware...2
mid1...2
mid2...2
exec handler.
mid2...3
mid1...3
globalMiddleware...3
```
In other words, run order are:
```go
globalMiddleware...2
|
v
mid1...2
|
v
mid2...2
|
v
exec handler.
|
v
mid2...3
|
v
mid1...3
|
v
globalMiddleware...3
```