Browse Source

processException extension for tbHttpClient

pull/7237/head
Yuriy Lytvynchuk 4 years ago
parent
commit
c21a442e03
  1. 12
      rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/rest/TbHttpClient.java

12
rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/rest/TbHttpClient.java

@ -40,6 +40,8 @@ import org.springframework.util.concurrent.ListenableFuture;
import org.springframework.util.concurrent.ListenableFutureCallback; import org.springframework.util.concurrent.ListenableFutureCallback;
import org.springframework.web.client.AsyncRestTemplate; import org.springframework.web.client.AsyncRestTemplate;
import org.springframework.web.client.HttpClientErrorException; import org.springframework.web.client.HttpClientErrorException;
import org.springframework.web.client.HttpServerErrorException;
import org.springframework.web.client.UnknownHttpStatusCodeException;
import org.springframework.web.util.UriComponentsBuilder; import org.springframework.web.util.UriComponentsBuilder;
import org.thingsboard.rule.engine.api.TbContext; import org.thingsboard.rule.engine.api.TbContext;
import org.thingsboard.rule.engine.api.TbNodeException; import org.thingsboard.rule.engine.api.TbNodeException;
@ -266,6 +268,16 @@ public class TbHttpClient {
metaData.putValue(STATUS, httpClientErrorException.getStatusText()); metaData.putValue(STATUS, httpClientErrorException.getStatusText());
metaData.putValue(STATUS_CODE, httpClientErrorException.getRawStatusCode() + ""); metaData.putValue(STATUS_CODE, httpClientErrorException.getRawStatusCode() + "");
metaData.putValue(ERROR_BODY, httpClientErrorException.getResponseBodyAsString()); metaData.putValue(ERROR_BODY, httpClientErrorException.getResponseBodyAsString());
} else if (e instanceof HttpServerErrorException) {
HttpServerErrorException httpServerErrorException = (HttpServerErrorException) e;
metaData.putValue(STATUS, httpServerErrorException.getStatusText());
metaData.putValue(STATUS_CODE, httpServerErrorException.getRawStatusCode() + "");
metaData.putValue(ERROR_BODY, httpServerErrorException.getResponseBodyAsString());
} else if (e instanceof UnknownHttpStatusCodeException) {
UnknownHttpStatusCodeException unknownHttpStatusCodeException = (UnknownHttpStatusCodeException) e;
metaData.putValue(STATUS, unknownHttpStatusCodeException.getStatusText());
metaData.putValue(STATUS_CODE, unknownHttpStatusCodeException.getRawStatusCode() + "");
metaData.putValue(ERROR_BODY, unknownHttpStatusCodeException.getResponseBodyAsString());
} }
return ctx.transformMsg(origMsg, origMsg.getType(), origMsg.getOriginator(), metaData, origMsg.getData()); return ctx.transformMsg(origMsg, origMsg.getType(), origMsg.getOriginator(), metaData, origMsg.getData());
} }

Loading…
Cancel
Save