From 03f8f2408e3323e75c19924b4631300a77f9ac15 Mon Sep 17 00:00:00 2001 From: Aliaksandr Valialkin Date: Fri, 6 Nov 2015 16:34:16 +0200 Subject: [PATCH] Increment request id and initialize request time before request reading, so log messages contain correct id and duration for request read errors --- server.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/server.go b/server.go index c07c310..342b930 100644 --- a/server.go +++ b/server.go @@ -470,8 +470,11 @@ func (s *Server) serveConn(c io.ReadWriteCloser) error { var err error for { + ctx.ID++ + ctx.Time = time.Now() + if rd != nil { - if err = rd.SetReadDeadline(time.Now().Add(readTimeout)); err != nil { + if err = rd.SetReadDeadline(ctx.Time.Add(readTimeout)); err != nil { break } if dt < time.Second || br != nil { @@ -529,11 +532,11 @@ func (s *Server) serveConn(c io.ReadWriteCloser) error { break } - dt = time.Since(prevReadTime) - prevReadTime = time.Now() + currentTime := time.Now() + dt = currentTime.Sub(prevReadTime) + prevReadTime = currentTime - ctx.ID++ - ctx.Time = time.Now() + ctx.Time = currentTime ctx.Response.Clear() s.Handler(ctx) shadow := ctx.shadow