summaryrefslogtreecommitdiff
path: root/pkg/server/sleep.go
diff options
context:
space:
mode:
authorMikhail Osipov <mike.osipov@gmail.com>2020-01-21 04:19:44 +0300
committerMikhail Osipov <mike.osipov@gmail.com>2020-01-21 04:19:44 +0300
commit57906ec15939669ea9e374d5157fdde02bfd340d (patch)
tree69a5a52bedbec1f1a335bbaa379c15f5bf959ee1 /pkg/server/sleep.go
parent200d9a378d87ecd1da7fc3d16c85ed1b39d65ea8 (diff)
[server] add client, request
Diffstat (limited to 'pkg/server/sleep.go')
-rw-r--r--pkg/server/sleep.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/pkg/server/sleep.go b/pkg/server/sleep.go
new file mode 100644
index 0000000..53c85ea
--- /dev/null
+++ b/pkg/server/sleep.go
@@ -0,0 +1,32 @@
+package server
+
+import (
+ "strconv"
+ "time"
+ "fmt"
+)
+
+const maxSleep = 10
+
+func init() {
+ setHandler(sleep, "sleep")
+}
+
+func sleep(r *request) {
+ if len(r.args) == 0 {
+ return
+ }
+
+ n, err := strconv.Atoi(r.args[0])
+ if err != nil || n < 0 {
+ fmt.Fprintf(r.out, "invalid time interval '%s'", r.args[0])
+ return
+ }
+
+ if n > maxSleep {
+ fmt.Fprintf(r.out, "no more than %d", maxSleep)
+ return
+ }
+
+ time.Sleep(time.Duration(n) * time.Second)
+}