|
18 | 18 | import javax.ws.rs.client.Client; |
19 | 19 | import javax.ws.rs.client.ClientBuilder; |
20 | 20 | import javax.ws.rs.client.Entity; |
| 21 | +import javax.ws.rs.client.Invocation.Builder; |
21 | 22 | import javax.ws.rs.client.WebTarget; |
22 | 23 | import javax.ws.rs.core.HttpHeaders; |
23 | 24 | import javax.ws.rs.core.MediaType; |
@@ -63,18 +64,21 @@ public <REQ, RES> RestResponse<RES> call(final String httpMethod, final String u |
63 | 64 | try { |
64 | 65 | WebTarget target = getTarget(this.basePath); |
65 | 66 | addAuthHeaders(target, getAuthentication()); |
66 | | - |
67 | | - final Entity<REQ> requestEntity = Entity.entity(request, MediaType.APPLICATION_FORM_URLENCODED_TYPE); |
68 | | - final Response response; |
69 | 67 | target = target.path(urlTemplate); |
70 | 68 | if ((queryParams != null) && (queryParams.size() > 0)) { |
71 | 69 | for (final String paramKey : queryParams.keySet()) { |
72 | 70 | target = target.queryParam(paramKey, queryParams.get(paramKey)); |
73 | 71 | } |
74 | 72 | } |
75 | | - response = target.request(DEFAULT_ACCEPT_TYPES) |
76 | | - .header(HttpHeaders.USER_AGENT, getUserAgent()) |
77 | | - .method(httpMethod, requestEntity); |
| 73 | + |
| 74 | + Response response; |
| 75 | + Builder builder = target.request(DEFAULT_ACCEPT_TYPES).header(HttpHeaders.USER_AGENT, getUserAgent()); |
| 76 | + if ("POST".equals(httpMethod) || "PUT".equals(httpMethod)) { |
| 77 | + final Entity<REQ> requestEntity = Entity.entity(request, MediaType.APPLICATION_FORM_URLENCODED_TYPE); |
| 78 | + response = builder.method(httpMethod, requestEntity); |
| 79 | + } else { |
| 80 | + response = builder.method(httpMethod); |
| 81 | + } |
78 | 82 |
|
79 | 83 | final RestResponse<RES> restResponse = new RestResponse<RES>(); |
80 | 84 | restResponse.setStatusCode(response.getStatus()); |
|
0 commit comments