diff options
| author | Christine Dodrill <me@christine.website> | 2019-12-09 10:48:40 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-12-09 10:48:40 -0500 |
| commit | eb26857c1d5973bedc91c3fc1acaf4434809bbd5 (patch) | |
| tree | 926be802355da24afb3cf6ed8496a2b2d656e1a1 /internal/middleware/requestid.go | |
| parent | 583cf248b3fe7ebb06d89ba32fddeee70fb14c2c (diff) | |
| download | xesite-eb26857c1d5973bedc91c3fc1acaf4434809bbd5.tar.xz xesite-eb26857c1d5973bedc91c3fc1acaf4434809bbd5.zip | |
Within package layout (#102)
* blog: go package layout
* eat my own dogfood
* internal: test date
* blog/go-package-layout: streamline
* oops
Diffstat (limited to 'internal/middleware/requestid.go')
| -rw-r--r-- | internal/middleware/requestid.go | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/internal/middleware/requestid.go b/internal/middleware/requestid.go deleted file mode 100644 index 6914137..0000000 --- a/internal/middleware/requestid.go +++ /dev/null @@ -1,31 +0,0 @@ -package middleware - -import ( - "net/http" - - "github.com/celrenheit/sandflake" - "within.website/ln" -) - -// RequestID appends a unique (sandflake) request ID to each request's -// X-Request-Id header field, much like Heroku's router does. -func RequestID(next http.Handler) http.Handler { - var g sandflake.Generator - return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - id := g.Next().String() - - if rid := r.Header.Get("X-Request-Id"); rid != "" { - id = rid + "," + id - } - - ctx := ln.WithF(r.Context(), ln.F{ - "request_id": id, - }) - r = r.WithContext(ctx) - - w.Header().Set("X-Request-Id", id) - r.Header.Set("X-Request-Id", id) - - next.ServeHTTP(w, r) - }) -} |
