Clean up some inconsistent in error handling

It is more DRY to let the exception here bubble.
This commit is contained in:
Randall Leeds 2014-02-06 19:32:10 -08:00
parent b981014acc
commit 88ccfdb981

View File

@ -102,10 +102,13 @@ class SyncWorker(base.Worker):
self.log.debug("Error processing SSL request.")
self.handle_error(req, client, addr, e)
except socket.error as e:
if e.args[0] != errno.EPIPE:
self.log.exception("Error processing request.")
if e.args[0] not in (errno.EPIPE, errno.ECONNRESET):
self.log.exception("Socket error processing request.")
else:
self.log.debug("Ignoring EPIPE")
if e.args[0] == errno.ECONNRESET:
self.log.debug("Ignoring connection reset")
else:
self.log.debug("Ignoring EPIPE")
except Exception as e:
self.handle_error(req, client, addr, e)
finally:
@ -142,7 +145,7 @@ class SyncWorker(base.Worker):
respiter.close()
except socket.error:
raise
except Exception as e:
except Exception:
if resp and resp.headers_sent:
# If the requests have already been sent, we should close the
# connection to indicate the error.
@ -153,9 +156,7 @@ class SyncWorker(base.Worker):
except socket.error:
pass
raise StopIteration()
# Only send back traceback in HTTP in debug mode.
self.handle_error(req, client, addr, e)
return
raise
finally:
try:
self.cfg.post_request(self, req, environ, resp)