forked from gin-gonic/gin
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore: upgrade golangci-lint and fix golangci-lint error (gin-gonic#3278
- Loading branch information
Showing
12 changed files
with
74 additions
and
60 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -21,7 +21,7 @@ jobs: | |
- name: Setup golangci-lint | ||
uses: golangci/[email protected] | ||
with: | ||
version: v1.45.0 | ||
version: v1.48.0 | ||
args: --verbose | ||
test: | ||
needs: lint | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -153,9 +153,10 @@ func (c *Context) Handler() HandlerFunc { | |
|
||
// FullPath returns a matched route full path. For not found routes | ||
// returns an empty string. | ||
// router.GET("/user/:id", func(c *gin.Context) { | ||
// c.FullPath() == "/user/:id" // true | ||
// }) | ||
// | ||
// router.GET("/user/:id", func(c *gin.Context) { | ||
// c.FullPath() == "/user/:id" // true | ||
// }) | ||
func (c *Context) FullPath() string { | ||
return c.fullPath | ||
} | ||
|
@@ -382,10 +383,11 @@ func (c *Context) GetStringMapStringSlice(key string) (smss map[string][]string) | |
|
||
// Param returns the value of the URL param. | ||
// It is a shortcut for c.Params.ByName(key) | ||
// router.GET("/user/:id", func(c *gin.Context) { | ||
// // a GET request to /user/john | ||
// id := c.Param("id") // id == "john" | ||
// }) | ||
// | ||
// router.GET("/user/:id", func(c *gin.Context) { | ||
// // a GET request to /user/john | ||
// id := c.Param("id") // id == "john" | ||
// }) | ||
func (c *Context) Param(key string) string { | ||
return c.Params.ByName(key) | ||
} | ||
|
@@ -402,11 +404,12 @@ func (c *Context) AddParam(key, value string) { | |
// Query returns the keyed url query value if it exists, | ||
// otherwise it returns an empty string `("")`. | ||
// It is shortcut for `c.Request.URL.Query().Get(key)` | ||
// GET /path?id=1234&name=Manu&value= | ||
// c.Query("id") == "1234" | ||
// c.Query("name") == "Manu" | ||
// c.Query("value") == "" | ||
// c.Query("wtf") == "" | ||
// | ||
// GET /path?id=1234&name=Manu&value= | ||
// c.Query("id") == "1234" | ||
// c.Query("name") == "Manu" | ||
// c.Query("value") == "" | ||
// c.Query("wtf") == "" | ||
func (c *Context) Query(key string) (value string) { | ||
value, _ = c.GetQuery(key) | ||
return | ||
|
@@ -415,10 +418,11 @@ func (c *Context) Query(key string) (value string) { | |
// DefaultQuery returns the keyed url query value if it exists, | ||
// otherwise it returns the specified defaultValue string. | ||
// See: Query() and GetQuery() for further information. | ||
// GET /?name=Manu&lastname= | ||
// c.DefaultQuery("name", "unknown") == "Manu" | ||
// c.DefaultQuery("id", "none") == "none" | ||
// c.DefaultQuery("lastname", "none") == "" | ||
// | ||
// GET /?name=Manu&lastname= | ||
// c.DefaultQuery("name", "unknown") == "Manu" | ||
// c.DefaultQuery("id", "none") == "none" | ||
// c.DefaultQuery("lastname", "none") == "" | ||
func (c *Context) DefaultQuery(key, defaultValue string) string { | ||
if value, ok := c.GetQuery(key); ok { | ||
return value | ||
|
@@ -430,10 +434,11 @@ func (c *Context) DefaultQuery(key, defaultValue string) string { | |
// if it exists `(value, true)` (even when the value is an empty string), | ||
// otherwise it returns `("", false)`. | ||
// It is shortcut for `c.Request.URL.Query().Get(key)` | ||
// GET /?name=Manu&lastname= | ||
// ("Manu", true) == c.GetQuery("name") | ||
// ("", false) == c.GetQuery("id") | ||
// ("", true) == c.GetQuery("lastname") | ||
// | ||
// GET /?name=Manu&lastname= | ||
// ("Manu", true) == c.GetQuery("name") | ||
// ("", false) == c.GetQuery("id") | ||
// ("", true) == c.GetQuery("lastname") | ||
func (c *Context) GetQuery(key string) (string, bool) { | ||
if values, ok := c.GetQueryArray(key); ok { | ||
return values[0], ok | ||
|
@@ -500,9 +505,10 @@ func (c *Context) DefaultPostForm(key, defaultValue string) string { | |
// form or multipart form when it exists `(value, true)` (even when the value is an empty string), | ||
// otherwise it returns ("", false). | ||
// For example, during a PATCH request to update the user's email: | ||
// [email protected] --> ("[email protected]", true) := GetPostForm("email") // set email to "[email protected]" | ||
// email= --> ("", true) := GetPostForm("email") // set email to "" | ||
// --> ("", false) := GetPostForm("email") // do nothing with email | ||
// | ||
// [email protected] --> ("[email protected]", true) := GetPostForm("email") // set email to "[email protected]" | ||
// email= --> ("", true) := GetPostForm("email") // set email to "" | ||
// --> ("", false) := GetPostForm("email") // do nothing with email | ||
func (c *Context) GetPostForm(key string) (string, bool) { | ||
if values, ok := c.GetPostFormArray(key); ok { | ||
return values[0], ok | ||
|
@@ -607,8 +613,10 @@ func (c *Context) SaveUploadedFile(file *multipart.FileHeader, dst string) error | |
|
||
// Bind checks the Method and Content-Type to select a binding engine automatically, | ||
// Depending on the "Content-Type" header different bindings are used, for example: | ||
// "application/json" --> JSON binding | ||
// "application/xml" --> XML binding | ||
// | ||
// "application/json" --> JSON binding | ||
// "application/xml" --> XML binding | ||
// | ||
// It parses the request's body as JSON if Content-Type == "application/json" using JSON or XML as a JSON input. | ||
// It decodes the json payload into the struct specified as a pointer. | ||
// It writes a 400 error and sets Content-Type header "text/plain" in the response if input is not valid. | ||
|
@@ -651,7 +659,7 @@ func (c *Context) BindHeader(obj any) error { | |
// It will abort the request with HTTP 400 if any error occurs. | ||
func (c *Context) BindUri(obj any) error { | ||
if err := c.ShouldBindUri(obj); err != nil { | ||
c.AbortWithError(http.StatusBadRequest, err).SetType(ErrorTypeBind) // nolint: errcheck | ||
c.AbortWithError(http.StatusBadRequest, err).SetType(ErrorTypeBind) //nolint: errcheck | ||
return err | ||
} | ||
return nil | ||
|
@@ -662,16 +670,18 @@ func (c *Context) BindUri(obj any) error { | |
// See the binding package. | ||
func (c *Context) MustBindWith(obj any, b binding.Binding) error { | ||
if err := c.ShouldBindWith(obj, b); err != nil { | ||
c.AbortWithError(http.StatusBadRequest, err).SetType(ErrorTypeBind) // nolint: errcheck | ||
c.AbortWithError(http.StatusBadRequest, err).SetType(ErrorTypeBind) //nolint: errcheck | ||
return err | ||
} | ||
return nil | ||
} | ||
|
||
// ShouldBind checks the Method and Content-Type to select a binding engine automatically, | ||
// Depending on the "Content-Type" header different bindings are used, for example: | ||
// "application/json" --> JSON binding | ||
// "application/xml" --> XML binding | ||
// | ||
// "application/json" --> JSON binding | ||
// "application/xml" --> XML binding | ||
// | ||
// It parses the request's body as JSON if Content-Type == "application/json" using JSON or XML as a JSON input. | ||
// It decodes the json payload into the struct specified as a pointer. | ||
// Like c.Bind() but this method does not set the response status code to 400 or abort if input is not valid. | ||
|
@@ -1112,7 +1122,7 @@ func (c *Context) Negotiate(code int, config Negotiate) { | |
c.TOML(code, data) | ||
|
||
default: | ||
c.AbortWithError(http.StatusNotAcceptable, errors.New("the accepted formats are not offered by the server")) // nolint: errcheck | ||
c.AbortWithError(http.StatusNotAcceptable, errors.New("the accepted formats are not offered by the server")) //nolint: errcheck | ||
} | ||
} | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters