Message369465
Hello everyone
I think we can make WSGIRequestHandler in wsgiref easier to be customized by the user
Here's the detail
the WSGIRequestHandler in wsgiref.simple_server has some code like this
class WSGIRequestHandler(BaseHTTPRequestHandler):
def handle(self):
"""Handle a single HTTP request"""
self.raw_requestline = self.rfile.readline(65537)
if len(self.raw_requestline) > 65536:
self.requestline = ''
self.request_version = ''
self.command = ''
self.send_error(414)
return
if not self.parse_request(): # An error code has been sent, just exit
return
handler = ServerHandler(
self.rfile, self.wfile, self.get_stderr(), self.get_environ(),
multithread=False,
)
handler.request_handler = self # backpointer for logging
handler.run(self.server.get_app())
If people want just to replace the ServerHandler, they need to override all the handle method, I don't think this is a good way to use.
I prefer do something like this
class WSGIRequestHandler(BaseHTTPRequestHandler):
server_version = "WSGIServer/" + __version__
server_handler = ServerHandler
def handle(self):
"""Handle a single HTTP request"""
self.raw_requestline = self.rfile.readline(65537)
if len(self.raw_requestline) > 65536:
self.requestline = ''
self.request_version = ''
self.command = ''
self.send_error(414)
return
if not self.parse_request(): # An error code has been sent, just exit
return
handler = self.server_handler(
self.rfile, self.wfile, self.get_stderr(), self.get_environ(),
multithread=False,
)
handler.request_handler = self # backpointer for logging
handler.run(self.server.get_app())
Now if people just need simple code to replace the ServerHandler, like this
class CustomWSGIRequestHandler(WSGIRequestHandler):
server_handler = CustomeServerHandler
what do you think, I'm glad to make a PR for this |
|
Date |
User |
Action |
Args |
2020-05-20 15:54:01 | Manjusaka | set | recipients:
+ Manjusaka |
2020-05-20 15:54:01 | Manjusaka | set | messageid: <1589990041.35.0.995968442309.issue40700@roundup.psfhosted.org> |
2020-05-20 15:54:01 | Manjusaka | link | issue40700 messages |
2020-05-20 15:54:00 | Manjusaka | create | |
|