0
Fork 0
mirror of https://github.com/caddyserver/caddy.git synced 2024-12-23 22:27:38 -05:00
fixes issue with Status header coming from php-fpm 5.5 different then regular "HTTP/1.1 200 OK".
If server returns  Status code - "200" will be handled properly instead "throwing runtime error: index out of range"
This commit is contained in:
Slawomir Jasinski 2015-06-11 09:59:30 +10:00
parent 01aca02edc
commit 14b64fef43

View file

@ -375,12 +375,21 @@ func (c *FCGIClient) Request(p map[string]string, req io.Reader) (resp *http.Res
resp.Header = http.Header(mimeHeader) resp.Header = http.Header(mimeHeader)
if resp.Header.Get("Status") != "" { if resp.Header.Get("Status") != "" {
statusParts := strings.SplitN(resp.Header.Get("Status"), " ", 2)
resp.StatusCode, err = strconv.Atoi(statusParts[0]) // check if Status is long enought to split
if strings.Count(resp.Header.Get("Status"), " ") > 0 {
statusParts := strings.SplitN(resp.Header.Get("Status"), " ", 2)
resp.StatusCode, err = strconv.Atoi(statusParts[0])
resp.Status = statusParts[1]
resp.Status = statusParts[1]
} else {
resp.StatusCode, err = strconv.Atoi(resp.Header.Get("Status"))
}
if err != nil { if err != nil {
return return
} }
resp.Status = statusParts[1]
} else { } else {
resp.StatusCode = http.StatusOK resp.StatusCode = http.StatusOK
} }