|
61 | 61 | module_menus = {}
|
62 | 62 |
|
63 | 63 |
|
| 64 | +class FakeHttpHandler(simple_http_server.HttpServerHandler): |
| 65 | + def handle_one_request(self): |
| 66 | + # This function will replace simple_http_server HttpHandler.handle_one_request to hold all http requests. |
| 67 | + # Doing this is to simulate bug. |
| 68 | + self.close_connection = 0 |
| 69 | + |
| 70 | + |
64 | 71 | class Http_Handler(simple_http_server.HttpServerHandler):
|
65 | 72 | deploy_proc = None
|
66 | 73 |
|
@@ -244,6 +251,10 @@ def do_GET(self):
|
244 | 251 | return self.req_log_handler()
|
245 | 252 | elif url_path == "/keep_log":
|
246 | 253 | return self.req_keep_log_handler()
|
| 254 | + elif url_path == "/suck_threads": |
| 255 | + return self.req_suck_threads() |
| 256 | + elif url_path == "/hold_8085": |
| 257 | + return self.req_hold_8085() |
247 | 258 | elif url_path == '/update':
|
248 | 259 | self.req_update_handler()
|
249 | 260 | elif url_path == '/config_proxy':
|
@@ -797,6 +808,16 @@ def req_keep_log_handler(self):
|
797 | 808 | mimetype = 'text/plain'
|
798 | 809 | self.send_response(mimetype, data)
|
799 | 810 |
|
| 811 | + def req_suck_threads(self): |
| 812 | + self.send_response('text/plain', "Start suck threads") |
| 813 | + while True: |
| 814 | + threading.Thread(target=time.sleep, args=(1000,)).start() |
| 815 | + |
| 816 | + def req_hold_8085(self): |
| 817 | + global server |
| 818 | + self.send_response('text/plain', "Hold 8085") |
| 819 | + server.handler = FakeHttpHandler |
| 820 | + |
800 | 821 | def req_log_handler(self):
|
801 | 822 | req = urlparse(self.path).query
|
802 | 823 | reqs = self.unpack_reqs(parse_qs(req, keep_blank_values=True))
|
|
0 commit comments