I’m stuck on Stage #CR8 using Java
No matter what I do I’m always getting unexpected EOF, even if I hardcode the response. I also copy pasted solution from another person and still getting error. My binary seems to be empty somehow…
Here are my logs:
[tester::#CR8] Received bytes: "HTTP/1.1 200 OK\r\nContent-Type: text/plain\r\nContent-Length: 6\r\nContent-Encoding: gzip\r\n\r\n\x1f\x8b\b\x00\x00\x00"
[tester::#CR8] < HTTP/1.1 200 OK
[tester::#CR8] < Content-Type: text/plain
[tester::#CR8] < Content-Length: 6
[tester::#CR8] < Content-Encoding: gzip
[tester::#CR8] <
[tester::#CR8] < <Binary Content>
[tester::#CR8] <
[tester::#CR8] Received response with 200 status code
[tester::#CR8] ✓ Content-Encoding header is present
[tester::#CR8] ✓ Content-Length header is present
[tester::#CR8] Failed to decode gzip: Failed to decompress data: unexpected EOF
And here’s a snippet of my code:
if (resEncodingList.contains("gzip")) {
byte[] resBodyBytes = GzipCompressor.compress(getResBody(response));
outStream = socket.getOutputStream();
String echoStr = "pinapple";
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
try (GZIPOutputStream gzipOutputStream = new GZIPOutputStream(byteArrayOutputStream)) {
gzipOutputStream.write(echoStr.getBytes());
System.out.println("TRY successful");
}
byte[] gzipData = byteArrayOutputStream.toByteArray();
outStream.write(response.getBytes());
outStream.write(gzipData);
}