diff options
| author | AKP <tom@tdpain.net> | 2023-01-19 15:11:18 +0000 |
|---|---|---|
| committer | AKP <tom@tdpain.net> | 2023-01-19 15:11:18 +0000 |
| commit | 4a3458b9a8e9113f4f6c2159da66b3385feac6c5 (patch) | |
| tree | 20bd87b7f935f3483760b5f5a48547bf9d55e7cb | |
| parent | 750840146284b9a8dc041a8cb687e1f0f2380bf8 (diff) | |
Alter user agent when in debug mode
Signed-off-by: AKP <tom@tdpain.net>
| -rw-r--r-- | walrss/internal/rss/processor.go | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/walrss/internal/rss/processor.go b/walrss/internal/rss/processor.go index 151eb06..fcef386 100644 --- a/walrss/internal/rss/processor.go +++ b/walrss/internal/rss/processor.go @@ -29,14 +29,21 @@ const ( timeFormat = "15:04:05" ) -var userAgent = func() string { - o := "walrss" - if core.Version != "" { - o += "/" + core.Version - } - o += " (https://github.com/codemicro/walrss)" - return o -}() +var ua = struct{ua string; once *sync.Once}{"", new(sync.Once)} + +func getUserAgent(st *state.State) string { + ua.once.Do(func() { + o := "walrss" + if st.Config.Debug { + o += "/DEV" + } else if core.Version != "" { + o += "/" + core.Version + } + o += " (https://github.com/codemicro/walrss)" + ua.ua = o + }) + return ua.ua +} type processedFeed struct { Name string @@ -165,7 +172,7 @@ func getFeedContent(st *state.State, f *db.Feed) (*gofeed.Feed, error) { var notModified bool headers := make(textproto.MIMEHeader) - requestBuilder := requests.URL(f.URL).ToBytesBuffer(buf).UserAgent(userAgent).CopyHeaders(headers) + requestBuilder := requests.URL(f.URL).ToBytesBuffer(buf).UserAgent(getUserAgent(st)).CopyHeaders(headers) if f.LastEtag != "" { requestBuilder.AddValidator( |
