aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAKP <tom@tdpain.net>2023-01-19 15:11:18 +0000
committerAKP <tom@tdpain.net>2023-01-19 15:11:18 +0000
commit4a3458b9a8e9113f4f6c2159da66b3385feac6c5 (patch)
tree20bd87b7f935f3483760b5f5a48547bf9d55e7cb
parent750840146284b9a8dc041a8cb687e1f0f2380bf8 (diff)
Alter user agent when in debug mode
Signed-off-by: AKP <tom@tdpain.net>
-rw-r--r--walrss/internal/rss/processor.go25
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(