From c23436166b861e106d37b98d42d42916d0c5a086 Mon Sep 17 00:00:00 2001 From: Shawn <506895667@qq.com> Date: Wed, 29 Dec 2021 17:27:02 +0800 Subject: [PATCH] fix(bridge): HTTP connector should failed on non-200 status codes --- apps/emqx_connector/src/emqx_connector_http.erl | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/apps/emqx_connector/src/emqx_connector_http.erl b/apps/emqx_connector/src/emqx_connector_http.erl index ac0847a91..2f72c869e 100644 --- a/apps/emqx_connector/src/emqx_connector_http.erl +++ b/apps/emqx_connector/src/emqx_connector_http.erl @@ -211,8 +211,20 @@ on_query(InstId, {KeyOrNum, Method, Request, Timeout}, AfterQuery, request => NRequest, reason => Reason, connector => InstId}), emqx_resource:query_failed(AfterQuery); - _ -> - emqx_resource:query_success(AfterQuery) + {ok, StatusCode, _} when StatusCode >= 200 andalso StatusCode < 300 -> + emqx_resource:query_success(AfterQuery); + {ok, StatusCode, _, _} when StatusCode >= 200 andalso StatusCode < 300 -> + emqx_resource:query_success(AfterQuery); + {ok, StatusCode, _} -> + ?SLOG(error, #{msg => "http connector do reqeust, received error response", + request => NRequest, connector => InstId, + status_code => StatusCode}), + emqx_resource:query_failed(AfterQuery); + {ok, StatusCode, _, _} -> + ?SLOG(error, #{msg => "http connector do reqeust, received error response", + request => NRequest, connector => InstId, + status_code => StatusCode}), + emqx_resource:query_failed(AfterQuery) end, Result.