New submission from Manjusaka <lizheao940...@gmail.com>:
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 ---------- components: Library (Lib) messages: 369465 nosy: Manjusaka priority: normal severity: normal status: open title: Make WSGIRequestHandler easier to be customized by the user type: enhancement versions: Python 3.6, Python 3.7, Python 3.8, Python 3.9 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue40700> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com