summaryrefslogtreecommitdiff
path: root/lib/nickserver/request_handlers/base.rb
diff options
context:
space:
mode:
authorAzul <azul@riseup.net>2017-07-21 08:19:20 +0200
committerAzul <azul@riseup.net>2017-07-21 08:53:41 +0200
commit406234367544a4207141230683dddaccd98fb21a (patch)
tree2707fe4563d6be32cd6a9b2d1cb4c1f5f303273c /lib/nickserver/request_handlers/base.rb
parent38dd81116b85c103dbc5e9f08a8ffce26238921a (diff)
fix: filedescriptor leak from http_adapters
Now we reuse a single adapter for all requests triggered by an incoming request. Then we .terminate the adapter. Includes a regression test.
Diffstat (limited to 'lib/nickserver/request_handlers/base.rb')
-rw-r--r--lib/nickserver/request_handlers/base.rb9
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/nickserver/request_handlers/base.rb b/lib/nickserver/request_handlers/base.rb
index e5d8992..495a6da 100644
--- a/lib/nickserver/request_handlers/base.rb
+++ b/lib/nickserver/request_handlers/base.rb
@@ -2,16 +2,17 @@ module Nickserver
module RequestHandlers
class Base
- def self.call(request)
- new(request).handle
+ def self.call(request, adapter = nil)
+ new(request, adapter).handle
end
- def initialize(request)
+ def initialize(request, adapter)
@request = request
+ @adapter = adapter
end
protected
- attr_reader :request
+ attr_reader :request, :adapter
end
end
end