@Override
    public GetObjectResult parse(Response response) throws IOException {
      GetObjectResult result = new GetObjectResult();

      result.setRequestId(response.header(OSSHeaders.OSS_HEADER_REQUEST_ID));
      result.setStatusCode(response.code());
      result.setResponseHeader(parseResponseHeader(response));
      result.setMetadata(parseObjectMetadata(result.getResponseHeader()));
      result.setContentLength(response.body().contentLength());
      result.setObjectContent(response.body().byteStream());

      // keep body stream open for reading content
      return result;
    }