Skip to content

Commit e693721

Browse files
authored
[Finch] Change error handling, fix for response stream (#573)
1 parent 76c7ede commit e693721

File tree

2 files changed

+23
-2
lines changed

2 files changed

+23
-2
lines changed

Diff for: lib/tesla/adapter/finch.ex

+5-2
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,11 @@ if Code.ensure_loaded?(Finch) do
6969
{:ok, %Finch.Response{status: status, headers: headers, body: body}} ->
7070
{:ok, %Tesla.Env{env | status: status, headers: headers, body: body}}
7171

72-
{:error, mint_error} ->
73-
{:error, Exception.message(mint_error)}
72+
{:error, %Mint.TransportError{reason: reason}} ->
73+
{:error, reason}
74+
75+
{:error, reason} ->
76+
{:error, reason}
7477
end
7578
end
7679

Diff for: test/tesla/adapter/finch_test.exs

+18
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,22 @@ defmodule Tesla.Adapter.FinchTest do
2525
start_supervised!({Finch, opts})
2626
:ok
2727
end
28+
29+
test "Delay request" do
30+
request = %Env{
31+
method: :head,
32+
url: "#{@http}/delay/1"
33+
}
34+
35+
assert {:error, :timeout} = call(request, receive_timeout: 100)
36+
end
37+
38+
test "Delay request with stream" do
39+
request = %Env{
40+
method: :head,
41+
url: "#{@http}/delay/1"
42+
}
43+
44+
assert {:error, :timeout} = call(request, receive_timeout: 100, response: :stream)
45+
end
2846
end

0 commit comments

Comments
 (0)