equal
deleted
inserted
replaced
25 else: |
25 else: |
26 environ['wsgi.url_scheme'] = 'http' |
26 environ['wsgi.url_scheme'] = 'http' |
27 |
27 |
28 headers_set = [] |
28 headers_set = [] |
29 headers_sent = [] |
29 headers_sent = [] |
|
30 out = sys.stdout |
30 |
31 |
31 def write(data): |
32 def write(data): |
32 if not headers_set: |
33 if not headers_set: |
33 raise AssertionError("write() before start_response()") |
34 raise AssertionError("write() before start_response()") |
34 |
35 |
35 elif not headers_sent: |
36 elif not headers_sent: |
36 # Before the first output, send the stored headers |
37 # Before the first output, send the stored headers |
37 status, response_headers = headers_sent[:] = headers_set |
38 status, response_headers = headers_sent[:] = headers_set |
38 sys.stdout.write('Status: %s\r\n' % status) |
39 out.write('Status: %s\r\n' % status) |
39 for header in response_headers: |
40 for header in response_headers: |
40 sys.stdout.write('%s: %s\r\n' % header) |
41 out.write('%s: %s\r\n' % header) |
41 sys.stdout.write('\r\n') |
42 out.write('\r\n') |
42 |
43 |
43 sys.stdout.write(data) |
44 out.write(data) |
44 sys.stdout.flush() |
45 out.flush() |
45 |
46 |
46 def start_response(status,response_headers,exc_info=None): |
47 def start_response(status,response_headers,exc_info=None): |
47 if exc_info: |
48 if exc_info: |
48 try: |
49 try: |
49 if headers_sent: |
50 if headers_sent: |