Как имитировать HTTP-ответ Zip-файла - Получение исключения java.io.EOFException

Я попытался издеваться над HTTP-ответом zip-файла с помощью com.github.paweladamski:HttpClientMock:1.8.1 но я получаю java.io.EOFExceptionпри загрузке HTTP-ответа похоже, что в потоке нет данных для использования. Возможно, я что-то делаю не так. Не могли бы вы подсказать какие-нибудь подсказки по этой проблеме? Не стесняйтесь предлагать любой другой фиктивный клиент, который может решить эту проблему - требуется имитировать HTTP-ответ zip-файла.

Образец кода

      Action action = new Action() {
    @Override
    public HttpResponse getResponse(Request request) throws IOException {
        BasicHttpResponse response = new BasicHttpResponse(new ProtocolVersion("http", 1, 1), status, statusMessage);
        FileEntity entity = new FileEntity(new File("C:/sample-response.zip"));
        response.setEntity(entity);
        return response;
    }
};

HttpClientMock httpClientMock = new HttpClientMock();
Unirest.config().httpClient(ApacheClient.builder(httpClientMock));

httpClientMock.onGet("http://example.com").doAction(action);

// Rest Request Initiated
// Used code to download

HttpGet httpGet = new HttpGet(downloadLocation);
httpGet.addHeader(AUTHORIZATION, "TOKEN");
CloseableHttpClient client = HttpClients.createDefault();
CloseableHttpResponse response = client.execute(httpGet);
HttpEntity entity = response.getEntity();

InputStream content = entity.getContent();
LOGGER.info("** Stream length '{}'", content.available());  // 'content.available()' throwing java.io.EOFException

Стек исключений

      java.io.EOFException
    at java.util.zip.GZIPInputStream.readUByte(GZIPInputStream.java:268)
    at java.util.zip.GZIPInputStream.readUShort(GZIPInputStream.java:258)
    at java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:164)
    at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:79)
    at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:91)
    at org.apache.http.client.entity.GZIPInputStreamFactory.create(GZIPInputStreamFactory.java:61)
    at org.apache.http.client.entity.LazyDecompressingInputStream.initWrapper(LazyDecompressingInputStream.java:51)
    at org.apache.http.client.entity.LazyDecompressingInputStream.available(LazyDecompressingInputStream.java:86)

Детали Maven HttpClientMock - 1.8.1

0 ответов

Другие вопросы по тегам