[opt] nazahttp: 解析first line失败时,返回的错误信息更完整

pull/12/head v0.30.7
q191201771 2 years ago
parent bfadaeba40
commit 8eba025dc9

@ -9,6 +9,7 @@
package nazahttp
import (
"encoding/hex"
"net/http"
"strings"
@ -99,7 +100,7 @@ func ParseHttpStatusLine(line string) (version string, statusCode string, reason
func parseFirstLine(line string) (item1, item2, item3 string, err error) {
f := strings.Index(line, " ")
if f == -1 {
err = nazaerrors.Wrap(ErrFirstLine, line)
err = nazaerrors.Wrap(ErrFirstLine, hex.Dump([]byte(line)))
return
}
s := strings.Index(line[f+1:], " ")

@ -129,4 +129,8 @@ func TestParseHttpStatusLine(t *testing.T) {
assert.Equal(t, "HTTP/1.1", v)
assert.Equal(t, "475", c)
assert.Equal(t, " ", r)
// 测试解析错误的情况
v, c, r, e = nazahttp.ParseHttpStatusLine("fxxk")
assert.IsNotNil(t, e)
}

Loading…
Cancel
Save