mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-16 02:06:18 +01:00
use ahc for internal http operations
This commit is contained in:
@@ -35,7 +35,6 @@ package sonia.scm.installer;
|
||||
|
||||
//~--- non-JDK imports --------------------------------------------------------
|
||||
|
||||
import sonia.scm.net.HttpClient;
|
||||
import sonia.scm.repository.HgConfig;
|
||||
import sonia.scm.repository.HgRepositoryHandler;
|
||||
import sonia.scm.util.IOUtil;
|
||||
@@ -44,6 +43,7 @@ import sonia.scm.util.IOUtil;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import sonia.scm.net.ahc.AdvancedHttpClient;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -93,7 +93,7 @@ public abstract class AbstractHgInstaller implements HgInstaller
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public boolean installPackage(HttpClient client, HgRepositoryHandler handler,
|
||||
public boolean installPackage(AdvancedHttpClient client, HgRepositoryHandler handler,
|
||||
File baseDirectory, HgPackage pkg)
|
||||
{
|
||||
return new HgPackageInstaller(client, handler, baseDirectory,
|
||||
|
||||
@@ -35,7 +35,7 @@ package sonia.scm.installer;
|
||||
|
||||
//~--- non-JDK imports --------------------------------------------------------
|
||||
|
||||
import sonia.scm.net.HttpClient;
|
||||
import sonia.scm.net.ahc.AdvancedHttpClient;
|
||||
import sonia.scm.repository.HgConfig;
|
||||
import sonia.scm.repository.HgRepositoryHandler;
|
||||
|
||||
@@ -78,8 +78,8 @@ public interface HgInstaller
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public boolean installPackage(HttpClient client, HgRepositoryHandler handler,
|
||||
File baseDirectory, HgPackage pkg);
|
||||
public boolean installPackage(AdvancedHttpClient client,
|
||||
HgRepositoryHandler handler, File baseDirectory, HgPackage pkg);
|
||||
|
||||
/**
|
||||
* Method description
|
||||
|
||||
@@ -40,10 +40,10 @@ import org.slf4j.LoggerFactory;
|
||||
|
||||
import sonia.scm.SCMContext;
|
||||
import sonia.scm.io.ZipUnArchiver;
|
||||
import sonia.scm.net.HttpClient;
|
||||
import sonia.scm.repository.HgWindowsPackageFix;
|
||||
import sonia.scm.net.ahc.AdvancedHttpClient;
|
||||
import sonia.scm.repository.HgConfig;
|
||||
import sonia.scm.repository.HgRepositoryHandler;
|
||||
import sonia.scm.repository.HgWindowsPackageFix;
|
||||
import sonia.scm.util.IOUtil;
|
||||
|
||||
//~--- JDK imports ------------------------------------------------------------
|
||||
@@ -80,8 +80,8 @@ public class HgPackageInstaller implements Runnable
|
||||
* @param baseDirectory
|
||||
* @param pkg
|
||||
*/
|
||||
public HgPackageInstaller(HttpClient client, HgRepositoryHandler handler,
|
||||
File baseDirectory, HgPackage pkg)
|
||||
public HgPackageInstaller(AdvancedHttpClient client,
|
||||
HgRepositoryHandler handler, File baseDirectory, HgPackage pkg)
|
||||
{
|
||||
this.client = client;
|
||||
this.handler = handler;
|
||||
@@ -155,7 +155,7 @@ public class HgPackageInstaller implements Runnable
|
||||
}
|
||||
|
||||
// TODO error handling
|
||||
input = client.get(pkg.getUrl()).getContent();
|
||||
input = client.get(pkg.getUrl()).request().contentAsStream();
|
||||
output = new FileOutputStream(file);
|
||||
IOUtil.copy(input, output);
|
||||
}
|
||||
@@ -265,7 +265,7 @@ public class HgPackageInstaller implements Runnable
|
||||
private File baseDirectory;
|
||||
|
||||
/** Field description */
|
||||
private HttpClient client;
|
||||
private AdvancedHttpClient client;
|
||||
|
||||
/** Field description */
|
||||
private HgRepositoryHandler handler;
|
||||
|
||||
@@ -36,7 +36,6 @@ package sonia.scm.installer;
|
||||
//~--- non-JDK imports --------------------------------------------------------
|
||||
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Provider;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@@ -44,22 +43,17 @@ import org.slf4j.LoggerFactory;
|
||||
import sonia.scm.PlatformType;
|
||||
import sonia.scm.cache.Cache;
|
||||
import sonia.scm.cache.CacheManager;
|
||||
import sonia.scm.net.HttpClient;
|
||||
import sonia.scm.net.HttpResponse;
|
||||
import sonia.scm.util.IOUtil;
|
||||
import sonia.scm.net.ahc.AdvancedHttpClient;
|
||||
import sonia.scm.util.SystemUtil;
|
||||
import sonia.scm.util.Util;
|
||||
|
||||
//~--- JDK imports ------------------------------------------------------------
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.bind.JAXB;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Sebastian Sdorra
|
||||
@@ -85,14 +79,14 @@ public class HgPackageReader
|
||||
*
|
||||
*
|
||||
* @param cacheManager
|
||||
* @param httpClientProvider
|
||||
* @param httpClient
|
||||
*/
|
||||
@Inject
|
||||
public HgPackageReader(CacheManager cacheManager,
|
||||
Provider<HttpClient> httpClientProvider)
|
||||
AdvancedHttpClient httpClient)
|
||||
{
|
||||
cache = cacheManager.getCache(String.class, HgPackages.class, CACHENAME);
|
||||
this.httpClientProvider = httpClientProvider;
|
||||
this.httpClient = httpClient;
|
||||
}
|
||||
|
||||
//~--- get methods ----------------------------------------------------------
|
||||
@@ -167,7 +161,7 @@ public class HgPackageReader
|
||||
if (logger.isDebugEnabled())
|
||||
{
|
||||
logger.debug("reject package {}, because of wrong platform {}",
|
||||
pkg.getId(), pkg.getPlatform());
|
||||
pkg.getId(), pkg.getPlatform());
|
||||
}
|
||||
|
||||
add = false;
|
||||
@@ -181,7 +175,7 @@ public class HgPackageReader
|
||||
if (logger.isDebugEnabled())
|
||||
{
|
||||
logger.debug("reject package {}, because of wrong arch {}",
|
||||
pkg.getId(), pkg.getArch());
|
||||
pkg.getId(), pkg.getArch());
|
||||
}
|
||||
|
||||
add = false;
|
||||
@@ -218,23 +212,19 @@ public class HgPackageReader
|
||||
}
|
||||
|
||||
HgPackages packages = null;
|
||||
InputStream input = null;
|
||||
|
||||
try
|
||||
{
|
||||
HttpResponse response = httpClientProvider.get().get(PACKAGEURL);
|
||||
|
||||
input = response.getContent();
|
||||
packages = JAXB.unmarshal(input, HgPackages.class);
|
||||
//J-
|
||||
packages = httpClient.get(PACKAGEURL)
|
||||
.request()
|
||||
.contentFromXml(HgPackages.class);
|
||||
//J+
|
||||
}
|
||||
catch (IOException ex)
|
||||
{
|
||||
logger.error("could not read HgPackages from ".concat(PACKAGEURL), ex);
|
||||
}
|
||||
finally
|
||||
{
|
||||
IOUtil.close(input);
|
||||
}
|
||||
|
||||
if (packages == null)
|
||||
{
|
||||
@@ -251,5 +241,5 @@ public class HgPackageReader
|
||||
private Cache<String, HgPackages> cache;
|
||||
|
||||
/** Field description */
|
||||
private Provider<HttpClient> httpClientProvider;
|
||||
private AdvancedHttpClient httpClient;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user