mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-133305 (support in HTTP request builder)
This commit is contained in:
@@ -17,6 +17,7 @@ package com.intellij.util.io;
|
||||
|
||||
import com.intellij.ide.IdeBundle;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.util.net.HttpConfigurable;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@@ -54,6 +55,7 @@ public final class HttpRequests {
|
||||
private int myTimeout = HttpConfigurable.READ_TIMEOUT;
|
||||
private int myRedirectLimit = HttpConfigurable.REDIRECT_LIMIT;
|
||||
private boolean myGzip = true;
|
||||
private boolean myForceHttps = false;
|
||||
|
||||
private RequestBuilder(@NotNull String url) {
|
||||
myUrl = url;
|
||||
@@ -83,6 +85,12 @@ public final class HttpRequests {
|
||||
return this;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public RequestBuilder forceHttps(boolean forceHttps) {
|
||||
myForceHttps = forceHttps;
|
||||
return this;
|
||||
}
|
||||
|
||||
public <T> T connect(@NotNull RequestProcessor<T> processor) throws IOException {
|
||||
return process(this, processor);
|
||||
}
|
||||
@@ -154,6 +162,10 @@ public final class HttpRequests {
|
||||
private static URLConnection openConnection(RequestBuilder builder) throws IOException {
|
||||
String url = builder.myUrl;
|
||||
|
||||
if (builder.myForceHttps && StringUtil.startsWith(url, "http:")) {
|
||||
url = "https:" + url.substring(5);
|
||||
}
|
||||
|
||||
for (int i = 0; i < builder.myRedirectLimit; i++) {
|
||||
URLConnection connection;
|
||||
if (ApplicationManager.getApplication() == null) {
|
||||
|
||||
Reference in New Issue
Block a user