File: sleep_pid.ru

package info (click to toggle)
puma 6.6.0-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,884 kB
  • sloc: ruby: 17,542; ansic: 2,003; java: 1,006; sh: 379; makefile: 10
file content (9 lines) | stat: -rw-r--r-- 352 bytes parent folder | download
1
2
3
4
5
6
7
8
9
# call with "GET /sleep<d> HTTP/1.1\r\n\r\n", where <d> is the number of
# seconds to sleep, can be a float or an int, returns process pid

regex_delay = /\A\/sleep(\d+(?:\.\d+)?)/
run lambda { |env|
  delay = (env['REQUEST_PATH'][regex_delay,1] || '0').to_f
  sleep delay
  [200, {"Content-Type" => "text/plain"}, ["Slept #{delay} #{Process.pid}"]]
}