From e899771392ecf35de8ce10a030ed8fed2207e9cb Mon Sep 17 00:00:00 2001
From: Alexander Melentyev
<55826637+alexander-melentyev@users.noreply.github.com>
Date: Wed, 27 Jan 2021 04:58:21 +0300
Subject: [PATCH 1/3] chore: Deleted spaces (#2622)
---
.travis.yml | 2 +-
AUTHORS.md | 2 +-
BENCHMARKS.md | 8 ++++----
CHANGELOG.md | 10 +++++-----
CONTRIBUTING.md | 2 +-
README.md | 52 ++++++++++++++++++++++++-------------------------
6 files changed, 38 insertions(+), 38 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index 0795665d..8ebae712 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -7,7 +7,7 @@ matrix:
env: GO111MODULE=on
- go: 1.13.x
- go: 1.13.x
- env:
+ env:
- TESTTAGS=nomsgpack
- go: 1.14.x
- go: 1.14.x
diff --git a/AUTHORS.md b/AUTHORS.md
index dda19bcf..a477611b 100644
--- a/AUTHORS.md
+++ b/AUTHORS.md
@@ -156,7 +156,7 @@ People and companies, who have contributed, in alphabetical order.
- Fix variadic parameter in the flexible render API
- Fix Corrupted plain render
- Add Pluggable View Renderer Example
-
+
**@msemenistyi (Mykyta Semenistyi)**
- update Readme.md. Add code to String method
diff --git a/BENCHMARKS.md b/BENCHMARKS.md
index 0f59b509..c11ee99a 100644
--- a/BENCHMARKS.md
+++ b/BENCHMARKS.md
@@ -1,11 +1,11 @@
# Benchmark System
-**VM HOST:** Travis
-**Machine:** Ubuntu 16.04.6 LTS x64
-**Date:** May 04th, 2020
+**VM HOST:** Travis
+**Machine:** Ubuntu 16.04.6 LTS x64
+**Date:** May 04th, 2020
**Version:** Gin v1.6.3
-**Go Version:** 1.14.2 linux/amd64
+**Go Version:** 1.14.2 linux/amd64
**Source:** [Go HTTP Router Benchmark](https://github.com/gin-gonic/go-http-routing-benchmark)
**Result:** [See the gist](https://gist.github.com/appleboy/b5f2ecfaf50824ae9c64dcfb9165ae5e) or [Travis result](https://travis-ci.org/github/gin-gonic/go-http-routing-benchmark/jobs/682947061)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3ac51ad3..ddf30e18 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -215,12 +215,12 @@
## Gin 1.1
-- [NEW] Implement QueryArray and PostArray methods
-- [NEW] Refactor GetQuery and GetPostForm
-- [NEW] Add contribution guide
+- [NEW] Implement QueryArray and PostArray methods
+- [NEW] Refactor GetQuery and GetPostForm
+- [NEW] Add contribution guide
- [FIX] Corrected typos in README
-- [FIX] Removed additional Iota
-- [FIX] Changed imports to gopkg instead of github in README (#733)
+- [FIX] Removed additional Iota
+- [FIX] Changed imports to gopkg instead of github in README (#733)
- [FIX] Logger: skip ANSI color commands if output is not a tty
## Gin 1.0rc2 (...)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 98d758ef..97daa808 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,4 +1,4 @@
-## Contributing
+## Contributing
- With issues:
- Use the search tool before opening a new issue.
diff --git a/README.md b/README.md
index 0c263244..119f9452 100644
--- a/README.md
+++ b/README.md
@@ -103,7 +103,7 @@ import "net/http"
```
## Quick start
-
+
```sh
# assume the following codes in example.go file
$ cat example.go
@@ -588,44 +588,44 @@ func main() {
::1 - [Fri, 07 Dec 2018 17:04:38 JST] "GET /ping HTTP/1.1 200 122.767µs "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36" "
```
-### Controlling Log output coloring
+### Controlling Log output coloring
By default, logs output on console should be colorized depending on the detected TTY.
-Never colorize logs:
+Never colorize logs:
```go
func main() {
// Disable log's color
gin.DisableConsoleColor()
-
+
// Creates a gin router with default middleware:
// logger and recovery (crash-free) middleware
router := gin.Default()
-
+
router.GET("/ping", func(c *gin.Context) {
c.String(200, "pong")
})
-
+
router.Run(":8080")
}
```
-Always colorize logs:
+Always colorize logs:
```go
func main() {
// Force log's color
gin.ForceConsoleColor()
-
+
// Creates a gin router with default middleware:
// logger and recovery (crash-free) middleware
router := gin.Default()
-
+
router.GET("/ping", func(c *gin.Context) {
c.String(200, "pong")
})
-
+
router.Run(":8080")
}
```
@@ -667,12 +667,12 @@ func main() {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
return
}
-
+
if json.User != "manu" || json.Password != "123" {
c.JSON(http.StatusUnauthorized, gin.H{"status": "unauthorized"})
return
- }
-
+ }
+
c.JSON(http.StatusOK, gin.H{"status": "you are logged in"})
})
@@ -688,12 +688,12 @@ func main() {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
return
}
-
+
if xml.User != "manu" || xml.Password != "123" {
c.JSON(http.StatusUnauthorized, gin.H{"status": "unauthorized"})
return
- }
-
+ }
+
c.JSON(http.StatusOK, gin.H{"status": "you are logged in"})
})
@@ -705,12 +705,12 @@ func main() {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
return
}
-
+
if form.User != "manu" || form.Password != "123" {
c.JSON(http.StatusUnauthorized, gin.H{"status": "unauthorized"})
return
- }
-
+ }
+
c.JSON(http.StatusOK, gin.H{"status": "you are logged in"})
})
@@ -807,7 +807,7 @@ $ curl "localhost:8085/bookable?check_in=2030-03-10&check_out=2030-03-09"
{"error":"Key: 'Booking.CheckOut' Error:Field validation for 'CheckOut' failed on the 'gtfield' tag"}
$ curl "localhost:8085/bookable?check_in=2000-03-09&check_out=2000-03-10"
-{"error":"Key: 'Booking.CheckIn' Error:Field validation for 'CheckIn' failed on the 'bookabledate' tag"}%
+{"error":"Key: 'Booking.CheckIn' Error:Field validation for 'CheckIn' failed on the 'bookabledate' tag"}%
```
[Struct level validations](https://github.com/go-playground/validator/releases/tag/v8.7) can also be registered this way.
@@ -1145,7 +1145,7 @@ func main() {
data := gin.H{
"foo": "bar",
}
-
+
//callback is x
// Will output : x({\"foo\":\"bar\"})
c.JSONP(http.StatusOK, data)
@@ -1190,21 +1190,21 @@ This feature is unavailable in Go 1.6 and lower.
```go
func main() {
r := gin.Default()
-
+
// Serves unicode entities
r.GET("/json", func(c *gin.Context) {
c.JSON(200, gin.H{
"html": "Hello, world!",
})
})
-
+
// Serves literal characters
r.GET("/purejson", func(c *gin.Context) {
c.PureJSON(200, gin.H{
"html": "Hello, world!",
})
})
-
+
// listen and serve on 0.0.0.0:8080
r.Run(":8080")
}
@@ -1812,11 +1812,11 @@ func main() {
// the request it is currently handling
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
-
+
if err := srv.Shutdown(ctx); err != nil {
log.Fatal("Server forced to shutdown:", err)
}
-
+
log.Println("Server exiting")
}
```
From 1bdf86b722026fd650fddfef7fe9bd8342b51b7a Mon Sep 17 00:00:00 2001
From: Andy Pan
Date: Mon, 8 Feb 2021 23:24:22 +0800
Subject: [PATCH 2/3] Remove the tedious named return value (#2620)
Co-authored-by: thinkerou
---
internal/bytesconv/bytesconv.go | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/internal/bytesconv/bytesconv.go b/internal/bytesconv/bytesconv.go
index fdad2015..86e4c4d4 100644
--- a/internal/bytesconv/bytesconv.go
+++ b/internal/bytesconv/bytesconv.go
@@ -9,7 +9,7 @@ import (
)
// StringToBytes converts string to byte slice without a memory allocation.
-func StringToBytes(s string) (b []byte) {
+func StringToBytes(s string) []byte {
return *(*[]byte)(unsafe.Pointer(
&struct {
string
From ed6f85c478ba00e5168be1f29ffcdc9a983568b8 Mon Sep 17 00:00:00 2001
From: thinkerou
Date: Sat, 27 Mar 2021 09:09:44 +0800
Subject: [PATCH 3/3] build: convert to go:build directives (#2664)
---
binding/binding.go | 1 +
binding/binding_msgpack_test.go | 1 +
binding/binding_nomsgpack.go | 1 +
binding/msgpack.go | 1 +
binding/msgpack_test.go | 1 +
context_appengine.go | 5 +++--
errors_1.13_test.go | 1 +
internal/json/json.go | 1 +
internal/json/jsoniter.go | 1 +
render/msgpack.go | 1 +
render/render_msgpack_test.go | 1 +
11 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/binding/binding.go b/binding/binding.go
index 5c8e235b..5caeb581 100644
--- a/binding/binding.go
+++ b/binding/binding.go
@@ -2,6 +2,7 @@
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.
+//go:build !nomsgpack
// +build !nomsgpack
package binding
diff --git a/binding/binding_msgpack_test.go b/binding/binding_msgpack_test.go
index 9791a607..04d94079 100644
--- a/binding/binding_msgpack_test.go
+++ b/binding/binding_msgpack_test.go
@@ -2,6 +2,7 @@
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.
+//go:build !nomsgpack
// +build !nomsgpack
package binding
diff --git a/binding/binding_nomsgpack.go b/binding/binding_nomsgpack.go
index fd227b11..9afa3dcf 100644
--- a/binding/binding_nomsgpack.go
+++ b/binding/binding_nomsgpack.go
@@ -2,6 +2,7 @@
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.
+//go:build nomsgpack
// +build nomsgpack
package binding
diff --git a/binding/msgpack.go b/binding/msgpack.go
index a5bc2ad2..2a442996 100644
--- a/binding/msgpack.go
+++ b/binding/msgpack.go
@@ -2,6 +2,7 @@
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.
+//go:build !nomsgpack
// +build !nomsgpack
package binding
diff --git a/binding/msgpack_test.go b/binding/msgpack_test.go
index 296d3eb1..75600ba8 100644
--- a/binding/msgpack_test.go
+++ b/binding/msgpack_test.go
@@ -2,6 +2,7 @@
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.
+//go:build !nomsgpack
// +build !nomsgpack
package binding
diff --git a/context_appengine.go b/context_appengine.go
index 38c189a0..d5658434 100644
--- a/context_appengine.go
+++ b/context_appengine.go
@@ -1,9 +1,10 @@
-// +build appengine
-
// Copyright 2017 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.
+//go:build appengine
+// +build appengine
+
package gin
func init() {
diff --git a/errors_1.13_test.go b/errors_1.13_test.go
index a8f9a94e..5fb6057b 100644
--- a/errors_1.13_test.go
+++ b/errors_1.13_test.go
@@ -1,3 +1,4 @@
+//go:build go1.13
// +build go1.13
package gin
diff --git a/internal/json/json.go b/internal/json/json.go
index 480e8bff..172aeb24 100644
--- a/internal/json/json.go
+++ b/internal/json/json.go
@@ -2,6 +2,7 @@
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.
+//go:build !jsoniter
// +build !jsoniter
package json
diff --git a/internal/json/jsoniter.go b/internal/json/jsoniter.go
index 649a3cdb..232f8dca 100644
--- a/internal/json/jsoniter.go
+++ b/internal/json/jsoniter.go
@@ -2,6 +2,7 @@
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.
+//go:build jsoniter
// +build jsoniter
package json
diff --git a/render/msgpack.go b/render/msgpack.go
index be2d45c5..6ef5b6e5 100644
--- a/render/msgpack.go
+++ b/render/msgpack.go
@@ -2,6 +2,7 @@
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.
+//go:build !nomsgpack
// +build !nomsgpack
package render
diff --git a/render/render_msgpack_test.go b/render/render_msgpack_test.go
index e439ac48..8170fbe8 100644
--- a/render/render_msgpack_test.go
+++ b/render/render_msgpack_test.go
@@ -2,6 +2,7 @@
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.
+//go:build !nomsgpack
// +build !nomsgpack
package render