diff options
-rw-r--r-- | lib/plum/rack/legacy_session.rb | 2 | ||||
-rw-r--r-- | lib/plum/rack/listener.rb | 8 | ||||
-rw-r--r-- | lib/plum/rack/server.rb | 2 | ||||
-rw-r--r-- | lib/plum/rack/session.rb | 2 |
4 files changed, 8 insertions, 6 deletions
diff --git a/lib/plum/rack/legacy_session.rb b/lib/plum/rack/legacy_session.rb index 6712933..b5da1a3 100644 --- a/lib/plum/rack/legacy_session.rb +++ b/lib/plum/rack/legacy_session.rb @@ -13,7 +13,7 @@ module Plum def run if @config[:fallback_legacy_host] - @logger.info "legacy HTTP: fallbacking to: #{@config[:fallback_legacy_host]}:#{@config[:fallback_legacy_port]}" + @svc.logger.info "legacy HTTP: fallbacking to: #{@config[:fallback_legacy_host]}:#{@config[:fallback_legacy_port]}" upstream = TCPSocket.open(@config[:fallback_legacy_host], @config[:fallback_legacy_port]) upstream.write(@e.buf) if @e.buf loop do diff --git a/lib/plum/rack/listener.rb b/lib/plum/rack/listener.rb index 8af12be..e65a6f0 100644 --- a/lib/plum/rack/listener.rb +++ b/lib/plum/rack/listener.rb @@ -35,11 +35,11 @@ module Plum plum = ::Plum::HTTPServerConnection.new(sock.method(:write)) sess = Session.new(svc, sock, plum) sess.run - rescue Errno::ECONNRESET, EOFError # closed rescue ::Plum::LegacyHTTPError => e - @logger.info "legacy HTTP client: #{e}" + svc.logger.info "legacy HTTP client: #{e}" sess = LegacySession.new(svc, e, sock) sess.run + rescue Errno::ECONNRESET, EOFError # closed rescue => e svc.log_exception(e) ensure @@ -97,11 +97,11 @@ module Plum plum = ::Plum::ServerConnection.new(sock.method(:write)) sess = Session.new(svc, sock, plum) sess.run - rescue Errno::ECONNRESET, EOFError # closed rescue ::Plum::LegacyHTTPError => e - @logger.info "legacy HTTP client: #{e}" + svc.logger.info "legacy HTTP client: #{e}" sess = LegacySession.new(svc, e, sock) sess.run + rescue Errno::ECONNRESET, EOFError # closed rescue => e svc.log_exception(e) ensure diff --git a/lib/plum/rack/server.rb b/lib/plum/rack/server.rb index f01f0ac..ddbb986 100644 --- a/lib/plum/rack/server.rb +++ b/lib/plum/rack/server.rb @@ -51,11 +51,11 @@ module Plum # TODO: gracefully shutdown connections (wait threadpool?) end - private def log_exception(e) @logger.error("#{e.class}: #{e.message}\n#{e.backtrace.map { |b| "\t#{b}" }.join("\n")}") end + private def drop_privileges begin user = @config[:user] diff --git a/lib/plum/rack/session.rb b/lib/plum/rack/session.rb index 3a27248..d2c639b 100644 --- a/lib/plum/rack/session.rb +++ b/lib/plum/rack/session.rb @@ -19,6 +19,8 @@ module Plum @threadpool = svc.threadpool setup_plum + rescue Errno::ENOTCONN + # TCP connection reset while doing TLS handshake end def stop |