|
1 | 1 | /* |
2 | 2 | * MIT License |
3 | 3 | * |
4 | | - * Copyright (c) 2024 Hydrologic Engineering Center |
| 4 | + * Copyright (c) 2025 Hydrologic Engineering Center |
5 | 5 | * |
6 | 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy |
7 | 7 | * of this software and associated documentation files (the "Software"), to deal |
|
24 | 24 |
|
25 | 25 | package mil.army.usace.hec.cwms.http.client; |
26 | 26 |
|
| 27 | +import static java.util.stream.Collectors.toSet; |
| 28 | + |
| 29 | +import java.io.IOException; |
| 30 | +import java.net.ConnectException; |
| 31 | +import java.net.HttpURLConnection; |
| 32 | +import java.net.SocketTimeoutException; |
| 33 | +import java.net.UnknownHostException; |
| 34 | +import java.security.SignatureException; |
| 35 | +import java.util.HashMap; |
| 36 | +import java.util.Map; |
| 37 | +import java.util.Objects; |
| 38 | +import java.util.Properties; |
| 39 | +import java.util.Set; |
| 40 | +import javax.net.ssl.SSLHandshakeException; |
27 | 41 | import mil.army.usace.hec.cwms.http.client.request.HttpPatchRequest; |
28 | 42 | import mil.army.usace.hec.cwms.http.client.request.HttpPostRequest; |
29 | 43 | import mil.army.usace.hec.cwms.http.client.request.HttpPutRequest; |
|
42 | 56 | import usace.metrics.services.Metrics; |
43 | 57 | import usace.metrics.services.Timer; |
44 | 58 |
|
45 | | -import javax.net.ssl.SSLHandshakeException; |
46 | | -import java.io.IOException; |
47 | | -import java.net.ConnectException; |
48 | | -import java.net.HttpURLConnection; |
49 | | -import java.net.SocketTimeoutException; |
50 | | -import java.net.UnknownHostException; |
51 | | -import java.security.SignatureException; |
52 | | -import java.util.HashMap; |
53 | | -import java.util.Map; |
54 | | -import java.util.Objects; |
55 | | -import java.util.Properties; |
56 | | -import java.util.Set; |
57 | | - |
58 | | -import static java.util.stream.Collectors.toSet; |
59 | | - |
60 | 59 | public class HttpRequestBuilderImpl implements HttpRequestBuilder { |
61 | 60 |
|
62 | 61 | private final String endpoint; |
@@ -153,18 +152,18 @@ Request createRequest() throws IOException { |
153 | 152 | .addPathSegments(endpoint) |
154 | 153 | .build(); |
155 | 154 | } |
156 | | - MediaType type = MediaType.parse(mediaType); |
157 | | - if (type == null) { |
158 | | - throw new IOException("Invalid Media Type: " + mediaType); |
159 | | - } |
160 | 155 | HttpUrl.Builder urlBuilder = resolve.newBuilder(); |
161 | 156 | queryParameters.forEach(urlBuilder::addQueryParameter); |
162 | 157 | Request.Builder requestBuilder = new Request.Builder(); |
163 | 158 | RequestBody requestBody = null; |
164 | 159 | if (body != null) { |
165 | 160 | requestBody = RequestBody.create(body, null); |
| 161 | + MediaType type = MediaType.parse(mediaType); |
| 162 | + if (type == null) { |
| 163 | + throw new IOException("Invalid Media Type: " + mediaType); |
| 164 | + } |
| 165 | + requestBuilder.header("Content-Type", type.toString()); |
166 | 166 | } |
167 | | - requestBuilder.header("Content-Type", type.toString()); |
168 | 167 | requestBuilder.url(urlBuilder.build()); |
169 | 168 | requestBuilder.method(method.getName(), requestBody); |
170 | 169 | queryHeaders.forEach(requestBuilder::addHeader); |
|
0 commit comments