aboutsummaryrefslogtreecommitdiff
path: root/web/useragent
diff options
context:
space:
mode:
authorIlya Mateyko <me@astrophena.name>2021-03-02 18:12:44 +0300
committerGitHub <noreply@github.com>2021-03-02 10:12:44 -0500
commit15787b09692dfd782f72e1ea2dab70d9928d9d84 (patch)
tree7789fc810e6a01ef6c34aa41dad6cecc2ab82688 /web/useragent
parent7859a031be03abfad650daca5f5714e8fa04a15f (diff)
downloadx-15787b09692dfd782f72e1ea2dab70d9928d9d84.tar.xz
x-15787b09692dfd782f72e1ea2dab70d9928d9d84.zip
web/useragent: fix missing infoURL (#107)
Diffstat (limited to 'web/useragent')
-rw-r--r--web/useragent/user_agent.go2
-rw-r--r--web/useragent/user_agent_test.go33
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)
+ }
+}