From 21b41bec83b3fbeaacf4d36d55dc272db2313386 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Mon, 19 Oct 2009 12:10:14 -0700 Subject: [PATCH] test and fix http redirect handling BUG=2197242 R=r DELTA=16 (16 added, 0 deleted, 0 changed) OCL=35878 CL=35882 --- src/pkg/http/client.go | 1 + src/pkg/http/request_test.go | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/pkg/http/client.go b/src/pkg/http/client.go index 6ac602f270..698c5c7f4f 100644 --- a/src/pkg/http/client.go +++ b/src/pkg/http/client.go @@ -198,6 +198,7 @@ func Get(url string) (r *Response, finalURL string, err os.Error) { err = os.ErrorString(fmt.Sprintf("%d response missing Location header", r.StatusCode)); break; } + continue; } finalURL = url; return; diff --git a/src/pkg/http/request_test.go b/src/pkg/http/request_test.go index 94da01521e..7bddda3db0 100644 --- a/src/pkg/http/request_test.go +++ b/src/pkg/http/request_test.go @@ -100,3 +100,18 @@ func TestPostContentTypeParsing(t *testing.T) { } } } + +func TestRedirect(t *testing.T) { + const ( + start = "http://codesearch.google.com/"; + end = "http://www.google.com/codesearch"; + ) + r, url, err := Get(start); + if err != nil { + t.Fatal(err); + } + r.Body.Close(); + if r.StatusCode != 200 || url != end { + t.Fatalf("Get(%s) got status %d at %s, want 200 at %s", start, r.StatusCode, url, end) + } +} -- 2.50.0