diff options
author | 2023-02-17 12:02:29 +0100 | |
---|---|---|
committer | 2023-02-17 12:02:29 +0100 | |
commit | 68e6d08c768b789987a753d42f66caf73ce10ee1 (patch) | |
tree | 1c9eb6da6c326266d653de80684c3aec58922638 /internal/web/rss.go | |
parent | [bugfix] Set 'discoverable' properly on API accounts (#1511) (diff) | |
download | gotosocial-68e6d08c768b789987a753d42f66caf73ce10ee1.tar.xz |
[feature] Add a request ID and include it in logs (#1476)
This adds a lightweight form of tracing to GTS. Each incoming request is
assigned a Request ID which we then pass on and log in all our log
lines. Any function that gets called downstream from an HTTP handler
should now emit a requestID=value pair whenever it logs something.
Co-authored-by: kim <grufwub@gmail.com>
Diffstat (limited to 'internal/web/rss.go')
-rw-r--r-- | internal/web/rss.go | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/internal/web/rss.go b/internal/web/rss.go index 757c3ffb5..dccb49542 100644 --- a/internal/web/rss.go +++ b/internal/web/rss.go @@ -61,14 +61,16 @@ func (m *Module) GetRSSETag(urlPath string, lastModified time.Time, getRSSFeed f return eTag, nil } -func extractIfModifiedSince(header string) time.Time { - if header == "" { +func extractIfModifiedSince(r *http.Request) time.Time { + hdr := r.Header.Get(ifModifiedSinceHeader) + + if hdr == "" { return time.Time{} } - t, err := http.ParseTime(header) + t, err := http.ParseTime(hdr) if err != nil { - log.Errorf("couldn't parse if-modified-since %s: %s", header, err) + log.Errorf(r.Context(), "couldn't parse if-modified-since %s: %s", hdr, err) return time.Time{} } @@ -95,7 +97,7 @@ func (m *Module) rssFeedGETHandler(c *gin.Context) { } ifNoneMatch := c.Request.Header.Get(ifNoneMatchHeader) - ifModifiedSince := extractIfModifiedSince(c.Request.Header.Get(ifModifiedSinceHeader)) + ifModifiedSince := extractIfModifiedSince(c.Request) getRssFeed, accountLastPostedPublic, errWithCode := m.processor.AccountGetRSSFeedForUsername(ctx, username) if errWithCode != nil { |