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.