From 82fc930c02c23852bc8dac05db80b1be9a6dd49c Mon Sep 17 00:00:00 2001 From: Alexis Delhaie Date: Fri, 15 Jan 2021 11:57:19 +0100 Subject: [PATCH] Fix empty response error --- pom.xml | 16 +++++++++++++++- .../endpoint/configuration/AboutDialog.java | 2 +- .../alexisdelhaie/endpoint/http/HttpClient.java | 3 +++ .../alexisdelhaie/endpoint/http/Response.java | 14 +++++++++----- 4 files changed, 28 insertions(+), 7 deletions(-) diff --git a/pom.xml b/pom.xml index 81cc167..3552eb0 100644 --- a/pom.xml +++ b/pom.xml @@ -6,12 +6,26 @@ ovh.alexisdelhaie EndPoint - 0.1.3 + 0.1.5.3 + jar 15 + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 15 + + + + + diff --git a/src/main/java/ovh/alexisdelhaie/endpoint/configuration/AboutDialog.java b/src/main/java/ovh/alexisdelhaie/endpoint/configuration/AboutDialog.java index 35cf74c..2b81fe3 100644 --- a/src/main/java/ovh/alexisdelhaie/endpoint/configuration/AboutDialog.java +++ b/src/main/java/ovh/alexisdelhaie/endpoint/configuration/AboutDialog.java @@ -13,7 +13,7 @@ public class AboutDialog extends JDialog { public static final int WIDTH = 740; public static final int HEIGHT = 500; - public static final String VERSION = "0.1.5.2"; + public static final String VERSION = "0.1.5.3"; private JPanel contentPane; private JLabel version; diff --git a/src/main/java/ovh/alexisdelhaie/endpoint/http/HttpClient.java b/src/main/java/ovh/alexisdelhaie/endpoint/http/HttpClient.java index 23f6eea..7c3ebbf 100644 --- a/src/main/java/ovh/alexisdelhaie/endpoint/http/HttpClient.java +++ b/src/main/java/ovh/alexisdelhaie/endpoint/http/HttpClient.java @@ -1,6 +1,7 @@ package ovh.alexisdelhaie.endpoint.http; import ovh.alexisdelhaie.endpoint.configuration.ConfigurationProperties; +import ovh.alexisdelhaie.endpoint.utils.MessageDialog; import javax.net.ssl.*; import java.io.BufferedInputStream; @@ -88,6 +89,8 @@ public class HttpClient { long time = end.toEpochMilli() - start.toEpochMilli(); r.setRawRequest(request); return Optional.of(new Response(b, time, downgraded, r)); + } catch (Exception e) { + MessageDialog.error("HTTP Error", e.getMessage()); } finally { s.close(); } diff --git a/src/main/java/ovh/alexisdelhaie/endpoint/http/Response.java b/src/main/java/ovh/alexisdelhaie/endpoint/http/Response.java index 676a1af..1451415 100644 --- a/src/main/java/ovh/alexisdelhaie/endpoint/http/Response.java +++ b/src/main/java/ovh/alexisdelhaie/endpoint/http/Response.java @@ -29,14 +29,18 @@ public class Response { headers = new HashMap<>(); rawResponse = new String(res, StandardCharsets.UTF_8); int crlf = rawResponse.indexOf(DOUBLE_CRLF); - rawHeaders = rawResponse.substring(0, crlf); - parseHeaders(); - rawResponse = new String(res, getEncoding()); - body = rawResponse.substring(crlf + DOUBLE_CRLF.length()); + if (crlf > 0) { + rawHeaders = rawResponse.substring(0, crlf); + parseHeaders(); + rawResponse = new String(res, getEncoding()); + body = rawResponse.substring(crlf + DOUBLE_CRLF.length()); + parseBody(); + } else { + rawHeaders = rawResponse; + } this.time = time; request = r; this.downgraded = downgraded; - parseBody(); } private void parseHeaders() {