public InputSupplier<InputStream> getBlobInputStream(BlobStore blobStore, String containerName, String blobName, boolean signedRequest)
throws Exception {
if (signedRequest) {
BlobStoreContext context = blobStore.getContext();
HttpRequest request = context.getSigner().signGetBlob(containerName, blobName);
HttpClient httpClient = context.utils().http();
HttpResponse response = httpClient.invoke(request);
int statusCode = response.getStatusCode();
if (statusCode != 200) {
throw new IOException(response.getStatusLine());
}