Replace two-value range loops (#324)

* Replace two value range loops
pull/329/head
Fenny 2020-04-29 04:55:34 +02:00 committed by GitHub
parent 732b4c720e
commit 27a7b21716
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 43 additions and 40 deletions

4
app.go
View File

@ -490,8 +490,8 @@ func (app *App) prefork(address string) (ln net.Listener, err error) {
} }
} }
for _, child := range childs { for k := range childs {
if err := child.Wait(); err != nil { if err := childs[k].Wait(); err != nil {
return ln, err return ln, err
} }
} }

61
ctx.go
View File

@ -103,26 +103,26 @@ func (ctx *Ctx) Accepts(offers ...string) (offer string) {
} }
specs := strings.Split(h, ",") specs := strings.Split(h, ",")
for _, value := range offers { for i := range offers {
mimetype := getMIME(value) mimetype := getMIME(offers[i])
// if mimetype != "" { // if mimetype != "" {
// mimetype = strings.Split(mimetype, ";")[0] // mimetype = strings.Split(mimetype, ";")[0]
// } else { // } else {
// mimetype = offer // mimetype = offer
// } // }
for _, spec := range specs { for k := range specs {
spec = strings.TrimSpace(spec) spec := strings.TrimSpace(specs[k])
if strings.HasPrefix(spec, "*/*") { if strings.HasPrefix(spec, "*/*") {
return value return offers[i]
} }
if strings.HasPrefix(spec, mimetype) { if strings.HasPrefix(spec, mimetype) {
return value return offers[i]
} }
if strings.Contains(spec, "/*") { if strings.Contains(spec, "/*") {
if strings.HasPrefix(spec, strings.Split(mimetype, "/")[0]) { if strings.HasPrefix(spec, strings.Split(mimetype, "/")[0]) {
return value return offers[i]
} }
} }
} }
@ -142,15 +142,14 @@ func (ctx *Ctx) AcceptsCharsets(offers ...string) (offer string) {
} }
specs := strings.Split(h, ",") specs := strings.Split(h, ",")
for _, value := range offers { for i := range offers {
for _, spec := range specs { for k := range specs {
spec := strings.TrimSpace(specs[k])
spec = strings.TrimSpace(spec)
if strings.HasPrefix(spec, "*") { if strings.HasPrefix(spec, "*") {
return value return offers[i]
} }
if strings.HasPrefix(spec, value) { if strings.HasPrefix(spec, offers[i]) {
return value return offers[i]
} }
} }
} }
@ -169,14 +168,14 @@ func (ctx *Ctx) AcceptsEncodings(offers ...string) (offer string) {
} }
specs := strings.Split(h, ",") specs := strings.Split(h, ",")
for _, value := range offers { for i := range offers {
for _, spec := range specs { for k := range specs {
spec = strings.TrimSpace(spec) spec := strings.TrimSpace(specs[k])
if strings.HasPrefix(spec, "*") { if strings.HasPrefix(spec, "*") {
return value return offers[i]
} }
if strings.HasPrefix(spec, value) { if strings.HasPrefix(spec, offers[i]) {
return value return offers[i]
} }
} }
} }
@ -194,14 +193,14 @@ func (ctx *Ctx) AcceptsLanguages(offers ...string) (offer string) {
} }
specs := strings.Split(h, ",") specs := strings.Split(h, ",")
for _, value := range offers { for i := range offers {
for _, spec := range specs { for k := range specs {
spec = strings.TrimSpace(spec) spec := strings.TrimSpace(specs[k])
if strings.HasPrefix(spec, "*") { if strings.HasPrefix(spec, "*") {
return value return offers[i]
} }
if strings.HasPrefix(spec, value) { if strings.HasPrefix(spec, offers[i]) {
return value return offers[i]
} }
} }
} }
@ -441,7 +440,8 @@ func (ctx *Ctx) Fresh() bool {
} }
var etagStal = true var etagStal = true
var matches = parseTokenList(getBytes(noneMatch)) var matches = parseTokenList(getBytes(noneMatch))
for _, match := range matches { for i := range matches {
match := matches[i]
if match == etag || match == "W/"+etag || "W/"+match == etag { if match == etag || match == "W/"+etag || "W/"+match == etag {
etagStal = false etagStal = false
break break
@ -506,8 +506,8 @@ func (ctx *Ctx) Is(extension string) (match bool) {
exts, _ := mime.ExtensionsByType(ctx.Get(HeaderContentType)) exts, _ := mime.ExtensionsByType(ctx.Get(HeaderContentType))
if len(exts) > 0 { if len(exts) > 0 {
for _, item := range exts { for i := range exts {
if item == extension { if exts[i] == extension {
return true return true
} }
} }
@ -555,7 +555,8 @@ func (ctx *Ctx) JSONP(data interface{}, callback ...string) error {
// Links joins the links followed by the property to populate the responses Link HTTP header field. // Links joins the links followed by the property to populate the responses Link HTTP header field.
func (ctx *Ctx) Links(link ...string) { func (ctx *Ctx) Links(link ...string) {
h := "" h := ""
for i, l := range link { for i := range link {
l := link[i]
if i%2 == 0 { if i%2 == 0 {
h += "<" + l + ">" h += "<" + l + ">"
} else { } else {

View File

@ -73,7 +73,8 @@ func getParams(path string) (params []string) {
} }
segments := strings.Split(path, "/") segments := strings.Split(path, "/")
replacer := strings.NewReplacer(":", "", "?", "") replacer := strings.NewReplacer(":", "", "?", "")
for _, s := range segments { for i := range segments {
s := segments[i]
if s == "" { if s == "" {
continue continue
} else if s[0] == ':' { } else if s[0] == ':' {
@ -89,7 +90,8 @@ func getParams(path string) (params []string) {
func getRegex(path string) (*regexp.Regexp, error) { func getRegex(path string) (*regexp.Regexp, error) {
pattern := "^" pattern := "^"
segments := strings.Split(path, "/") segments := strings.Split(path, "/")
for _, s := range segments { for i := range segments {
s := segments[i]
if s == "" { if s == "" {
continue continue
} }
@ -159,8 +161,8 @@ var getBytesImmutable = func(s string) (b []byte) {
// Check if -prefork is in arguments // Check if -prefork is in arguments
func isPrefork() bool { func isPrefork() bool {
for _, v := range os.Args[1:] { for i := range os.Args[1:] {
if v == "-prefork" { if os.Args[1:][i] == "-prefork" {
return true return true
} }
} }
@ -169,8 +171,8 @@ func isPrefork() bool {
// Check if -child is in arguments // Check if -child is in arguments
func isChild() bool { func isChild() bool {
for _, v := range os.Args[1:] { for i := range os.Args[1:] {
if v == "-child" { if os.Args[1:][i] == "-child" {
return true return true
} }
} }
@ -206,8 +208,8 @@ func parseTokenList(noneMatchBytes []byte) []string {
end int end int
list []string list []string
) )
for i, v := range noneMatchBytes { for i := range noneMatchBytes {
switch v { switch noneMatchBytes[i] {
case 0x20: case 0x20:
if start == end { if start == end {
start = i + 1 start = i + 1