tangled
alpha
login
or
join now
julien.rbrt.fr
/
bskyrss
1
fork
atom
Subscribe and post RSS feeds to Bluesky
rss
bluesky
1
fork
atom
overview
issues
pulls
pipelines
refactor: pass user agent via transport
julien.rbrt.fr
2 weeks ago
5c03b421
a1b03d77
1/1
ci.yml
success
25s
+7
-3
1 changed file
expand all
collapse all
unified
split
internal
rss
feed.go
+7
-3
internal/rss/feed.go
···
38
38
// capturingTransport stores the last response so we can read Retry-After,
39
39
// which gofeed.HTTPError does not expose.
40
40
type capturingTransport struct {
41
41
-
inner http.RoundTripper
42
42
-
lastResp *http.Response
41
41
+
inner http.RoundTripper
42
42
+
userAgent string
43
43
+
lastResp *http.Response
43
44
}
44
45
45
46
func (t *capturingTransport) RoundTrip(req *http.Request) (*http.Response, error) {
47
47
+
req = req.Clone(req.Context())
48
48
+
req.Header.Set("User-Agent", t.userAgent)
49
49
+
req.Header.Set("Accept", "application/rss+xml, application/atom+xml, application/xml, text/xml, */*")
46
50
resp, err := t.inner.RoundTrip(req)
47
51
if resp != nil {
48
52
t.lastResp = resp
···
71
75
}
72
76
}
73
77
74
74
-
transport := &capturingTransport{inner: http.DefaultTransport}
78
78
+
transport := &capturingTransport{inner: http.DefaultTransport, userAgent: opts.UserAgent}
75
79
parser := gofeed.NewParser()
76
80
parser.Client = &http.Client{Timeout: opts.Timeout, Transport: transport}
77
81
parser.UserAgent = opts.UserAgent