From d676536873cbdd639a1f97b9072efe7ba45b635f Mon Sep 17 00:00:00 2001 From: mwlang Date: Sat, 21 Aug 2021 22:57:41 -0400 Subject: [PATCH 1/2] close body_io after callback --- shard.yml | 2 +- src/webmock/core_ext.cr | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/shard.yml b/shard.yml index 462b940..ca5e078 100644 --- a/shard.yml +++ b/shard.yml @@ -1,5 +1,5 @@ name: webmock -version: 0.14.0 +version: 0.14.1 crystal: ">= 0.36.0, < 2.0.0" diff --git a/src/webmock/core_ext.cr b/src/webmock/core_ext.cr index 11436ba..ba3cf34 100644 --- a/src/webmock/core_ext.cr +++ b/src/webmock/core_ext.cr @@ -34,8 +34,8 @@ class HTTP::Client HTTP::Client::Response.from_io(io, request.ignore_body?) do |response| result = yield(response) - close unless response.keep_alive? WebMock.callbacks.call(:after_live_request, request, response) + close unless response.keep_alive? end raise "Unexpected end of response" unless result.is_a?(T) From d75e97fc02d9866b830b845cb384ae08a3eed6c7 Mon Sep 17 00:00:00 2001 From: mwlang Date: Sat, 21 Aug 2021 23:18:12 -0400 Subject: [PATCH 2/2] moved close action to ensure block --- src/webmock/core_ext.cr | 1 + 1 file changed, 1 insertion(+) diff --git a/src/webmock/core_ext.cr b/src/webmock/core_ext.cr index ba3cf34..e336144 100644 --- a/src/webmock/core_ext.cr +++ b/src/webmock/core_ext.cr @@ -35,6 +35,7 @@ class HTTP::Client HTTP::Client::Response.from_io(io, request.ignore_body?) do |response| result = yield(response) WebMock.callbacks.call(:after_live_request, request, response) + ensure close unless response.keep_alive? end