Skip to content

Commit 27a7b21

Browse files
authoredApr 29, 2020
Replace two-value range loops (gofiber#324)
* Replace two value range loops
1 parent 732b4c7 commit 27a7b21

File tree

3 files changed

+43
-40
lines changed

3 files changed

+43
-40
lines changed
 

‎app.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -490,8 +490,8 @@ func (app *App) prefork(address string) (ln net.Listener, err error) {
490490
}
491491
}
492492

493-
for _, child := range childs {
494-
if err := child.Wait(); err != nil {
493+
for k := range childs {
494+
if err := childs[k].Wait(); err != nil {
495495
return ln, err
496496
}
497497
}

‎ctx.go

+31-30
Original file line numberDiff line numberDiff line change
@@ -103,26 +103,26 @@ func (ctx *Ctx) Accepts(offers ...string) (offer string) {
103103
}
104104

105105
specs := strings.Split(h, ",")
106-
for _, value := range offers {
107-
mimetype := getMIME(value)
106+
for i := range offers {
107+
mimetype := getMIME(offers[i])
108108
// if mimetype != "" {
109109
// mimetype = strings.Split(mimetype, ";")[0]
110110
// } else {
111111
// mimetype = offer
112112
// }
113-
for _, spec := range specs {
114-
spec = strings.TrimSpace(spec)
113+
for k := range specs {
114+
spec := strings.TrimSpace(specs[k])
115115
if strings.HasPrefix(spec, "*/*") {
116-
return value
116+
return offers[i]
117117
}
118118

119119
if strings.HasPrefix(spec, mimetype) {
120-
return value
120+
return offers[i]
121121
}
122122

123123
if strings.Contains(spec, "/*") {
124124
if strings.HasPrefix(spec, strings.Split(mimetype, "/")[0]) {
125-
return value
125+
return offers[i]
126126
}
127127
}
128128
}
@@ -142,15 +142,14 @@ func (ctx *Ctx) AcceptsCharsets(offers ...string) (offer string) {
142142
}
143143

144144
specs := strings.Split(h, ",")
145-
for _, value := range offers {
146-
for _, spec := range specs {
147-
148-
spec = strings.TrimSpace(spec)
145+
for i := range offers {
146+
for k := range specs {
147+
spec := strings.TrimSpace(specs[k])
149148
if strings.HasPrefix(spec, "*") {
150-
return value
149+
return offers[i]
151150
}
152-
if strings.HasPrefix(spec, value) {
153-
return value
151+
if strings.HasPrefix(spec, offers[i]) {
152+
return offers[i]
154153
}
155154
}
156155
}
@@ -169,14 +168,14 @@ func (ctx *Ctx) AcceptsEncodings(offers ...string) (offer string) {
169168
}
170169

171170
specs := strings.Split(h, ",")
172-
for _, value := range offers {
173-
for _, spec := range specs {
174-
spec = strings.TrimSpace(spec)
171+
for i := range offers {
172+
for k := range specs {
173+
spec := strings.TrimSpace(specs[k])
175174
if strings.HasPrefix(spec, "*") {
176-
return value
175+
return offers[i]
177176
}
178-
if strings.HasPrefix(spec, value) {
179-
return value
177+
if strings.HasPrefix(spec, offers[i]) {
178+
return offers[i]
180179
}
181180
}
182181
}
@@ -194,14 +193,14 @@ func (ctx *Ctx) AcceptsLanguages(offers ...string) (offer string) {
194193
}
195194

196195
specs := strings.Split(h, ",")
197-
for _, value := range offers {
198-
for _, spec := range specs {
199-
spec = strings.TrimSpace(spec)
196+
for i := range offers {
197+
for k := range specs {
198+
spec := strings.TrimSpace(specs[k])
200199
if strings.HasPrefix(spec, "*") {
201-
return value
200+
return offers[i]
202201
}
203-
if strings.HasPrefix(spec, value) {
204-
return value
202+
if strings.HasPrefix(spec, offers[i]) {
203+
return offers[i]
205204
}
206205
}
207206
}
@@ -441,7 +440,8 @@ func (ctx *Ctx) Fresh() bool {
441440
}
442441
var etagStal = true
443442
var matches = parseTokenList(getBytes(noneMatch))
444-
for _, match := range matches {
443+
for i := range matches {
444+
match := matches[i]
445445
if match == etag || match == "W/"+etag || "W/"+match == etag {
446446
etagStal = false
447447
break
@@ -506,8 +506,8 @@ func (ctx *Ctx) Is(extension string) (match bool) {
506506

507507
exts, _ := mime.ExtensionsByType(ctx.Get(HeaderContentType))
508508
if len(exts) > 0 {
509-
for _, item := range exts {
510-
if item == extension {
509+
for i := range exts {
510+
if exts[i] == extension {
511511
return true
512512
}
513513
}
@@ -555,7 +555,8 @@ func (ctx *Ctx) JSONP(data interface{}, callback ...string) error {
555555
// Links joins the links followed by the property to populate the response’s Link HTTP header field.
556556
func (ctx *Ctx) Links(link ...string) {
557557
h := ""
558-
for i, l := range link {
558+
for i := range link {
559+
l := link[i]
559560
if i%2 == 0 {
560561
h += "<" + l + ">"
561562
} else {

‎utils.go

+10-8
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,8 @@ func getParams(path string) (params []string) {
7373
}
7474
segments := strings.Split(path, "/")
7575
replacer := strings.NewReplacer(":", "", "?", "")
76-
for _, s := range segments {
76+
for i := range segments {
77+
s := segments[i]
7778
if s == "" {
7879
continue
7980
} else if s[0] == ':' {
@@ -89,7 +90,8 @@ func getParams(path string) (params []string) {
8990
func getRegex(path string) (*regexp.Regexp, error) {
9091
pattern := "^"
9192
segments := strings.Split(path, "/")
92-
for _, s := range segments {
93+
for i := range segments {
94+
s := segments[i]
9395
if s == "" {
9496
continue
9597
}
@@ -159,8 +161,8 @@ var getBytesImmutable = func(s string) (b []byte) {
159161

160162
// Check if -prefork is in arguments
161163
func isPrefork() bool {
162-
for _, v := range os.Args[1:] {
163-
if v == "-prefork" {
164+
for i := range os.Args[1:] {
165+
if os.Args[1:][i] == "-prefork" {
164166
return true
165167
}
166168
}
@@ -169,8 +171,8 @@ func isPrefork() bool {
169171

170172
// Check if -child is in arguments
171173
func isChild() bool {
172-
for _, v := range os.Args[1:] {
173-
if v == "-child" {
174+
for i := range os.Args[1:] {
175+
if os.Args[1:][i] == "-child" {
174176
return true
175177
}
176178
}
@@ -206,8 +208,8 @@ func parseTokenList(noneMatchBytes []byte) []string {
206208
end int
207209
list []string
208210
)
209-
for i, v := range noneMatchBytes {
210-
switch v {
211+
for i := range noneMatchBytes {
212+
switch noneMatchBytes[i] {
211213
case 0x20:
212214
if start == end {
213215
start = i + 1

0 commit comments

Comments
 (0)
Please sign in to comment.