Skip to content
Snippets Groups Projects
Commit aa4738bf authored by René Schöne's avatar René Schöne
Browse files

merged RestClientServerHandler into RestClientHandler

parent cd3d5b0d
No related branches found
No related tags found
1 merge request!38Resolve "New Handler: REST client"
Pipeline #17114 failed
...@@ -343,7 +343,7 @@ public class Compiler extends AbstractCompiler { ...@@ -343,7 +343,7 @@ public class Compiler extends AbstractCompiler {
ragConnect.addHandler(new Handler("JavaHandler", "java", optionProtocols.hasValue(OPTION_PROTOCOL_JAVA))); ragConnect.addHandler(new Handler("JavaHandler", "java", optionProtocols.hasValue(OPTION_PROTOCOL_JAVA)));
ragConnect.addHandler(new Handler("MqttServerHandler", "mqtt", optionProtocols.hasValue(OPTION_PROTOCOL_MQTT))); ragConnect.addHandler(new Handler("MqttServerHandler", "mqtt", optionProtocols.hasValue(OPTION_PROTOCOL_MQTT)));
ragConnect.addHandler(new Handler("RestServerHandler", "rest", optionProtocols.hasValue(OPTION_PROTOCOL_REST))); ragConnect.addHandler(new Handler("RestServerHandler", "rest", optionProtocols.hasValue(OPTION_PROTOCOL_REST)));
ragConnect.addHandler(new Handler("RestClientServerHandler", "restClient", ragConnect.addHandler(new Handler("RestClientHandler", "restClient",
optionProtocols.hasValue(OPTION_PROTOCOL_REST_CLIENT))); optionProtocols.hasValue(OPTION_PROTOCOL_REST_CLIENT)));
} }
......
// dispatch depending on URI. might not be necessary
public class RestClientServerHandler {
public RestClientServerHandler(String name) {
// empty
}
RestClientHandler singleton = new RestClientHandler();
// TODO create handler based on URI
public RagConnectReceiver newReceiverFor(RagConnectToken connectToken, java.util.function.BiConsumer<String, byte[]> callback) {
return singleton.newReceiverFor(connectToken, callback);
}
public RestClientPreparedRequest preparePut(java.net.URI uri) {
return singleton.preparePut(uri);
}
void sendRequestAsync(RestClientPreparedRequest preparedRequest, byte[] message) {
singleton.sendRequestAsync(preparedRequest, message);
}
public void close() {
// empty
}
}
public class RestClientPreparedRequest {
java.net.http.HttpRequest.Builder builder;
RestClientPreparedRequest(java.net.http.HttpRequest.Builder builder) {
this.builder = builder;
}
}
public class RestClientHandler { public class RestClientHandler {
private java.net.http.HttpClient httpClient; private java.net.http.HttpClient httpClient;
public RestClientHandler(String name) {
RestClientHandler() {
httpClient = java.net.http.HttpClient.newHttpClient(); httpClient = java.net.http.HttpClient.newHttpClient();
} }
...@@ -58,7 +25,7 @@ public class RestClientHandler { ...@@ -58,7 +25,7 @@ public class RestClientHandler {
return httpClient.send(httpRequest, java.net.http.HttpResponse.BodyHandlers.ofByteArray()).body(); return httpClient.send(httpRequest, java.net.http.HttpResponse.BodyHandlers.ofByteArray()).body();
} }
RestClientPreparedRequest preparePut(java.net.URI uri) { public RestClientPreparedRequest preparePut(java.net.URI uri) {
java.net.URI target = java.net.URI.create(uri.toString().replaceFirst("restClient", "http")); java.net.URI target = java.net.URI.create(uri.toString().replaceFirst("restClient", "http"));
java.net.http.HttpRequest.Builder httpRequestBuilder = java.net.http.HttpRequest.newBuilder(target); java.net.http.HttpRequest.Builder httpRequestBuilder = java.net.http.HttpRequest.newBuilder(target);
return new RestClientPreparedRequest(httpRequestBuilder); return new RestClientPreparedRequest(httpRequestBuilder);
...@@ -84,4 +51,15 @@ public class RestClientHandler { ...@@ -84,4 +51,15 @@ public class RestClientHandler {
{{logException}}("Exception while sending {{log_}}: {{log_}}", httpRequest, e); {{logException}}("Exception while sending {{log_}}: {{log_}}", httpRequest, e);
} }
} }
public void close() {
// empty
}
}
public class RestClientPreparedRequest {
java.net.http.HttpRequest.Builder builder;
RestClientPreparedRequest(java.net.http.HttpRequest.Builder builder) {
this.builder = builder;
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment