public GetJobOutputResult unmarshall(JsonUnmarshallerContext context) throws Exception { GetJobOutputResult getJobOutputResult = new GetJobOutputResult(); if (context.isStartOfDocument()) { if (context.getHeader("x-amz-sha256-tree-hash") != null) getJobOutputResult.setChecksum(context.getHeader("x-amz-sha256-tree-hash")); if (context.getHeader("Content-Range") != null) getJobOutputResult.setContentRange(context.getHeader("Content-Range")); if (context.getHeader("Accept-Ranges") != null) getJobOutputResult.setAcceptRanges(context.getHeader("Accept-Ranges")); if (context.getHeader("Content-Type") != null) getJobOutputResult.setContentType(context.getHeader("Content-Type")); if (context.getHeader("x-amz-archive-description") != null) getJobOutputResult.setArchiveDescription(context.getHeader("x-amz-archive-description")); } getJobOutputResult.setStatus(context.getHttpResponse().getStatusCode()); getJobOutputResult.setBody( new LengthCheckInputStream( context.getHttpResponse().getContent(), Long.parseLong(context.getHeader("Content-Length")), INCLUDE_SKIPPED_BYTES)); return getJobOutputResult; }