diff options
Diffstat (limited to 'spartan/client.go')
-rw-r--r-- | spartan/client.go | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/spartan/client.go b/spartan/client.go index e3025ee..affcf95 100644 --- a/spartan/client.go +++ b/spartan/client.go @@ -100,12 +100,12 @@ func (c Client) Fetch(url string) (*types.Response, error) { if err != nil { return nil, err } - if response.Status != StatusRedirect { + if !c.IsRedirect(response) { return response, nil } prev := u - u, err = neturl.Parse(url) + u, err = neturl.Parse(response.Meta.(string)) if err != nil { return nil, err } @@ -115,6 +115,10 @@ func (c Client) Fetch(url string) (*types.Response, error) { return nil, ExceededMaxRedirects } +func (c Client) IsRedirect(response *types.Response) bool { + return response.Status == StatusRedirect +} + type devnull struct{} func (_ devnull) Read(p []byte) (int, error) { |