diff --git a/lib/protocol/rack/adapter/generic.rb b/lib/protocol/rack/adapter/generic.rb index 21e83b6..ebf7aa9 100644 --- a/lib/protocol/rack/adapter/generic.rb +++ b/lib/protocol/rack/adapter/generic.rb @@ -44,6 +44,10 @@ def initialize(app) raise ArgumentError, "App must be callable!" unless @app.respond_to?(:call) end + # Rack does not define an application lifecycle hook, so there is nothing to close. + def close + end + # The logger to use for this adapter. # # @returns [Console] The console logger. diff --git a/test/protocol/rack/adapter.rb b/test/protocol/rack/adapter.rb index ad3e245..4281e38 100644 --- a/test/protocol/rack/adapter.rb +++ b/test/protocol/rack/adapter.rb @@ -19,6 +19,16 @@ expect(subject.parse_file(rackup_path)).to be_a(Proc) end + with "#close" do + it "can be closed" do + app = ->(env){[200, {}, []]} + adapter = subject.new(app) + + expect(adapter).to be(:respond_to?, :close) + expect(adapter.close).to be_nil + end + end + with ".make_response" do let(:env) {Rack::MockRequest.env_for("/")}