Clients may disconnect on us while we're writing the response
here, so we should shut the backtrace up to avoid polluting
logs.
---
 lib/yahns/proxy_pass.rb | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/lib/yahns/proxy_pass.rb b/lib/yahns/proxy_pass.rb
index 89c6ef8..9512318 100644
--- a/lib/yahns/proxy_pass.rb
+++ b/lib/yahns/proxy_pass.rb
@@ -74,7 +74,10 @@ class Yahns::ProxyPass # :nodoc:
     rescue => e
       # avoid polluting logs with a giant backtrace when the problem isn't
       # fixable in code.
-      e.set_backtrace([]) if Errno::ECONNREFUSED === e
+      case e
+      when Errno::ECONNREFUSED, Errno::ECONNRESET, Errno::EPIPE
+        e.set_backtrace([])
+      end
       c.proxy_err_response(502, self, e, nil)
     end
 
-- 
EW

--
unsubscribe: yahns-public+unsubscr...@yhbt.net
archive: http://yhbt.net/yahns-public/

Reply via email to