diff options
| author | Ilya Mateyko <me@astrophena.name> | 2021-03-02 18:12:44 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-03-02 10:12:44 -0500 |
| commit | 15787b09692dfd782f72e1ea2dab70d9928d9d84 (patch) | |
| tree | 7789fc810e6a01ef6c34aa41dad6cecc2ab82688 /web/useragent | |
| parent | 7859a031be03abfad650daca5f5714e8fa04a15f (diff) | |
| download | x-15787b09692dfd782f72e1ea2dab70d9928d9d84.tar.xz x-15787b09692dfd782f72e1ea2dab70d9928d9d84.zip | |
web/useragent: fix missing infoURL (#107)
Diffstat (limited to 'web/useragent')
| -rw-r--r-- | web/useragent/user_agent.go | 2 | ||||
| -rw-r--r-- | web/useragent/user_agent_test.go | 33 |
2 files changed, 31 insertions, 4 deletions
diff --git a/web/useragent/user_agent.go b/web/useragent/user_agent.go index 289bc88..3e63798 100644 --- a/web/useragent/user_agent.go +++ b/web/useragent/user_agent.go @@ -29,7 +29,7 @@ func GenUserAgent(prefix, infoURL string) string { // Transport wraps a http transport with user agent information. func Transport(prefix, infoURL string, rt http.RoundTripper) http.RoundTripper { - return userAgentTransport{prefix: prefix, rt: rt} + return userAgentTransport{prefix: prefix, infoURL: infoURL, rt: rt} } type userAgentTransport struct { diff --git a/web/useragent/user_agent_test.go b/web/useragent/user_agent_test.go index 4346029..ad40a38 100644 --- a/web/useragent/user_agent_test.go +++ b/web/useragent/user_agent_test.go @@ -1,12 +1,39 @@ -package useragent +package useragent_test -import "testing" +import ( + "net/http" + "net/http/httptest" + "testing" + + "within.website/x/web/useragent" +) func TestGenUserAgent(t *testing.T) { - ua := GenUserAgent("test", "https://christine.website") + ua := useragent.GenUserAgent("test", "https://christine.website") if ua == "" { t.Fatal("no user agent generated") } t.Log(ua) } + +func TestTransport(t *testing.T) { + ua := useragent.GenUserAgent("test", "https://example.com") + + http.DefaultTransport = useragent.Transport("test", "https://example.com", + http.DefaultTransport) + + h := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if ua != r.Header.Get("User-Agent") { + t.Errorf("user agent must be %q, but returned %q", ua, r.Header.Get("User-Agent")) + } + }) + + s := httptest.NewServer(h) + defer s.Close() + + _, err := http.Get(s.URL) + if err != nil { + t.Fatal(err) + } +} |
