public InputStream getJobOutputFile()

in genie-client/src/main/java/com/netflix/genie/client/JobClient.java [717:754]


    public InputStream getJobOutputFile(
        final String jobId,
        final String outputFilePath,
        @Nullable final Long rangeStart,
        @Nullable final Long rangeEnd
    ) throws IOException, GenieClientException {
        if (StringUtils.isEmpty(jobId)) {
            throw new IllegalArgumentException("Missing required parameter: jobId.");
        }
        if (rangeStart != null && rangeStart < ZERO) {
            throw new IllegalArgumentException("Range start must be greater than or equal to 0");
        }
        if (rangeEnd != null && rangeEnd < ZERO) {
            throw new IllegalArgumentException("Range end must be greater than or equal to 0");
        }

        String rangeHeader = null;
        if (rangeStart != null || rangeEnd != null) {
            if (rangeStart != null && rangeEnd != null) {
                if (rangeEnd < rangeStart) {
                    throw new IllegalArgumentException("Range end must be greater than range start");
                }
                rangeHeader = "bytes=" + rangeStart + "-" + rangeEnd;
            } else if (rangeStart != null) {
                rangeHeader = "bytes=" + rangeStart + "-";
            } else {
                rangeHeader = "bytes=-" + rangeEnd;
            }
        }
        final String pathArg = StringUtils.isEmpty(outputFilePath) ? EMPTY_STRING : outputFilePath;
        final ResponseBody body = rangeHeader == null
            ? this.jobService.getJobOutputFile(jobId, pathArg).execute().body()
            : this.jobService.getJobOutputFile(jobId, pathArg, rangeHeader).execute().body();
        if (body == null) {
            throw new GenieClientException(String.format("No data for %s returned", outputFilePath));
        }
        return body.byteStream();
    }