Skip to content

Commit 1ad74bd

Browse files
committed
refactor(serverHandler): refine pre process handler
- move loggable check logic into pre process handler - fork goroutine earlier, so assembling log data will not block outputting
1 parent d3f95ed commit 1ad74bd

File tree

2 files changed

+5
-15
lines changed

2 files changed

+5
-15
lines changed

src/serverHandler/log.go

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,10 @@ type loggableResponseWriter struct {
1616

1717
func (w loggableResponseWriter) WriteHeader(statusCode int) {
1818
w.ResponseWriter.WriteHeader(statusCode)
19-
logRequest(w.logger, w.request, statusCode)
20-
}
21-
22-
func tryGetLoggableResponseWriter(w http.ResponseWriter, r *http.Request, logger *serverLog.Logger) http.ResponseWriter {
23-
if logger.CanLogAccess() {
24-
return loggableResponseWriter{w, r, logger}
25-
} else {
26-
return w
27-
}
19+
go logRequest(w.logger, w.request, statusCode)
2820
}
2921

3022
func logRequest(logger *serverLog.Logger, r *http.Request, statusCode int) {
31-
if !logger.CanLogAccess() {
32-
return
33-
}
34-
3523
code := strconv.Itoa(statusCode)
3624

3725
var unescapedUri []byte
@@ -60,7 +48,7 @@ func logRequest(logger *serverLog.Logger, r *http.Request, statusCode int) {
6048
}
6149
buf = append(buf, uri...)
6250

63-
go logger.LogAccess(buf)
51+
logger.LogAccess(buf)
6452
}
6553

6654
func (h *aliasHandler) logMutate(username, action, detail string, r *http.Request) {

src/serverHandler/preprocessHandler.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ type preprocessHandler struct {
1414
}
1515

1616
func (pph preprocessHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
17-
w = tryGetLoggableResponseWriter(w, r, pph.logger)
17+
if pph.logger.CanLogAccess() {
18+
w = loggableResponseWriter{w, r, pph.logger}
19+
}
1820
rw := serverCompress.NewResponseWriter(w, r)
1921

2022
if len(pph.preMiddlewares) > 0 {

0 commit comments

Comments
 (0)