List of usage examples for com.google.common.io BaseEncoding decode
public final byte[] decode(CharSequence chars)
From source file:org.sfs.validate.ValidateParamIsBase64Encoded.java
@Override public SfsRequest call(SfsRequest httpServerRequest) { MultiMap params = httpServerRequest.params(); String value = params.get(paramName); if (value != null) { boolean failed = false; BaseEncoding baseEncoding = base64(); try {/*from w w w. ja va 2 s . c o m*/ byte[] decoded = baseEncoding.decode(value); if (decoded == null || value.equals(baseEncoding.encode(decoded))) { failed = true; } } catch (Throwable e) { // do nothing } if (failed) { JsonObject jsonObject = new JsonObject().put("message", format("%s must be Base64 encoded", paramName)); throw new HttpRequestValidationException(HTTP_BAD_REQUEST, jsonObject); } } return httpServerRequest; }
From source file:org.sfs.validate.ValidateHeaderIsBase64Encoded.java
@Override public SfsRequest call(SfsRequest httpServerRequest) { MultiMap headers = httpServerRequest.headers(); String value = headers.get(headerName); if (value != null) { boolean failed = false; BaseEncoding baseEncoding = base64(); try {/*from w w w.j a v a2s. c om*/ byte[] decoded = baseEncoding.decode(value); if (decoded == null || !value.equals(baseEncoding.encode(decoded))) { failed = true; } } catch (Throwable e) { // do nothing } if (failed) { JsonObject jsonObject = new JsonObject().put("message", format("%s must be Base64 encoded", headerName)); throw new HttpRequestValidationException(HTTP_BAD_REQUEST, jsonObject); } } return httpServerRequest; }
From source file:org.sfs.validate.ValidateHeaderIsBase16LowercaseEncoded.java
@Override public SfsRequest call(SfsRequest httpServerRequest) { MultiMap headers = httpServerRequest.headers(); String value = headers.get(headerName); if (value != null) { boolean failed = false; BaseEncoding baseEncoding = base16().lowerCase(); try {/* w w w. ja va2 s .c o m*/ byte[] decoded = baseEncoding.decode(value); if (decoded == null) { failed = true; } else { String encoded = baseEncoding.encode(decoded); if (!value.equals(encoded)) { failed = true; } } } catch (Throwable e) { // do nothing } if (failed) { JsonObject jsonObject = new JsonObject().put("message", format("%s must be Base16 lowercase encoded", headerName)); throw new HttpRequestValidationException(HTTP_BAD_REQUEST, jsonObject); } } return httpServerRequest; }
From source file:com.google.cloud.storage.spi.v1.HttpStorageRpc.java
private static void setEncryptionHeaders(HttpHeaders headers, String headerPrefix, Map<Option, ?> options) { String key = Option.CUSTOMER_SUPPLIED_KEY.getString(options); if (key != null) { BaseEncoding base64 = BaseEncoding.base64(); HashFunction hashFunction = Hashing.sha256(); headers.set(headerPrefix + "algorithm", "AES256"); headers.set(headerPrefix + "key", key); headers.set(headerPrefix + "key-sha256", base64.encode(hashFunction.hashBytes(base64.decode(key)).asBytes())); }/*w ww. j a v a 2s. c o m*/ }
From source file:org.onos.yangtools.sal.binding.yang.types.TypeProviderImpl.java
private static String binaryToDef(final String defaultValue) { StringBuilder sb = new StringBuilder(); BaseEncoding en = BaseEncoding.base64(); byte[] encoded = en.decode(defaultValue); sb.append("new byte[] {"); for (int i = 0; i < encoded.length; i++) { sb.append(encoded[i]);/*from ww w .jav a 2 s . co m*/ if (i != encoded.length - 1) { sb.append(", "); } } sb.append('}'); return sb.toString(); }
From source file:org.sfs.filesystem.volume.DigestBlob.java
public DigestBlob(HttpClientResponse httpClientResponse) { super(httpClientResponse); digests = new HashMap<>(); BaseEncoding baseEncoding = base64(); MultiMap headers = httpClientResponse.headers(); for (String headerName : headers.names()) { Matcher matcher = COMPUTED_DIGEST.matcher(headerName); if (matcher.find()) { String digestName = matcher.group(1); Optional<MessageDigestFactory> oMessageDigestFactory = fromValueIfExists(digestName); if (oMessageDigestFactory.isPresent()) { MessageDigestFactory messageDigestFactory = oMessageDigestFactory.get(); withDigest(messageDigestFactory, baseEncoding.decode(headers.get(headerName))); }//from w w w . java 2 s . com } } }
From source file:com.google.cloud.storage.spi.DefaultStorageRpc.java
@Override public String open(StorageObject object, Map<Option, ?> options) { try {//from w w w .ja v a2s . co m Insert req = storage.objects().insert(object.getBucket(), object); GenericUrl url = req.buildHttpRequest().getUrl(); String scheme = url.getScheme(); String host = url.getHost(); String path = "/upload" + url.getRawPath(); url = new GenericUrl(scheme + "://" + host + path); url.set("uploadType", "resumable"); url.set("name", object.getName()); for (Option option : options.keySet()) { Object content = option.get(options); if (content != null) { url.set(option.value(), content.toString()); } } JsonFactory jsonFactory = storage.getJsonFactory(); HttpRequestFactory requestFactory = storage.getRequestFactory(); HttpRequest httpRequest = requestFactory.buildPostRequest(url, new JsonHttpContent(jsonFactory, object)); HttpHeaders requestHeaders = httpRequest.getHeaders(); requestHeaders.set("X-Upload-Content-Type", firstNonNull(object.getContentType(), "application/octet-stream")); String key = CUSTOMER_SUPPLIED_KEY.getString(options); if (key != null) { BaseEncoding base64 = BaseEncoding.base64(); HashFunction hashFunction = Hashing.sha256(); requestHeaders.set("x-goog-encryption-algorithm", "AES256"); requestHeaders.set("x-goog-encryption-key", key); requestHeaders.set("x-goog-encryption-key-sha256", base64.encode(hashFunction.hashBytes(base64.decode(key)).asBytes())); } HttpResponse response = httpRequest.execute(); if (response.getStatusCode() != 200) { GoogleJsonError error = new GoogleJsonError(); error.setCode(response.getStatusCode()); error.setMessage(response.getStatusMessage()); throw translate(error); } return response.getHeaders().getLocation(); } catch (IOException ex) { throw translate(ex); } }
From source file:com.google.cloud.storage.spi.v1.HttpStorageRpc.java
@Override public String open(StorageObject object, Map<Option, ?> options) { try {//from w ww . ja v a 2 s. co m Insert req = storage.objects().insert(object.getBucket(), object); GenericUrl url = req.buildHttpRequest().getUrl(); String scheme = url.getScheme(); String host = url.getHost(); String path = "/upload" + url.getRawPath(); url = new GenericUrl(scheme + "://" + host + path); url.set("uploadType", "resumable"); url.set("name", object.getName()); for (Option option : options.keySet()) { Object content = option.get(options); if (content != null) { url.set(option.value(), content.toString()); } } JsonFactory jsonFactory = storage.getJsonFactory(); HttpRequestFactory requestFactory = storage.getRequestFactory(); HttpRequest httpRequest = requestFactory.buildPostRequest(url, new JsonHttpContent(jsonFactory, object)); HttpHeaders requestHeaders = httpRequest.getHeaders(); requestHeaders.set("X-Upload-Content-Type", firstNonNull(object.getContentType(), "application/octet-stream")); String key = Option.CUSTOMER_SUPPLIED_KEY.getString(options); if (key != null) { BaseEncoding base64 = BaseEncoding.base64(); HashFunction hashFunction = Hashing.sha256(); requestHeaders.set("x-goog-encryption-algorithm", "AES256"); requestHeaders.set("x-goog-encryption-key", key); requestHeaders.set("x-goog-encryption-key-sha256", base64.encode(hashFunction.hashBytes(base64.decode(key)).asBytes())); } HttpResponse response = httpRequest.execute(); if (response.getStatusCode() != 200) { GoogleJsonError error = new GoogleJsonError(); error.setCode(response.getStatusCode()); error.setMessage(response.getStatusMessage()); throw translate(error); } return response.getHeaders().getLocation(); } catch (IOException ex) { throw translate(ex); } }