From 55e5c43a952478a152624e43be3d438498e66f67 Mon Sep 17 00:00:00 2001 From: Ciprian Dorin Craciun Date: Thu, 15 Aug 2019 20:26:22 +0300 Subject: [PATCH] [server] Add support for introducing artificial request delays --- sources/cmd/server/server.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/sources/cmd/server/server.go b/sources/cmd/server/server.go index a78a625..b3ba3a0 100644 --- a/sources/cmd/server/server.go +++ b/sources/cmd/server/server.go @@ -48,6 +48,7 @@ type server struct { debug bool quiet bool dummy bool + delay time.Duration } @@ -319,6 +320,10 @@ func (_server *server) Serve (_context *fasthttp.RequestCtx) () { log.Printf ("[dd] [b15f3cad] serving for `%s`...\n", _requestHeaders.RequestURI ()) } + if _server.delay != 0 { + time.Sleep (_server.delay) + } + _response.SetStatusCode (_responseStatus) _response.SetBodyRaw (_data) } @@ -475,6 +480,7 @@ func main_0 () (error) { var _debug bool var _quiet bool var _dummy bool + var _delay time.Duration var _isFirst bool var _isMaster bool @@ -557,6 +563,7 @@ func main_0 () (error) { _debug_0 := _flags.Bool ("debug", false, "") _quiet_0 := _flags.Bool ("quiet", false, "") _dummy_0 := _flags.Bool ("dummy", false, "") + _delay_0 := _flags.Duration ("delay", 0, "") FlagsParse (_flags, 0, 0) @@ -580,6 +587,7 @@ func main_0 () (error) { _debug = *_debug_0 _quiet = *_quiet_0 && !_debug _dummy = *_dummy_0 + _delay = *_delay_0 _profileCpu = *_profileCpu_0 _profileMem = *_profileMem_0 @@ -635,6 +643,11 @@ func main_0 () (error) { _indexDataMeta = false _indexDataContent = false } + if !_dummy && (_delay != 0) { + if _isMaster { + log.Printf ("[ww] [e9296c03] running with a response delay of `%s`!\n", _delay) + } + } if (_processes > 1) && ((_profileCpu != "") || (_profileMem != "")) { AbortError (nil, "[cd18d250] multi-process and profiling are mutually exclusive!") @@ -1059,6 +1072,7 @@ func main_0 () (error) { debug : _debug, quiet : _quiet, dummy : _dummy, + delay : _delay, }