chore: update the result of CR

This commit is contained in:
thinkerou 2020-05-03 21:44:13 +08:00
parent abc4fa0718
commit 6bd6454ad1
7 changed files with 19 additions and 15 deletions

View File

@ -70,8 +70,9 @@ func BasicAuth(accounts Accounts) HandlerFunc {
}
func processAccounts(accounts Accounts) authPairs {
assert1(len(accounts) > 0, "Empty list of authorized credentials")
pairs := make(authPairs, 0, len(accounts))
length := len(accounts)
assert1(length > 0, "Empty list of authorized credentials")
pairs := make(authPairs, 0, length)
for user, password := range accounts {
assert1(user != "", "User can not be empty")
value := authorizationHeader(user, password)

View File

@ -34,9 +34,10 @@ const (
MIMEPOSTForm = binding.MIMEPOSTForm
MIMEMultipartPOSTForm = binding.MIMEMultipartPOSTForm
MIMEYAML = binding.MIMEYAML
BodyBytesKey = "_gin-gonic/gin/bodybyteskey"
)
const bodyBytesKey = "_gin-gonic/gin/bodybyteskey"
const abortIndex int8 = math.MaxInt8 / 2
// Context is the most important part of gin. It allows us to pass variables between middleware,
@ -686,7 +687,7 @@ func (c *Context) ShouldBindWith(obj interface{}, b binding.Binding) error {
// ShouldBindWith for better performance if you need to call only once.
func (c *Context) ShouldBindBodyWith(obj interface{}, bb binding.BindingBody) (err error) {
var body []byte
if cb, ok := c.Get(BodyBytesKey); ok {
if cb, ok := c.Get(bodyBytesKey); ok {
if cbb, ok := cb.([]byte); ok {
body = cbb
}
@ -696,7 +697,7 @@ func (c *Context) ShouldBindBodyWith(obj interface{}, bb binding.BindingBody) (e
if err != nil {
return err
}
c.Set(BodyBytesKey, body)
c.Set(bodyBytesKey, body)
}
return bb.BindBody(body, obj)
}

3
gin.go
View File

@ -22,9 +22,10 @@ const defaultMultipartMemory = 32 << 20 // 32 MB
var (
default404Body = []byte("404 page not found")
default405Body = []byte("405 method not allowed")
defaultAppEngine bool
)
var defaultAppEngine bool
// HandlerFunc defines the handler used by gin middleware as return value.
type HandlerFunc func(*Context)

View File

@ -22,6 +22,7 @@ const (
// TestMode indicates gin mode is test.
TestMode = "test"
)
const (
debugCode = iota
releaseCode

View File

@ -136,10 +136,11 @@ func bufApp(buf *[]byte, s string, w int, c byte) {
// Otherwise use either the stack buffer, if it is large enough, or
// allocate a new buffer on the heap, and copy all previous characters.
if l := len(s); l > cap(b) {
*buf = make([]byte, len(s))
length := len(s)
if length > cap(b) {
*buf = make([]byte, length)
} else {
*buf = (*buf)[:l]
*buf = (*buf)[:length]
}
b = *buf

View File

@ -146,6 +146,6 @@ func function(pc uintptr) []byte {
}
func timeFormat(t time.Time) string {
var timeString = t.Format("2006/01/02 - 15:04:05")
timeString := t.Format("2006/01/02 - 15:04:05")
return timeString
}

View File

@ -14,8 +14,7 @@ import (
"strings"
)
// BindKey indicates a default bind key.
const BindKey = "_gin-gonic/gin/bindkey"
const bindKey = "_gin-gonic/gin/bindkey"
// Bind is a helper function for given interface object and returns a Gin middleware.
func Bind(val interface{}) HandlerFunc {
@ -30,7 +29,7 @@ func Bind(val interface{}) HandlerFunc {
return func(c *Context) {
obj := reflect.New(typ).Interface()
if c.Bind(obj) == nil {
c.Set(BindKey, obj)
c.Set(bindKey, obj)
}
}
}