SbloodyS commented on code in PR #16413:
URL: 
https://github.com/apache/dolphinscheduler/pull/16413#discussion_r1703564540


##########
dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/OkHttpUtils.java:
##########
@@ -35,53 +39,148 @@
 
 public class OkHttpUtils {
 
-    private static final OkHttpClient CLIENT = new OkHttpClient.Builder()
-            .connectTimeout(5, TimeUnit.MINUTES) // connect timeout
-            .writeTimeout(5, TimeUnit.MINUTES) // write timeout
-            .readTimeout(5, TimeUnit.MINUTES)
-            .build();
-
-    public static @NonNull String get(@NonNull String url,
-                                      @Nullable Map<String, String> 
httpHeaders,
-                                      @Nullable Map<String, Object> 
requestParams) throws IOException {
+    private static OkHttpClient CLIENT = new OkHttpClient();
+
+    /**
+     * http get request
+     * @param connectTimeout connect timeout in milliseconds
+     * @param writeTimeout write timeout in milliseconds
+     * @param readTimeout read timeout in milliseconds
+     * @return OkHttpResponse
+     * @throws RuntimeException
+     */
+    public static @NonNull OkHttpResponse get(@NonNull String url,
+                                              @Nullable OkHttpRequestHeaders 
okHttpRequestHeaders,
+                                              @Nullable Map<String, Object> 
requestParams,
+                                              int connectTimeout,
+                                              int writeTimeout,
+                                              int readTimeout) throws 
IOException {
+        CLIENT.newBuilder()
+                .connectTimeout(connectTimeout, TimeUnit.MILLISECONDS)
+                .writeTimeout(writeTimeout, TimeUnit.MILLISECONDS)
+                .readTimeout(readTimeout, TimeUnit.MILLISECONDS)
+                .build();
         String finalUrl = addUrlParams(requestParams, url);
         Request.Builder requestBuilder = new Request.Builder().url(finalUrl);
-        addHeader(httpHeaders, requestBuilder);
+        addHeader(okHttpRequestHeaders.getHeaders(), requestBuilder);
         Request request = requestBuilder.build();
         try (Response response = CLIENT.newCall(request).execute()) {
-            return getResponseBody(response);
+            return new OkHttpResponse(response.code(), 
getResponseBody(response));
+        } catch (Exception e) {
+            throw new RuntimeException(String.format("Get request execute 
failed, url: %s", url), e);
         }
     }
 
-    public static @NonNull String post(@NonNull String url,
-                                       @Nullable Map<String, String> 
httpHeaders,
-                                       @Nullable Map<String, Object> 
requestParamsMap,
-                                       @Nullable Map<String, Object> 
requestBodyMap) throws IOException {
+    /**
+     * http post request
+     * @param connectTimeout connect timeout in milliseconds
+     * @param writeTimeout write timeout in milliseconds
+     * @param readTimeout read timeout in milliseconds
+     * @return OkHttpResponse
+     * @throws RuntimeException
+     */
+    public static @NonNull OkHttpResponse post(@NonNull String url,
+                                               @Nullable OkHttpRequestHeaders 
okHttpRequestHeaders,
+                                               @Nullable Map<String, Object> 
requestParamsMap,
+                                               @Nullable Map<String, Object> 
requestBodyMap,
+                                               int connectTimeout,
+                                               int writeTimeout,
+                                               int readTimeout) throws 
IOException {
+        CLIENT.newBuilder()
+                .connectTimeout(connectTimeout, TimeUnit.MILLISECONDS)
+                .writeTimeout(writeTimeout, TimeUnit.MILLISECONDS)
+                .readTimeout(readTimeout, TimeUnit.MILLISECONDS)
+                .build();
         String finalUrl = addUrlParams(requestParamsMap, url);

Review Comment:
   `FormBody` doesn't apply to get request. I think we can keep it that way.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to