private static String toHexString(byte[] data) { StringBuilder buffer = StringUtils.stringBuilder(); for (int i = 0; i < data.length; i++) { buffer.append(Integer.toHexString((data[i] & 0xf0) >>> 4)); buffer.append(Integer.toHexString(data[i] & 0x0f)); } return buffer.toString(); }
private static String computeContentType(String base, byte[] multipartBoundary) { StringBuilder buffer = StringUtils.stringBuilder().append(base); if (!base.endsWith(";")) buffer.append(';'); return buffer.append(" boundary=").append(new String(multipartBoundary, US_ASCII)).toString(); }
protected String withQueryWithParams(final String query, final List<Param> queryParams) { // concatenate raw query + raw query params StringBuilder sb = StringUtils.stringBuilder(); sb.append(query); appendRawQueryParams(sb, queryParams); sb.setLength(sb.length() - 1); return sb.toString(); }
protected String withoutQueryWithParams(final List<Param> queryParams) { // concatenate raw queryParams StringBuilder sb = StringUtils.stringBuilder(); appendRawQueryParams(sb, queryParams); sb.setLength(sb.length() - 1); return sb.toString(); } };
protected String withQueryWithoutParams(final String query) { // encode query StringBuilder sb = StringUtils.stringBuilder(); encodeAndAppendQuery(sb, query); return sb.toString(); }
protected String withoutQueryWithParams(final List<Param> queryParams) { // concatenate encoded query params StringBuilder sb = StringUtils.stringBuilder(); encodeAndAppendQueryParams(sb, queryParams); sb.setLength(sb.length() - 1); return sb.toString(); } }, //
public String toRelativeUrl() { StringBuilder sb = StringUtils.stringBuilder(); if (MiscUtils.isNonEmpty(path)) sb.append(path); else sb.append('/'); if (query != null) sb.append('?').append(query); return sb.toString(); }
public String toUrl() { if (url == null) { StringBuilder sb = StringUtils.stringBuilder(); sb.append(scheme).append("://"); if (userInfo != null) sb.append(userInfo).append('@'); sb.append(host); if (port != -1) sb.append(':').append(port); if (path != null) sb.append(path); if (query != null) sb.append('?').append(query); url = sb.toString(); sb.setLength(0); } return url; }
protected String withQueryWithParams(final String query, final List<Param> queryParams) { // concatenate encoded query + encoded query params StringBuilder sb = StringUtils.stringBuilder(); encodeAndAppendQuery(sb, query); sb.append('&'); encodeAndAppendQueryParams(sb, queryParams); sb.setLength(sb.length() - 1); return sb.toString(); }
/** * Method used for constructing */ private String constructAuthHeader(String signature, String nonce, long oauthTimestamp) { StringBuilder sb = StringUtils.stringBuilder(); sb.append("OAuth "); sb.append(KEY_OAUTH_CONSUMER_KEY).append("=\"").append(consumerAuth.getKey()).append("\", "); if (userAuth.getKey() != null) { sb.append(KEY_OAUTH_TOKEN).append("=\"").append(userAuth.getKey()).append("\", "); } sb.append(KEY_OAUTH_SIGNATURE_METHOD).append("=\"").append(OAUTH_SIGNATURE_METHOD).append("\", "); // careful: base64 has chars that need URL encoding: sb.append(KEY_OAUTH_SIGNATURE).append("=\""); Utf8UrlEncoder.encodeAndAppendQueryElement(sb, signature).append("\", "); sb.append(KEY_OAUTH_TIMESTAMP).append("=\"").append(oauthTimestamp).append("\", "); // also: nonce may contain things that need URL encoding (esp. when using base64): sb.append(KEY_OAUTH_NONCE).append("=\""); Utf8UrlEncoder.encodeAndAppendQueryElement(sb, nonce); sb.append("\", "); sb.append(KEY_OAUTH_VERSION).append("=\"").append(OAUTH_VERSION_1_0).append("\""); return sb.toString(); }
private static StringBuilder urlEncodeFormParams0(List<Param> params) { StringBuilder sb = StringUtils.stringBuilder(); for (Param param : params) { encodeAndAppendFormParam(sb, param.getName(), param.getValue()); } sb.setLength(sb.length() - 1); return sb; }
public static String encode(Collection<Cookie> cookies) { StringBuilder sb = StringUtils.stringBuilder(); for (Cookie cookie : cookies) { add(sb, cookie.getName(), cookie.getValue(), cookie.isWrap()); } if (sb.length() > 0) { sb.setLength(sb.length() - 2); } return sb.toString(); }
StringBuilder signatureBaseString(String method, Uri uri, long oauthTimestamp, String nonce, List<Param> formParams, List<Param> queryParams) { // beware: must generate first as we're using pooled StringBuilder String baseUrl = baseUrl(uri); String encodedParams = encodedParams(oauthTimestamp, nonce, formParams, queryParams); StringBuilder sb = StringUtils.stringBuilder(); sb.append(method); // POST / GET etc (nothing to URL encode) sb.append('&'); Utf8UrlEncoder.encodeAndAppendQueryElement(sb, baseUrl); // and all that needs to be URL encoded (... again!) sb.append('&'); Utf8UrlEncoder.encodeAndAppendQueryElement(sb, encodedParams); return sb; }
private String baseUrl(Uri uri) { /* 07-Oct-2010, tatu: URL may contain default port number; if so, need to extract * from base URL. */ String scheme = uri.getScheme(); StringBuilder sb = StringUtils.stringBuilder(); sb.append(scheme).append("://").append(uri.getHost()); int port = uri.getPort(); if (scheme.equals("http")) { if (port == 80) port = -1; } else if (scheme.equals("https")) { if (port == 443) port = -1; } if (port != -1) sb.append(':').append(port); if (isNonEmpty(uri.getPath())) sb.append(uri.getPath()); return sb.toString(); }
public ThreadSafeHMAC(ConsumerKey consumerAuth, RequestToken userAuth) { StringBuilder sb = StringUtils.stringBuilder(); Utf8UrlEncoder.encodeAndAppendQueryElement(sb, consumerAuth.getSecret()); sb.append('&'); if(userAuth != null && userAuth.getSecret() != null) { Utf8UrlEncoder.encodeAndAppendQueryElement(sb, userAuth.getSecret()); } byte[] keyBytes = StringUtils.charSequence2Bytes(sb, UTF_8); SecretKeySpec signingKey = new SecretKeySpec(keyBytes, HMAC_SHA1_ALGORITHM); // Get an hmac_sha1 instance and initialize with the signing key try { mac = Mac.getInstance(HMAC_SHA1_ALGORITHM); mac.init(signingKey); } catch (Exception e) { throw new IllegalArgumentException(e); } }
private void newResponse(MessageDigest md) { // BEWARE: compute first as it used the cached StringBuilder String digestUri = AuthenticatorUtils.computeRealmURI(uri, useAbsoluteURI, omitQuery); StringBuilder sb = StringUtils.stringBuilder(); // WARNING: DON'T MOVE, BUFFER IS RECYCLED!!!! byte[] secretDigest = secretDigest(sb, md); byte[] dataDigest = dataDigest(sb, digestUri, md); appendBase16(sb, secretDigest); appendDataBase(sb); appendBase16(sb, dataDigest); byte[] responseDigest = md5FromRecycledStringBuilder(sb, md); response = toHexString(responseDigest); }