Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
1 change: 1 addition & 0 deletions src/main/java/me/itzg/helpers/get/GetCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -388,6 +388,7 @@ private Path processSingleUri(URI uri, CloseableHttpClient client,

final Path file;
try {
log.debug("Executing {} with headers={}", request, request.getHeaders());
file = client.execute(request, handler);
} catch (HttpResponseException e) {
throw new FailedToDownloadException(uri, e);
Expand Down
3 changes: 1 addition & 2 deletions src/main/java/me/itzg/helpers/get/JsonPathOutputHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,9 @@
import java.nio.file.Path;
import java.util.List;
import java.util.stream.Collectors;
import org.apache.hc.client5.http.impl.classic.AbstractHttpClientResponseHandler;
import org.apache.hc.core5.http.HttpEntity;

class JsonPathOutputHandler extends AbstractHttpClientResponseHandler<Path> implements OutputResponseHandler {
class JsonPathOutputHandler extends LoggingResponseHandler<Path> implements OutputResponseHandler {

private final PrintWriter writer;
private final String jsonPath;
Expand Down
22 changes: 22 additions & 0 deletions src/main/java/me/itzg/helpers/get/LoggingResponseHandler.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package me.itzg.helpers.get;

import java.io.IOException;
import lombok.extern.slf4j.Slf4j;
import org.apache.hc.client5.http.impl.classic.AbstractHttpClientResponseHandler;
import org.apache.hc.core5.http.ClassicHttpResponse;
import org.slf4j.Logger;

@Slf4j
public abstract class LoggingResponseHandler<T> extends AbstractHttpClientResponseHandler<T> {

static void logResponse(Logger log, ClassicHttpResponse response) {
log.debug("Response: status={}, reason={}, headers={}",
response.getCode(), response.getReasonPhrase(), response.getHeaders());
}

@Override
public T handleResponse(ClassicHttpResponse response) throws IOException {
logResponse(log, response);
return super.handleResponse(response);
}
}
2 changes: 2 additions & 0 deletions src/main/java/me/itzg/helpers/get/NotModifiedHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ public NotModifiedHandler(Path file, OutputResponseHandler delegate, boolean log

@Override
public Path handleResponse(ClassicHttpResponse response) throws HttpException, IOException {
LoggingResponseHandler.logResponse(log, response);

if (response.getCode() == HttpStatus.SC_NOT_MODIFIED) {
if (logProgressEach) {
log.info("Skipping {} since it is already up to date", file);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ public OutputToDirectoryHandler(Path directory,

@Override
public Path handleResponse(ClassicHttpResponse response) throws HttpException, IOException {
LoggingResponseHandler.logResponse(log, response);

final String filename = filenameExtractor.extract(response);

final Path filePath = directory.resolve(filename);
Expand Down
3 changes: 1 addition & 2 deletions src/main/java/me/itzg/helpers/get/PrintWriterHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@
import java.io.IOException;
import java.io.PrintWriter;
import java.nio.file.Path;
import org.apache.hc.client5.http.impl.classic.AbstractHttpClientResponseHandler;
import org.apache.hc.core5.http.HttpEntity;

class PrintWriterHandler extends AbstractHttpClientResponseHandler<Path> implements OutputResponseHandler {
class PrintWriterHandler extends LoggingResponseHandler<Path> implements OutputResponseHandler {
private final PrintWriter writer;

public PrintWriterHandler(PrintWriter writer) {
Expand Down
3 changes: 1 addition & 2 deletions src/main/java/me/itzg/helpers/get/SaveToFileHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,10 @@
import java.nio.file.Files;
import java.nio.file.Path;
import lombok.extern.slf4j.Slf4j;
import org.apache.hc.client5.http.impl.classic.AbstractHttpClientResponseHandler;
import org.apache.hc.core5.http.HttpEntity;

@Slf4j
public class SaveToFileHandler extends AbstractHttpClientResponseHandler<Path> implements OutputResponseHandler {
public class SaveToFileHandler extends LoggingResponseHandler<Path> implements OutputResponseHandler {

private final Path outputFile;
private final boolean logProgressEach;
Expand Down