Merge branch 'bugfix/fix_ci_exception' into 'master'
Fix broken pipe exception in CI for OTA examples See merge request espressif/esp-idf!8519
This commit is contained in:
commit
ce2a99dc23
2 changed files with 56 additions and 2 deletions
|
@ -95,10 +95,34 @@ def get_ca_cert(ota_image_dir):
|
||||||
return server_file, key_file
|
return server_file, key_file
|
||||||
|
|
||||||
|
|
||||||
|
def https_request_handler():
|
||||||
|
"""
|
||||||
|
Returns a request handler class that handles broken pipe exception
|
||||||
|
"""
|
||||||
|
class RequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
|
||||||
|
def finish(self):
|
||||||
|
try:
|
||||||
|
if not self.wfile.closed:
|
||||||
|
self.wfile.flush()
|
||||||
|
self.wfile.close()
|
||||||
|
except socket.error:
|
||||||
|
pass
|
||||||
|
self.rfile.close()
|
||||||
|
|
||||||
|
def handle(self):
|
||||||
|
try:
|
||||||
|
BaseHTTPServer.BaseHTTPRequestHandler.handle(self)
|
||||||
|
except socket.error:
|
||||||
|
pass
|
||||||
|
|
||||||
|
return RequestHandler
|
||||||
|
|
||||||
|
|
||||||
def start_https_server(ota_image_dir, server_ip, server_port):
|
def start_https_server(ota_image_dir, server_ip, server_port):
|
||||||
server_file, key_file = get_ca_cert(ota_image_dir)
|
server_file, key_file = get_ca_cert(ota_image_dir)
|
||||||
|
requestHandler = https_request_handler()
|
||||||
httpd = BaseHTTPServer.HTTPServer((server_ip, server_port),
|
httpd = BaseHTTPServer.HTTPServer((server_ip, server_port),
|
||||||
SimpleHTTPServer.SimpleHTTPRequestHandler)
|
requestHandler)
|
||||||
|
|
||||||
httpd.socket = ssl.wrap_socket(httpd.socket,
|
httpd.socket = ssl.wrap_socket(httpd.socket,
|
||||||
keyfile=key_file,
|
keyfile=key_file,
|
||||||
|
@ -123,6 +147,12 @@ def redirect_handler_factory(url):
|
||||||
self.send_header('Location', url)
|
self.send_header('Location', url)
|
||||||
self.end_headers()
|
self.end_headers()
|
||||||
|
|
||||||
|
def handle(self):
|
||||||
|
try:
|
||||||
|
BaseHTTPServer.BaseHTTPRequestHandler.handle(self)
|
||||||
|
except socket.error:
|
||||||
|
pass
|
||||||
|
|
||||||
return RedirectHandler
|
return RedirectHandler
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -95,10 +95,34 @@ def get_ca_cert(ota_image_dir):
|
||||||
return server_file, key_file
|
return server_file, key_file
|
||||||
|
|
||||||
|
|
||||||
|
def https_request_handler():
|
||||||
|
"""
|
||||||
|
Returns a request handler class that handles broken pipe exception
|
||||||
|
"""
|
||||||
|
class RequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
|
||||||
|
def finish(self):
|
||||||
|
try:
|
||||||
|
if not self.wfile.closed:
|
||||||
|
self.wfile.flush()
|
||||||
|
self.wfile.close()
|
||||||
|
except socket.error:
|
||||||
|
pass
|
||||||
|
self.rfile.close()
|
||||||
|
|
||||||
|
def handle(self):
|
||||||
|
try:
|
||||||
|
BaseHTTPServer.BaseHTTPRequestHandler.handle(self)
|
||||||
|
except socket.error:
|
||||||
|
pass
|
||||||
|
|
||||||
|
return RequestHandler
|
||||||
|
|
||||||
|
|
||||||
def start_https_server(ota_image_dir, server_ip, server_port):
|
def start_https_server(ota_image_dir, server_ip, server_port):
|
||||||
server_file, key_file = get_ca_cert(ota_image_dir)
|
server_file, key_file = get_ca_cert(ota_image_dir)
|
||||||
|
requestHandler = https_request_handler()
|
||||||
httpd = BaseHTTPServer.HTTPServer((server_ip, server_port),
|
httpd = BaseHTTPServer.HTTPServer((server_ip, server_port),
|
||||||
SimpleHTTPServer.SimpleHTTPRequestHandler)
|
requestHandler)
|
||||||
|
|
||||||
httpd.socket = ssl.wrap_socket(httpd.socket,
|
httpd.socket = ssl.wrap_socket(httpd.socket,
|
||||||
keyfile=key_file,
|
keyfile=key_file,
|
||||||
|
|
Loading…
Reference in a new issue