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;
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;
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);
}
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) {