Refactorings

This commit is contained in:
Sven Kubiak 2021-06-21 09:14:40 +02:00
parent 232a358bcd
commit 7fbaabbcb5

View File

@ -22,6 +22,11 @@ import de.svenkubiak.jpushover.listener.WebSocketListener;
* *
*/ */
public class OpenClient { public class OpenClient {
private HttpClient client = HttpClient.newHttpClient();
private static final Duration TIMEOUT = Duration.ofSeconds(5);
private static final String APPLICATION_JSON = "application/json";
private static final String CONTENT_TYPE = "Content-Type";
/** /**
* Performs a Pushover login; required once for working with the Open Client API * Performs a Pushover login; required once for working with the Open Client API
* *
@ -53,11 +58,10 @@ public class OpenClient {
.append(twofa); .append(twofa);
} }
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder() HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(Url.LOGIN.toString())) .uri(URI.create(Url.LOGIN.toString()))
.timeout(Duration.ofSeconds(5)) .timeout(TIMEOUT)
.header("Content-Type", "application/json") .header(CONTENT_TYPE, APPLICATION_JSON)
.POST(HttpRequest.BodyPublishers.ofString(params.toString())) .POST(HttpRequest.BodyPublishers.ofString(params.toString()))
.build(); .build();
@ -110,11 +114,10 @@ public class OpenClient {
.append("=") .append("=")
.append(deviceId); .append(deviceId);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder() HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(Url.MESSAGES.toString() + params.toString())) .uri(URI.create(Url.MESSAGES.toString() + params.toString()))
.timeout(Duration.ofSeconds(5)) .timeout(TIMEOUT)
.header("Content-Type", "application/json") .header(CONTENT_TYPE, APPLICATION_JSON)
.build(); .build();
String messages = null; String messages = null;
@ -152,11 +155,10 @@ public class OpenClient {
.append("=") .append("=")
.append(messageId); .append(messageId);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder() HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(Url.DELETE.toString().replace("###DEVICE_ID###", deviceId))) .uri(URI.create(Url.DELETE.toString().replace("###DEVICE_ID###", deviceId)))
.timeout(Duration.ofSeconds(5)) .timeout(TIMEOUT)
.header("Content-Type", "application/json") .header(CONTENT_TYPE, APPLICATION_JSON)
.POST(HttpRequest.BodyPublishers.ofString(params.toString())) .POST(HttpRequest.BodyPublishers.ofString(params.toString()))
.build(); .build();
@ -188,8 +190,7 @@ public class OpenClient {
Objects.requireNonNull(deviceId, "deviceId name can not be null"); Objects.requireNonNull(deviceId, "deviceId name can not be null");
Objects.requireNonNull(messageListener, "messageListener can not be null"); Objects.requireNonNull(messageListener, "messageListener can not be null");
HttpClient httpClient = HttpClient.newBuilder().build(); Builder webSocketBuilder = client.newWebSocketBuilder();
Builder webSocketBuilder = httpClient.newWebSocketBuilder();
WebSocket webSocket = webSocketBuilder.buildAsync(URI.create(Url.WEBSOCKET.toString()), new WebSocketListener(messageListener)).join(); WebSocket webSocket = webSocketBuilder.buildAsync(URI.create(Url.WEBSOCKET.toString()), new WebSocketListener(messageListener)).join();
StringBuilder params = new StringBuilder() StringBuilder params = new StringBuilder()
@ -228,7 +229,6 @@ public class OpenClient {
.append(deviceName) .append(deviceName)
.append("&os=O"); .append("&os=O");
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder() HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(Url.DELETE.toString())) .uri(URI.create(Url.DELETE.toString()))
.POST(HttpRequest.BodyPublishers.ofString(params.toString())) .POST(HttpRequest.BodyPublishers.ofString(params.toString()))