fix requestV1 requestV1 error

This commit is contained in:
nite07 2025-02-27 08:16:18 +11:00
parent 0b35c2ca09
commit d2eb26d4ac

View File

@ -2,6 +2,7 @@ package flaresolverr
import ( import (
"encoding/json" "encoding/json"
"fmt"
"net/http" "net/http"
"strings" "strings"
"time" "time"
@ -43,12 +44,16 @@ func (f *Flaresolverr) requestV1(req *V1RequestBase) (*V1ResponseBase, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
if resp.StatusCode() != 200 {
return nil, fmt.Errorf("request failed: status code: %v", resp.StatusCode())
}
var res V1ResponseBase var res V1ResponseBase
err = json.Unmarshal(resp.Body(), &res) err = json.Unmarshal(resp.Body(), &res)
if err != nil { if err != nil {
return nil, err return nil, err
} }
if res.Solution != nil && res.Solution.RawCookies != nil { if res.Solution != nil {
if res.Solution.RawCookies != nil {
for _, cookie := range res.Solution.RawCookies { for _, cookie := range res.Solution.RawCookies {
sec := int64(cookie.Expires) sec := int64(cookie.Expires)
nsec := int64((cookie.Expires - float64(sec)) * 1e9) nsec := int64((cookie.Expires - float64(sec)) * 1e9)
@ -63,6 +68,8 @@ func (f *Flaresolverr) requestV1(req *V1RequestBase) (*V1ResponseBase, error) {
}) })
} }
} }
if res.Solution.RawResponse != nil {
switch v := res.Solution.RawResponse.(type) { switch v := res.Solution.RawResponse.(type) {
case string: case string:
res.Solution.Response = res.Solution.RawResponse.(string) res.Solution.Response = res.Solution.RawResponse.(string)
@ -73,6 +80,9 @@ func (f *Flaresolverr) requestV1(req *V1RequestBase) (*V1ResponseBase, error) {
} }
res.Solution.Response = string(jsonBytes) res.Solution.Response = string(jsonBytes)
} }
}
}
return &res, nil return &res, nil
} }