From dfb5d7867c1e0e753af063b976b4226546143af5 Mon Sep 17 00:00:00 2001 From: wwt Date: Sun, 24 Dec 2023 20:14:00 +0800 Subject: [PATCH] fix: avoid empty field for Origin and Referer --- http/request_log.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/http/request_log.go b/http/request_log.go index c4adeb10..ecbb87f9 100644 --- a/http/request_log.go +++ b/http/request_log.go @@ -125,6 +125,14 @@ func (h *myHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { h.f(w, r) } +func _getHeader(r *http.Request, name string) string { + v := r.Header.Get(name) + if v == "" { + return "-" + } + return v +} + func _log(writer *ResponseWriterWrapper, r *http.Request, user *users.User, server *settings.Server) { log_ := RequestLog{ user: user, @@ -134,8 +142,8 @@ func _log(writer *ResponseWriterWrapper, r *http.Request, user *users.User, serv ip: realip.FromRequest(r), time: writer.GetTime(), request_size: getRequestSize(r), - origin: r.Header.Get("Origin"), - referer: r.Header.Get("Referer"), + origin: _getHeader(r, "Origin"), + referer: _getHeader(r, "Referer"), path: r.RequestURI, method: r.Method, }