Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions mir-it/src/test/java/org/mycore/mir/it/tests/MIRITBase.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.impl.HttpJdkSolrClient;
import org.apache.solr.client.solrj.request.LukeRequest;
import org.apache.solr.client.solrj.response.LukeResponse;
import org.junit.After;
Expand Down Expand Up @@ -49,8 +49,7 @@ String getCoreName() {
public static void setupSolr() {
int solrPort = Integer.parseInt(System.getProperty("solr.port"));
final String baseSolrUrl = String.format("http://localhost:%d/solr/", solrPort);
SOLR_CLIENT = new HttpSolrClient.Builder()
.withBaseSolrUrl(baseSolrUrl)
SOLR_CLIENT = new HttpJdkSolrClient.Builder(baseSolrUrl)
.build();
}

Expand Down
8 changes: 0 additions & 8 deletions mir-module/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -154,14 +154,6 @@
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,16 @@

import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

import org.apache.commons.io.IOUtils;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.mycore.frontend.MCRFrontendUtil;
import org.mycore.services.http.MCRHttpUtils;

import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
Expand All @@ -26,13 +24,11 @@ public class MIRGetOpenAIREProjectsServlet extends HttpServlet {

private static Logger LOGGER = LogManager.getLogger();

private CloseableHttpClient client;
private HttpClient client;

@Override
public void init() throws ServletException {
PoolingHttpClientConnectionManager connectManager = new PoolingHttpClientConnectionManager();
connectManager.setDefaultMaxPerRoute(20);
client = HttpClients.custom().useSystemProperties().setConnectionManager(connectManager).build();
client = MCRHttpUtils.getHttpClient();
}

@Override
Expand All @@ -44,24 +40,29 @@ protected void doGet(HttpServletRequest request, HttpServletResponse response)
: "acronym=" + URLEncoder.encode(acronym, "UTF-8");
String urlString = "http://api.openaire.eu/search/projects?" + suffix;

HttpGet method = new HttpGet(urlString);
try (CloseableHttpResponse httpRes = client.execute(method)) {
response.setStatus(httpRes.getStatusLine().getStatusCode());
HttpEntity entity = httpRes.getEntity();
try (InputStream contentStream = entity.getContent()) {
IOUtils.copy(contentStream, response.getOutputStream());
HttpRequest openaireRequest = MCRHttpUtils.getRequestBuilder()
.uri(URI.create(urlString))
.build();
boolean transmitted = false;
try {
HttpResponse<InputStream> openaireResponse = client
.send(openaireRequest, HttpResponse.BodyHandlers.ofInputStream());
response.setStatus(openaireResponse.statusCode());
try (InputStream contentStream = openaireResponse.body()) {
contentStream.transferTo(response.getOutputStream());
transmitted = true;
}
} catch (InterruptedException e) {
throw new ServletException(e);
} finally {
if (!transmitted) {
LOGGER.error("Error while loading eternal resource: " + openaireRequest.uri());
}
} catch (IOException e) {
LOGGER.error("Failed to load " + urlString, e);
}
}

@Override
public void destroy() {
try {
client.close();
} catch (IOException e) {
LOGGER.error("Could not close HttpClient!", e);
}
client.close();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,18 +23,18 @@
package org.mycore.mir.authorization;

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.List;

import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.jdom2.Attribute;
import org.mycore.common.MCRSessionMgr;
import org.mycore.common.config.MCRConfiguration2;
import org.mycore.services.http.MCRHttpUtils;

import com.google.gson.Gson;

Expand Down Expand Up @@ -94,25 +94,24 @@ public Boolean isSubmittedCaptchaCorrect(final HttpServletRequest request) {
}

private Boolean verifyResponse(final String response, final String ip) {
final CloseableHttpClient client = HttpClientBuilder.create().build();
try (HttpClient client = MCRHttpUtils.getHttpClient()) {
final String url = "https://www.google.com/recaptcha/api/siteverify?secret=" + secretKey + "&response="
+ response + "&remoteip=" + ip;

final String url = "https://www.google.com/recaptcha/api/siteverify?secret=" + secretKey + "&response="
+ response + "&remoteip=" + ip;
final HttpRequest get = MCRHttpUtils.getRequestBuilder().uri(URI.create(url)).build();

final HttpGet get = new HttpGet(url);

try {
final HttpResponse res = client.execute(get);
final String json = EntityUtils.toString(res.getEntity());
final HttpResponse<String> res = client.send(get, HttpResponse.BodyHandlers.ofString());
final String json = res.body();

final Gson gson = new Gson();
final ReCaptchaResult rcResult = gson.fromJson(json, ReCaptchaResult.class);

return Boolean.valueOf(rcResult.success);
} catch (final IOException e) {
} catch (final IOException | InterruptedException e) {
LOGGER.warn("ReCaptcha response could not be verified!", e);
return Boolean.FALSE;
}

}

/**
Expand Down
9 changes: 4 additions & 5 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,7 @@
<pmd.version>7.0.0</pmd.version>
<selenium.version>4.3.0</selenium.version>
<site.suffix />
<solr-runner.solrMirrorURL>https://archive.apache.org/dist/lucene/solr/</solr-runner.solrMirrorURL>
<solr-runner.solrVersionString>8.11.2</solr-runner.solrVersionString>
<solr-runner.solrVersionString>9.6.1</solr-runner.solrVersionString>
<sortpom.sortDeps>scope,groupId,artifactId</sortpom.sortDeps>
<sortpom.sortFile>https://gist.githubusercontent.com/yagee-de/dfd3698c1b49173dbf251f74eb6a9297/raw/406460c088ff3cb6354e4ae6b40535e6f841607d/mycore_sort.xml</sortpom.sortFile>
<sortpom.sortProps>true</sortpom.sortProps>
Expand All @@ -65,12 +64,12 @@
<plugin>
<groupId>org.mycore.plugins</groupId>
<artifactId>solr-runner-maven-plugin</artifactId>
<version>1.4-SNAPSHOT</version>
<version>1.4-SNAPSHOT</version>
<configuration>
<solrMirrorURL>${solr-runner.solrMirrorURL}</solrMirrorURL>
<solrVersionString>${solr-runner.solrVersionString}</solrVersionString>
<cloudMode>true</cloudMode>
<verbose>true</verbose>
<cloudMode>true</cloudMode>
<verbose>true</verbose>
</configuration>
</plugin>
</plugins>
Expand Down
Loading