mirror of https://github.com/gofiber/fiber.git
parent
732b4c720e
commit
27a7b21716
4
app.go
4
app.go
|
@ -490,8 +490,8 @@ func (app *App) prefork(address string) (ln net.Listener, err error) {
|
|||
}
|
||||
}
|
||||
|
||||
for _, child := range childs {
|
||||
if err := child.Wait(); err != nil {
|
||||
for k := range childs {
|
||||
if err := childs[k].Wait(); err != nil {
|
||||
return ln, err
|
||||
}
|
||||
}
|
||||
|
|
61
ctx.go
61
ctx.go
|
@ -103,26 +103,26 @@ func (ctx *Ctx) Accepts(offers ...string) (offer string) {
|
|||
}
|
||||
|
||||
specs := strings.Split(h, ",")
|
||||
for _, value := range offers {
|
||||
mimetype := getMIME(value)
|
||||
for i := range offers {
|
||||
mimetype := getMIME(offers[i])
|
||||
// if mimetype != "" {
|
||||
// mimetype = strings.Split(mimetype, ";")[0]
|
||||
// } else {
|
||||
// mimetype = offer
|
||||
// }
|
||||
for _, spec := range specs {
|
||||
spec = strings.TrimSpace(spec)
|
||||
for k := range specs {
|
||||
spec := strings.TrimSpace(specs[k])
|
||||
if strings.HasPrefix(spec, "*/*") {
|
||||
return value
|
||||
return offers[i]
|
||||
}
|
||||
|
||||
if strings.HasPrefix(spec, mimetype) {
|
||||
return value
|
||||
return offers[i]
|
||||
}
|
||||
|
||||
if strings.Contains(spec, "/*") {
|
||||
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, ",")
|
||||
for _, value := range offers {
|
||||
for _, spec := range specs {
|
||||
|
||||
spec = strings.TrimSpace(spec)
|
||||
for i := range offers {
|
||||
for k := range specs {
|
||||
spec := strings.TrimSpace(specs[k])
|
||||
if strings.HasPrefix(spec, "*") {
|
||||
return value
|
||||
return offers[i]
|
||||
}
|
||||
if strings.HasPrefix(spec, value) {
|
||||
return value
|
||||
if strings.HasPrefix(spec, offers[i]) {
|
||||
return offers[i]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -169,14 +168,14 @@ func (ctx *Ctx) AcceptsEncodings(offers ...string) (offer string) {
|
|||
}
|
||||
|
||||
specs := strings.Split(h, ",")
|
||||
for _, value := range offers {
|
||||
for _, spec := range specs {
|
||||
spec = strings.TrimSpace(spec)
|
||||
for i := range offers {
|
||||
for k := range specs {
|
||||
spec := strings.TrimSpace(specs[k])
|
||||
if strings.HasPrefix(spec, "*") {
|
||||
return value
|
||||
return offers[i]
|
||||
}
|
||||
if strings.HasPrefix(spec, value) {
|
||||
return value
|
||||
if strings.HasPrefix(spec, offers[i]) {
|
||||
return offers[i]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -194,14 +193,14 @@ func (ctx *Ctx) AcceptsLanguages(offers ...string) (offer string) {
|
|||
}
|
||||
|
||||
specs := strings.Split(h, ",")
|
||||
for _, value := range offers {
|
||||
for _, spec := range specs {
|
||||
spec = strings.TrimSpace(spec)
|
||||
for i := range offers {
|
||||
for k := range specs {
|
||||
spec := strings.TrimSpace(specs[k])
|
||||
if strings.HasPrefix(spec, "*") {
|
||||
return value
|
||||
return offers[i]
|
||||
}
|
||||
if strings.HasPrefix(spec, value) {
|
||||
return value
|
||||
if strings.HasPrefix(spec, offers[i]) {
|
||||
return offers[i]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -441,7 +440,8 @@ func (ctx *Ctx) Fresh() bool {
|
|||
}
|
||||
var etagStal = true
|
||||
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 {
|
||||
etagStal = false
|
||||
break
|
||||
|
@ -506,8 +506,8 @@ func (ctx *Ctx) Is(extension string) (match bool) {
|
|||
|
||||
exts, _ := mime.ExtensionsByType(ctx.Get(HeaderContentType))
|
||||
if len(exts) > 0 {
|
||||
for _, item := range exts {
|
||||
if item == extension {
|
||||
for i := range exts {
|
||||
if exts[i] == extension {
|
||||
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 response’s Link HTTP header field.
|
||||
func (ctx *Ctx) Links(link ...string) {
|
||||
h := ""
|
||||
for i, l := range link {
|
||||
for i := range link {
|
||||
l := link[i]
|
||||
if i%2 == 0 {
|
||||
h += "<" + l + ">"
|
||||
} else {
|
||||
|
|
18
utils.go
18
utils.go
|
@ -73,7 +73,8 @@ func getParams(path string) (params []string) {
|
|||
}
|
||||
segments := strings.Split(path, "/")
|
||||
replacer := strings.NewReplacer(":", "", "?", "")
|
||||
for _, s := range segments {
|
||||
for i := range segments {
|
||||
s := segments[i]
|
||||
if s == "" {
|
||||
continue
|
||||
} else if s[0] == ':' {
|
||||
|
@ -89,7 +90,8 @@ func getParams(path string) (params []string) {
|
|||
func getRegex(path string) (*regexp.Regexp, error) {
|
||||
pattern := "^"
|
||||
segments := strings.Split(path, "/")
|
||||
for _, s := range segments {
|
||||
for i := range segments {
|
||||
s := segments[i]
|
||||
if s == "" {
|
||||
continue
|
||||
}
|
||||
|
@ -159,8 +161,8 @@ var getBytesImmutable = func(s string) (b []byte) {
|
|||
|
||||
// Check if -prefork is in arguments
|
||||
func isPrefork() bool {
|
||||
for _, v := range os.Args[1:] {
|
||||
if v == "-prefork" {
|
||||
for i := range os.Args[1:] {
|
||||
if os.Args[1:][i] == "-prefork" {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
@ -169,8 +171,8 @@ func isPrefork() bool {
|
|||
|
||||
// Check if -child is in arguments
|
||||
func isChild() bool {
|
||||
for _, v := range os.Args[1:] {
|
||||
if v == "-child" {
|
||||
for i := range os.Args[1:] {
|
||||
if os.Args[1:][i] == "-child" {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
@ -206,8 +208,8 @@ func parseTokenList(noneMatchBytes []byte) []string {
|
|||
end int
|
||||
list []string
|
||||
)
|
||||
for i, v := range noneMatchBytes {
|
||||
switch v {
|
||||
for i := range noneMatchBytes {
|
||||
switch noneMatchBytes[i] {
|
||||
case 0x20:
|
||||
if start == end {
|
||||
start = i + 1
|
||||
|
|
Loading…
Reference in New Issue