fix: return error when receive HTTP code other than 2xx

This commit is contained in:
Shawn 2022-08-30 10:16:02 +08:00
parent b5ad5233a1
commit 262e68f7d2
1 changed files with 15 additions and 13 deletions

View File

@ -275,7 +275,7 @@ on_query(
),
NRequest = formalize_request(Method, BasePath, Request),
case
Result = ehttpc:request(
ehttpc:request(
case KeyOrNum of
undefined -> PoolName;
_ -> {PoolName, KeyOrNum}
@ -286,33 +286,35 @@ on_query(
Retry
)
of
{error, Reason} ->
{error, Reason} = Result ->
?SLOG(error, #{
msg => "http_connector_do_request_failed",
request => NRequest,
reason => Reason,
connector => InstId
});
{ok, StatusCode, _} when StatusCode >= 200 andalso StatusCode < 300 ->
ok;
{ok, StatusCode, _, _} when StatusCode >= 200 andalso StatusCode < 300 ->
ok;
{ok, StatusCode, _} ->
}),
Result;
{ok, StatusCode, _} = Result when StatusCode >= 200 andalso StatusCode < 300 ->
Result;
{ok, StatusCode, _, _} = Result when StatusCode >= 200 andalso StatusCode < 300 ->
Result;
{ok, StatusCode, Headers} ->
?SLOG(error, #{
msg => "http connector do request, received error response",
request => NRequest,
connector => InstId,
status_code => StatusCode
});
{ok, StatusCode, _, _} ->
}),
{error, #{status_code => StatusCode, headers => Headers}};
{ok, StatusCode, Headers, Body} ->
?SLOG(error, #{
msg => "http connector do request, received error response",
request => NRequest,
connector => InstId,
status_code => StatusCode
})
end,
Result.
}),
{error, #{status_code => StatusCode, headers => Headers, body => Body}}
end.
on_query_async(InstId, {send_message, Msg}, ReplyFunAndArgs, State) ->
case maps:get(request, State, undefined) of