8 changed files with 82 additions and 7 deletions
-
13api/v1/users/users.go
-
2cmd/root.go
-
9cmd/server/server.go
-
25lib/common/common.go
-
1lib/config/config.go
-
26lib/middlewares/requestid.go
-
12lib/middlewares/versionheader.go
-
1main.go
@ -0,0 +1,26 @@ |
|||||
|
package middlewares |
||||
|
|
||||
|
import ( |
||||
|
"fmt" |
||||
|
|
||||
|
"git.devices.local/mawas/golang-api-skeleton/lib/common" |
||||
|
"github.com/gin-gonic/gin" |
||||
|
"github.com/spf13/viper" |
||||
|
) |
||||
|
|
||||
|
func RequestID() gin.HandlerFunc { |
||||
|
return func(c *gin.Context) { |
||||
|
requestID := c.Request.Header.Get(viper.GetString("application.requestIDHeaderName")) |
||||
|
if requestID == "" { |
||||
|
id, err := common.NewGUID() |
||||
|
if err != nil { |
||||
|
// FIXME log request id creation error
|
||||
|
fmt.Println("ERROR request id creation in middleware") |
||||
|
} |
||||
|
requestID = id.String() |
||||
|
} |
||||
|
c.Set("requestID", requestID) |
||||
|
c.Writer.Header().Set("X-Request-Id", requestID) |
||||
|
c.Next() |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,12 @@ |
|||||
|
package middlewares |
||||
|
|
||||
|
import ( |
||||
|
"github.com/gin-gonic/gin" |
||||
|
) |
||||
|
|
||||
|
func VersionHeader(version string) gin.HandlerFunc { |
||||
|
return func(c *gin.Context) { |
||||
|
c.Writer.Header().Set("X-Api-Version", version) |
||||
|
c.Next() |
||||
|
} |
||||
|
} |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue