@Nullable @Override public OfflineStoreRequest getRequest(@Nonnull String bucket, @Nonnull String requestId) throws CloudException, InternalException { APITrace.begin(getProvider(), "Blob.getRequest"); try { final GlacierMethod method = GlacierMethod.build(getProvider(), GlacierAction.DESCRIBE_JOB) .vaultId(bucket) .jobId(requestId) .toMethod(); try { final JSONObject jsonObject = method.invokeJson(); return loadRequestJson(jsonObject, bucket); } catch (GlacierException e) { if (e.getHttpCode() == 404) { return null; } throw e; } catch (JSONException e) { throw new CloudException(e); } } finally { APITrace.end(); } }
@Override public Blob getBucket(@Nonnull String bucketName) throws InternalException, CloudException { APITrace.begin(getProvider(), "Blob.getBucket"); try { if (bucketName.contains("/")) { return null; } String regionId = getContext().getRegionId(); if (regionId == null) { throw new CloudException("No region was set for this request"); } try { GlacierMethod method = GlacierMethod.build(getProvider(), GlacierAction.DESCRIBE_VAULT) .vaultId(bucketName) .toMethod(); JSONObject jsonObject = method.invokeJson(); if (jsonObject == null) { return null; } return loadVaultJson(jsonObject, regionId, method.getUrl()); } catch (GlacierException e) { if (e.getHttpCode() == 404) { return null; } throw e; } catch (JSONException e) { throw new CloudException(e); } } finally { APITrace.end(); } }