Skip to content
This repository was archived by the owner on May 3, 2023. It is now read-only.

Commit a877c95

Browse files
fix: HttpException with RequestResponse
1 parent adc5f4a commit a877c95

File tree

5 files changed

+33
-21
lines changed

5 files changed

+33
-21
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
<dependency>
2626
<groupId>com.google.guava</groupId>
2727
<artifactId>guava</artifactId>
28-
<version>31.1-jre</version>
28+
<version>20.0</version>
2929
</dependency>
3030
<!-- Json -->
3131
<dependency>

src/main/java/net/httpclient/wrapper/exception/HttpClientException.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
11
package net.httpclient.wrapper.exception;
22

3+
import net.httpclient.wrapper.response.RequestResponse;
34
import org.apache.http.HttpResponse;
45

56
public class HttpClientException extends HttpException {
67

7-
public HttpClientException(HttpResponse httpResponse) {
8+
/**
9+
* This exception is throw when the code of the response
10+
* is between 400 and 499 included.
11+
* @param httpResponse The response from the server.
12+
*/
13+
public HttpClientException(RequestResponse httpResponse) {
814
super(httpResponse);
915
}
1016

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,21 @@
11
package net.httpclient.wrapper.exception;
22

3+
import net.httpclient.wrapper.response.RequestResponse;
34
import org.apache.http.HttpResponse;
45

5-
public class HttpException extends Exception {
6+
import java.io.IOException;
67

7-
private final HttpResponse httpResponse;
8+
public class HttpException extends Exception {
89

9-
public HttpException(HttpResponse httpResponse) {
10-
super("Http request return status code : " + httpResponse.getStatusLine().getStatusCode());
11-
this.httpResponse = httpResponse;
12-
}
10+
private final RequestResponse requestResponse;
1311

14-
public HttpResponse getHttpResponse() {
15-
return (httpResponse);
12+
public HttpException(RequestResponse requestResponse) {
13+
super("Http request return status code : " + requestResponse.getStatusCode());
14+
this.requestResponse = requestResponse;
1615
}
1716

18-
public int getStatusCode() {
19-
return (getHttpResponse().getStatusLine().getStatusCode());
17+
public RequestResponse getRequestResponse() throws IOException {
18+
return (requestResponse);
2019
}
2120

2221
}

src/main/java/net/httpclient/wrapper/exception/HttpServerException.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
11
package net.httpclient.wrapper.exception;
22

3+
import net.httpclient.wrapper.response.RequestResponse;
34
import org.apache.http.HttpResponse;
45

56
public class HttpServerException extends HttpException {
67

7-
public HttpServerException(HttpResponse httpResponse) {
8+
/**
9+
* This exception is throw when the code of the response
10+
* is between 500 and 599 included.
11+
* @param httpResponse The response from the server.
12+
*/
13+
public HttpServerException(RequestResponse httpResponse) {
814
super(httpResponse);
915
}
1016

src/main/java/net/httpclient/wrapper/session/HttpClientSessionBasic.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ public RequestConfig.Builder setRequestConfig() {
7878

7979
public void resetHttpClient() {
8080
try {
81+
this.httpCookieStore.clear();
8182
this.httpClient = newHttpClient();
8283
} catch (NoSuchAlgorithmException | KeyStoreException | KeyManagementException e) {
8384
throw new RuntimeException(e);
@@ -124,7 +125,7 @@ public RequestResponse sendGet(String url) throws IOException, HttpClientExcepti
124125
httpGet.setConfig(getRequestConfig().build());
125126
httpGet.addHeader(HttpHeaders.ACCEPT, "application/json, text/plain, */*");
126127
HttpResponse httpResponse = getHttpClient().execute(httpGet);
127-
assertRequest(httpResponse);
128+
assertRequest(httpResponse, start);
128129
return (new RequestResponse(httpResponse, start));
129130
}
130131

@@ -136,7 +137,7 @@ public RequestResponse sendPost(String url, String content, ContentType contentT
136137
httpPost.addHeader(HttpHeaders.ACCEPT, "application/json, text/plain, */*");
137138
httpPost.setEntity(new StringEntity(content));
138139
HttpResponse httpResponse = getHttpClient().execute(httpPost);
139-
assertRequest(httpResponse);
140+
assertRequest(httpResponse, start);
140141
return (new RequestResponse(httpResponse, start));
141142
}
142143

@@ -148,7 +149,7 @@ public RequestResponse sendForm(String url, List<NameValuePair> form) throws IOE
148149
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(form, Consts.UTF_8);
149150
httpPost.setEntity(entity);
150151
HttpResponse httpResponse = httpClient.execute(httpPost);
151-
assertRequest(httpResponse);
152+
assertRequest(httpResponse, start);
152153
return (new RequestResponse(httpResponse, start));
153154
}
154155

@@ -158,7 +159,7 @@ public RequestResponse sendDelete(String url) throws IOException, HttpClientExce
158159
httpDelete.setConfig(getRequestConfig().build());
159160
httpDelete.addHeader(HttpHeaders.ACCEPT, "application/json, text/plain, */*");
160161
HttpResponse httpResponse = httpClient.execute(httpDelete);
161-
assertRequest(httpResponse);
162+
assertRequest(httpResponse, start);
162163
return (new RequestResponse(httpResponse, start));
163164
}
164165

@@ -170,16 +171,16 @@ public RequestResponse sendPut(String url, String content, ContentType contentTy
170171
httpPut.addHeader(HttpHeaders.ACCEPT, "application/json, text/plain, */*");
171172
httpPut.setEntity(new StringEntity(content));
172173
HttpResponse httpResponse = getHttpClient().execute(httpPut);
173-
assertRequest(httpResponse);
174+
assertRequest(httpResponse, start);
174175
return (new RequestResponse(httpResponse, start));
175176
}
176177

177-
private void assertRequest(HttpResponse httpResponse) throws HttpClientException, HttpServerException {
178+
private void assertRequest(HttpResponse httpResponse, Date startDate) throws HttpClientException, HttpServerException, IOException {
178179
int statusCode = httpResponse.getStatusLine().getStatusCode();
179180
if (statusCode >= 500 && statusCode <= 599)
180-
throw new HttpServerException(httpResponse);
181+
throw new HttpServerException(new RequestResponse(httpResponse, startDate));
181182
else if (statusCode >= 400 && statusCode <= 499)
182-
throw new HttpClientException(httpResponse);
183+
throw new HttpClientException(new RequestResponse(httpResponse, startDate));
183184
}
184185

185186
/*

0 commit comments

Comments
 (0)