| import time |
| |
| |
| # This handler blocks a GET request for the given key until a matching POST is |
| # made with the same key. This allows a test to load a resource and manually |
| # control when the response is received. |
| def main(request, response): |
| key = request.GET.first(b'key') |
| |
| if request.method == 'POST': |
| # Received result data from target page |
| request.server.stash.put(key, 'doResponse') |
| return 'done' |
| else: |
| poll_delay_sec = 0.1 |
| |
| # Wait until the caller POSTs before responding. |
| while request.server.stash.take(key) is None: |
| time.sleep(poll_delay_sec) |
| |
| status = 200 |
| headers = [('Content-Type', 'text/css')] |
| body = '' |
| return (status, headers, body) |