From ad8d69e4c5447297db535f8ca9d1ac00e85f01e8 Mon Sep 17 00:00:00 2001 From: Mark Nunberg Date: Thu, 2 Aug 2012 17:56:28 -0700 Subject: [PATCH 1/2] Use pywsgi.py instead of wsgi (better chunked handling) --- httpbin/runner.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/httpbin/runner.py b/httpbin/runner.py index 5dd4bf5..b004e97 100755 --- a/httpbin/runner.py +++ b/httpbin/runner.py @@ -11,7 +11,7 @@ gunicorn. import sys -from gevent.wsgi import WSGIServer +from gevent.pywsgi import WSGIServer from httpbin import app @@ -26,4 +26,4 @@ def main(): http_server.serve_forever() if __name__ == '__main__': - main() \ No newline at end of file + main() From d96dd79579cb157acde8d3a3cd1d8da033949aa4 Mon Sep 17 00:00:00 2001 From: Mark Nunberg Date: Thu, 2 Aug 2012 17:56:51 -0700 Subject: [PATCH 2/2] Use gevent.sleep to make the program non-blocking --- httpbin/core.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/httpbin/core.py b/httpbin/core.py index 9bd9521..9b22fc4 100644 --- a/httpbin/core.py +++ b/httpbin/core.py @@ -11,6 +11,7 @@ import base64 import json import os import time +import gevent import newrelic.agent @@ -307,7 +308,7 @@ def delay_response(delay): """Returns a delayed response""" delay = min(delay, 10) - time.sleep(delay) + gevent.sleep(delay) return jsonify(get_dict( 'url', 'args', 'form', 'data', 'origin', 'headers', 'files'))