diff --git a/middleware/fastcgi/fcgiclient.go b/middleware/fastcgi/fcgiclient.go index 44b649e6..b2d6ee8e 100644 --- a/middleware/fastcgi/fcgiclient.go +++ b/middleware/fastcgi/fcgiclient.go @@ -375,12 +375,21 @@ func (c *FCGIClient) Request(p map[string]string, req io.Reader) (resp *http.Res resp.Header = http.Header(mimeHeader) 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 { return } - resp.Status = statusParts[1] + } else { resp.StatusCode = http.StatusOK }