BAEL-4856 Code review
This commit is contained in:
parent
f3a5ca615e
commit
60b98a552e
|
@ -4,7 +4,6 @@ import okhttp3.OkHttpClient;
|
||||||
import okhttp3.Request;
|
import okhttp3.Request;
|
||||||
import okhttp3.Response;
|
import okhttp3.Response;
|
||||||
import okhttp3.ResponseBody;
|
import okhttp3.ResponseBody;
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
@ -22,36 +21,13 @@ public class BinaryFileDownloader implements AutoCloseable {
|
||||||
}
|
}
|
||||||
|
|
||||||
public long download(String url) throws IOException {
|
public long download(String url) throws IOException {
|
||||||
Request request = createRequest(url);
|
Request request = new Request.Builder().url(url).build();
|
||||||
Response response = executeRequest(request);
|
Response response = client.newCall(request).execute();
|
||||||
ResponseBody responseBody = getResponseBodyOrFail(response);
|
|
||||||
double length = getResponseLength(response);
|
|
||||||
return write(responseBody, length);
|
|
||||||
}
|
|
||||||
|
|
||||||
@NotNull
|
|
||||||
private Request createRequest(String url) {
|
|
||||||
return new Request.Builder().url(url).build();
|
|
||||||
}
|
|
||||||
|
|
||||||
@NotNull
|
|
||||||
private Response executeRequest(Request request) throws IOException {
|
|
||||||
return client.newCall(request).execute();
|
|
||||||
}
|
|
||||||
|
|
||||||
private ResponseBody getResponseBodyOrFail(Response response) {
|
|
||||||
ResponseBody responseBody = response.body();
|
ResponseBody responseBody = response.body();
|
||||||
if (responseBody == null) {
|
if (responseBody == null) {
|
||||||
throw new IllegalStateException("Response doesn't contain a file");
|
throw new IllegalStateException("Response doesn't contain a file");
|
||||||
}
|
}
|
||||||
return responseBody;
|
double length = Double.parseDouble(Objects.requireNonNull(response.header(CONTENT_LENGTH, "1")));
|
||||||
}
|
|
||||||
|
|
||||||
private double getResponseLength(Response response) {
|
|
||||||
return Double.parseDouble(Objects.requireNonNull(response.header(CONTENT_LENGTH, "1")));
|
|
||||||
}
|
|
||||||
|
|
||||||
private long write(ResponseBody responseBody, double length) throws IOException {
|
|
||||||
return writer.write(responseBody.byteStream(), length);
|
return writer.write(responseBody.byteStream(), length);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue