From 135cd4e65f69f3c6dc04b393d0ea83d315dd8646 Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Fri, 21 Feb 2025 19:56:05 +0100 Subject: [PATCH] [platform] switching `RegionUrlMapper` to `HttpClient` (IJPL-178828) GitOrigin-RevId: 0a807258981eec45af2cf1211786213ddfc5b962 --- .../src/com/intellij/ide/RegionUrlMapper.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/ide/RegionUrlMapper.java b/platform/platform-impl/src/com/intellij/ide/RegionUrlMapper.java index eff63fe30a15..71241315870d 100644 --- a/platform/platform-impl/src/com/intellij/ide/RegionUrlMapper.java +++ b/platform/platform-impl/src/com/intellij/ide/RegionUrlMapper.java @@ -1,4 +1,4 @@ -// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package com.intellij.ide; import com.github.benmanes.caffeine.cache.AsyncLoadingCache; @@ -10,7 +10,6 @@ import com.intellij.openapi.util.text.Strings; import com.intellij.util.SmartList; import com.intellij.util.concurrency.annotations.RequiresBackgroundThread; import com.intellij.util.concurrency.annotations.RequiresReadLockAbsence; -import com.intellij.util.io.HttpRequests; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -18,6 +17,10 @@ import org.jetbrains.io.JsonReaderEx; import org.jetbrains.io.JsonUtil; import java.io.IOException; +import java.net.URI; +import java.net.http.HttpClient; +import java.net.http.HttpRequest; +import java.net.http.HttpResponse; import java.util.*; import java.util.concurrent.CancellationException; import java.util.concurrent.CompletableFuture; @@ -173,9 +176,11 @@ public final class RegionUrlMapper { return ourCache.get(region); } - private static @NotNull RegionMapping doLoadMappingOrThrow(@NotNull Region reg) throws IOException, JsonParseException { - String configUrl = getConfigUrl(reg); - String json = HttpRequests.request(configUrl).readString(); + private static RegionMapping doLoadMappingOrThrow(Region reg) throws Exception { + var configUrl = getConfigUrl(reg); + var client = HttpClient.newBuilder().followRedirects(HttpClient.Redirect.NORMAL).build(); + var request = HttpRequest.newBuilder(new URI(configUrl)).build(); + var json = client.send(request, HttpResponse.BodyHandlers.ofString()).body(); return RegionMapping.fromJson(json); }