Mercurial > p > roundup > code
comparison roundup/cgi/wsgi_handler.py @ 7834:dbeb6bf056c7
chore(lint): _ unused var; replace assert wth if/raise; whitespace
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Sun, 24 Mar 2024 15:29:55 -0400 |
| parents | da4c51effdfd |
| children | 14c7c07b32d8 |
comparison
equal
deleted
inserted
replaced
| 7833:b68a1d8fd5d9 | 7834:dbeb6bf056c7 |
|---|---|
| 24 http_.server.BaseHTTPRequestHandler.responses[429] = ( | 24 http_.server.BaseHTTPRequestHandler.responses[429] = ( |
| 25 'Too Many Requests', | 25 'Too Many Requests', |
| 26 'The user has sent too many requests in ' | 26 'The user has sent too many requests in ' |
| 27 'a given amount of time ("rate limiting")', | 27 'a given amount of time ("rate limiting")', |
| 28 ) | 28 ) |
| 29 | |
| 29 | 30 |
| 30 class Headers(object): | 31 class Headers(object): |
| 31 """ Idea more or less stolen from the 'apache.py' in same directory. | 32 """ Idea more or less stolen from the 'apache.py' in same directory. |
| 32 Except that wsgi stores http headers in environment. | 33 Except that wsgi stores http headers in environment. |
| 33 """ | 34 """ |
| 66 self.headers = Headers(environ) | 67 self.headers = Headers(environ) |
| 67 self.rfile, self.wfile = None, Writer(self) | 68 self.rfile, self.wfile = None, Writer(self) |
| 68 | 69 |
| 69 def start_response(self, headers, response_code): | 70 def start_response(self, headers, response_code): |
| 70 """Set HTTP response code""" | 71 """Set HTTP response code""" |
| 71 message, explain = BaseHTTPRequestHandler.responses[response_code] | 72 message, _explain = BaseHTTPRequestHandler.responses[response_code] |
| 72 self.__wfile = self.__start_response('%d %s' % (response_code, | 73 self.__wfile = self.__start_response('%d %s' % (response_code, |
| 73 message), headers) | 74 message), headers) |
| 74 | 75 |
| 75 def get_wfile(self): | 76 def get_wfile(self): |
| 76 if self.__wfile is None: | 77 if self.__wfile is None: |
| 79 | 80 |
| 80 | 81 |
| 81 class RequestDispatcher(object): | 82 class RequestDispatcher(object): |
| 82 def __init__(self, home, debug=False, timing=False, lang=None, | 83 def __init__(self, home, debug=False, timing=False, lang=None, |
| 83 feature_flags=None): | 84 feature_flags=None): |
| 84 assert os.path.isdir(home), '%r is not a directory' % (home,) | 85 if not os.path.isdir(home): |
| 86 raise ValueError('%r is not a directory' % (home,)) | |
| 85 self.home = home | 87 self.home = home |
| 86 self.debug = debug | 88 self.debug = debug |
| 87 self.timing = timing | 89 self.timing = timing |
| 88 self.feature_flags = feature_flags or {} | 90 self.feature_flags = feature_flags or {} |
| 89 self.tracker = None | 91 self.tracker = None |
