From b84535a06b5f43702e8ca1a5d165c879d5f251a7 Mon Sep 17 00:00:00 2001 From: M09Ic Date: Tue, 4 Jun 2024 16:24:36 +0800 Subject: [PATCH] fix NewBaseline panic --- pkg/baseline.go | 7 ++++++- pkg/errors.go | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/pkg/baseline.go b/pkg/baseline.go index 8b1bcad..6f3f12f 100644 --- a/pkg/baseline.go +++ b/pkg/baseline.go @@ -50,7 +50,12 @@ func NewBaseline(u, host string, resp *ihttp.Response) *Baseline { bl.Raw = append(bl.Header, bl.Body...) bl.Response, err = ParseRawResponse(bl.Raw) - + if err != nil { + bl.IsValid = false + bl.Reason = ErrResponseError.Error() + bl.ErrString = err.Error() + return bl + } if r := bl.Response.Header.Get("Location"); r != "" { bl.RedirectURL = r } else { diff --git a/pkg/errors.go b/pkg/errors.go index 1dd3575..e441543 100644 --- a/pkg/errors.go +++ b/pkg/errors.go @@ -16,6 +16,7 @@ const ( ErrFuzzyRedirect ErrFuzzyNotUnique ErrUrlError + ErrResponseError ) var ErrMap = map[ErrorType]string{ @@ -32,6 +33,7 @@ var ErrMap = map[ErrorType]string{ ErrFuzzyRedirect: "fuzzy redirect", ErrFuzzyNotUnique: "not unique", ErrUrlError: "url parse error", + ErrResponseError: "response parse error", } func (e ErrorType) Error() string {