Decorate all requests with auth headers
Change-Id: I7aac848d2bb220c85b42d9e769d3f04a3842ceb4
diff --git a/plugin/src/main/java/de/ids_mannheim/korap/plkexport/IdsExportService.java b/plugin/src/main/java/de/ids_mannheim/korap/plkexport/IdsExportService.java
index a8d691e..1e2230d 100644
--- a/plugin/src/main/java/de/ids_mannheim/korap/plkexport/IdsExportService.java
+++ b/plugin/src/main/java/de/ids_mannheim/korap/plkexport/IdsExportService.java
@@ -233,16 +233,12 @@
String resp;
WebTarget resource;
+ Invocation.Builder reqBuilder;
+
try {
resource = client.target(uri.build());
- Invocation.Builder reqBuilder = resource.request(MediaType.APPLICATION_JSON);
- if (xff != "") {
- reqBuilder = reqBuilder.header("X-Forwarded-For", xff);
- };
- if (auth != "") {
- reqBuilder = reqBuilder.header("Authorization", auth);
- };
- resp = reqBuilder.get(String.class);
+ reqBuilder = resource.request(MediaType.APPLICATION_JSON);
+ resp = authBuilder(reqBuilder, xff, auth).get(String.class);
} catch (Exception e) {
throw new WebApplicationException(
responseForm(Status.BAD_GATEWAY, "Unable to reach Backend")
@@ -304,18 +300,18 @@
// better delete after it is not needed anymore
expTmp.deleteOnExit();
- // position of pages, 1 = first page, 2 = middle pages, 3 = last page
int pos = 0;
- // String urlorg = url;
uri.queryParam("offset", "{offset}");
+
for (int i = 1; i <= pg; i++) {
// url = urlorg + "&page=" + i;
// resource = client.target(url);
resource = client.target(
uri.build((i * pageSize) - pageSize)
);
- resp = resource.request(MediaType.APPLICATION_JSON)
- .get(String.class);
+
+ reqBuilder = resource.request(MediaType.APPLICATION_JSON);
+ resp = authBuilder(reqBuilder, xff, auth).get(String.class);
if (i < pg) {
pos = 2;
@@ -363,6 +359,19 @@
return responseForm(null, null);
}
+ // Decorate request with auth headers
+ private Invocation.Builder authBuilder (Invocation.Builder reqBuilder, String xff, String auth) {
+ if (xff != "") {
+ reqBuilder = reqBuilder.header("X-Forwarded-For", xff);
+ };
+ if (auth != "") {
+ reqBuilder = reqBuilder.header("Authorization", auth);
+ };
+
+ return reqBuilder;
+ };
+
+
private Response responseForm (Status code, String msg) {
StringWriter out = new StringWriter();
HashMap<String, Object> templateData = new HashMap<String, Object>();