Index: tools/telemetry/telemetry/core/memory_cache_http_server.py |
diff --git a/tools/telemetry/telemetry/core/memory_cache_http_server.py b/tools/telemetry/telemetry/core/memory_cache_http_server.py |
index 130ec811af16acb04ae99a20510ef9df5401a3a7..eaa812dc4f8ad311aeeac121c3f56f4b43aa01db 100644 |
--- a/tools/telemetry/telemetry/core/memory_cache_http_server.py |
+++ b/tools/telemetry/telemetry/core/memory_cache_http_server.py |
@@ -3,10 +3,12 @@ |
# found in the LICENSE file. |
import BaseHTTPServer |
+import errno |
import gzip |
import mimetypes |
import os |
import SimpleHTTPServer |
+import socket |
import SocketServer |
import StringIO |
import sys |
@@ -24,6 +26,16 @@ class MemoryCacheHTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler): |
protocol_version = 'HTTP/1.1' # override BaseHTTPServer setting |
wbufsize = -1 # override StreamRequestHandler (a base class) setting |
+ def handle(self): |
+ try: |
+ BaseHTTPServer.BaseHTTPRequestHandler.handle(self) |
+ except socket.error, e: |
+ # Connection reset errors happen all the time due to the browser closing |
+ # without terminating the connection properly. They can be safely |
+ # ignored. |
+ if e[0] != errno.ECONNRESET: |
+ raise |
+ |
def do_GET(self): |
"""Serve a GET request.""" |
resource_range = self.SendHead() |