thingsboard-aplcache
Changes
extensions/extension-rest-api-call/src/main/java/org/thingsboard/server/extensions/rest/plugin/RestApiCallPlugin.java 11(+9 -2)
Details
diff --git a/extensions/extension-rest-api-call/src/main/java/org/thingsboard/server/extensions/rest/plugin/RestApiCallPlugin.java b/extensions/extension-rest-api-call/src/main/java/org/thingsboard/server/extensions/rest/plugin/RestApiCallPlugin.java
index a07c80d..53ab848 100644
--- a/extensions/extension-rest-api-call/src/main/java/org/thingsboard/server/extensions/rest/plugin/RestApiCallPlugin.java
+++ b/extensions/extension-rest-api-call/src/main/java/org/thingsboard/server/extensions/rest/plugin/RestApiCallPlugin.java
@@ -34,16 +34,23 @@ public class RestApiCallPlugin extends AbstractPlugin<RestApiCallPluginConfigura
private static final String AUTHORIZATION_HEADER_NAME = "Authorization";
private static final String AUTHORIZATION_HEADER_FORMAT = "Basic %s";
private static final String CREDENTIALS_TEMPLATE = "%s:%s";
- private static final String BASE_URL_TEMPLATE = "http://%s:%d%s";
+ private static final String BASE_URL_TEMPLATE = "%s%s:%d%s";
private RestApiCallMsgHandler handler;
private String baseUrl;
private HttpHeaders headers = new HttpHeaders();
@Override
public void init(RestApiCallPluginConfiguration configuration) {
+ String host = configuration.getHost();
+ host = host.trim();
+ if (host.contains("://")) {
+ host = host.substring(host.lastIndexOf('/') + 1, host.length());
+ }
+
this.baseUrl = String.format(
BASE_URL_TEMPLATE,
- configuration.getHost(),
+ configuration.getProtocol(),
+ host,
configuration.getPort(),
configuration.getBasePath());
diff --git a/extensions/extension-rest-api-call/src/main/java/org/thingsboard/server/extensions/rest/plugin/RestApiCallPluginConfiguration.java b/extensions/extension-rest-api-call/src/main/java/org/thingsboard/server/extensions/rest/plugin/RestApiCallPluginConfiguration.java
index cfd23b8..c504972 100644
--- a/extensions/extension-rest-api-call/src/main/java/org/thingsboard/server/extensions/rest/plugin/RestApiCallPluginConfiguration.java
+++ b/extensions/extension-rest-api-call/src/main/java/org/thingsboard/server/extensions/rest/plugin/RestApiCallPluginConfiguration.java
@@ -22,6 +22,8 @@ import java.util.List;
@Data
public class RestApiCallPluginConfiguration {
+
+ private String protocol;
private String host;
private int port;
private String basePath;
diff --git a/extensions/extension-rest-api-call/src/main/resources/RestApiCallPluginDescriptor.json b/extensions/extension-rest-api-call/src/main/resources/RestApiCallPluginDescriptor.json
index 06f8559..129380c 100644
--- a/extensions/extension-rest-api-call/src/main/resources/RestApiCallPluginDescriptor.json
+++ b/extensions/extension-rest-api-call/src/main/resources/RestApiCallPluginDescriptor.json
@@ -3,6 +3,10 @@
"title": "REST API Call Plugin Configuration",
"type": "object",
"properties": {
+ "protocol": {
+ "title": "URI Scheme name",
+ "type": "string"
+ },
"host": {
"title": "Host",
"type": "string"
@@ -51,6 +55,7 @@
}
},
"required": [
+ "protocol",
"host",
"port",
"basePath",
@@ -58,6 +63,21 @@
]
},
"form": [
+ {
+ "key": "protocol",
+ "type": "rc-select",
+ "multiple": false,
+ "items": [
+ {
+ "value": "http://",
+ "label": "HTTP"
+ },
+ {
+ "value": "https://",
+ "label": "HTTPS"
+ }
+ ]
+ },
"host",
"port",
"basePath",