@Override public void calculateAndAddSignature(Request request, RequestBuilderBase<?> requestBuilder) { String nonce = generateNonce(); long timestamp = generateTimestamp(); String signature = calculateSignature(request.getMethod(), request.getUri(), timestamp, nonce, request.getFormParams(), request.getQueryParams()); String headerValue = constructAuthHeader(signature, nonce, timestamp); requestBuilder.setHeader(HEADER_AUTHORIZATION, headerValue); }
@Override public List<Param> getQueryParams() { return delegate.getQueryParams(); }
/** The query parameters of the request, for debugging purposes. */ public Multimap<String, String> getQueryParams() { FluentStringsMap params = httpRequestBuilder.build().getQueryParams(); Multimap<String, String> converted = HashMultimap.create(); for (Map.Entry<String, List<String>> param: params) { converted.putAll(param.getKey(), param.getValue()); } return converted; }
@Override public void calculateAndAddSignature(Request request, RequestBuilderBase<?> requestBuilder) { String nonce = generateNonce(); long timestamp = System.currentTimeMillis() / 1000L; String signature = calculateSignature(request.getMethod(), request.getURI(), timestamp, nonce, request.getFormParams(), request.getQueryParams()); String headerValue = constructAuthHeader(signature, nonce, timestamp); requestBuilder.setHeader(HEADER_AUTHORIZATION, headerValue); }
@Test(groups = {"standalone", "default_provider"}) public void testParsesQueryParams() throws IOException, ExecutionException, InterruptedException { Request request = new RequestBuilder("GET") .setUrl("http://foo.com/?param1=value1") .addQueryParam("param2", "value2") .build(); assertEquals(request.getUrl(), "http://foo.com/?param1=value1¶m2=value2"); List<Param> params = request.getQueryParams(); assertEquals(params.size(), 2); assertEquals(params.get(0), new Param("param1", "value1")); assertEquals(params.get(1), new Param("param2", "value2")); }
@Override public void calculateAndAddSignature(Request request, RequestBuilderBase<?> requestBuilder) { String nonce = generateNonce(); long timestamp = generateTimestamp(); String signature = calculateSignature(request.getMethod(), request.getUri(), timestamp, nonce, request.getFormParams(), request.getQueryParams()); String headerValue = constructAuthHeader(signature, nonce, timestamp); requestBuilder.setHeader(HEADER_AUTHORIZATION, headerValue); }
@Override public void calculateAndAddSignature(Request request, RequestBuilderBase<?> requestBuilder) { String nonce = generateNonce(); long timestamp = generateTimestamp(); String signature = calculateSignature(request.getMethod(), request.getUri(), timestamp, nonce, request.getFormParams(), request.getQueryParams()); String headerValue = constructAuthHeader(signature, nonce, timestamp); requestBuilder.setHeader(HEADER_AUTHORIZATION, headerValue); }
final List<Param> params = req.getQueryParams(); assertEquals(params.size(), 2);
final List<Param> params = req.getQueryParams(); assertEquals(params.size(), 2);
private void testSignatureBaseStringWithEncodableOAuthToken(Request request) { ConsumerKey consumer = new ConsumerKey("9djdj82h48djs9d2", CONSUMER_SECRET); RequestToken user = new RequestToken("kkk9d7dh3k39sjv7", TOKEN_SECRET); OAuthSignatureCalculator calc = new OAuthSignatureCalculator(consumer, user); String signatureBaseString = calc.signatureBaseString(// request.getMethod(),// request.getUri(),// 137131201,// "ZLc92RAkooZcIO/0cctl0Q==",// request.getFormParams(),// request.getQueryParams()).toString(); assertEquals(signatureBaseString, "POST&" // + "http%3A%2F%2Fexample.com%2Frequest" // + "&a2%3Dr%2520b%26"// + "a3%3D2%2520q%26" + "a3%3Da%26"// + "b5%3D%253D%25253D%26"// + "c%2540%3D%26"// + "c2%3D%26"// + "oauth_consumer_key%3D9djdj82h48djs9d2%26"// + "oauth_nonce%3DZLc92RAkooZcIO%252F0cctl0Q%253D%253D%26"// + "oauth_signature_method%3DHMAC-SHA1%26"// + "oauth_timestamp%3D137131201%26"// + "oauth_token%3Dkkk9d7dh3k39sjv7%26"// + "oauth_version%3D1.0"); }
private void testSignatureBaseString(Request request) { ConsumerKey consumer = new ConsumerKey("9djdj82h48djs9d2", CONSUMER_SECRET); RequestToken user = new RequestToken("kkk9d7dh3k39sjv7", TOKEN_SECRET); OAuthSignatureCalculator calc = new OAuthSignatureCalculator(consumer, user); String signatureBaseString = calc.signatureBaseString(// request.getMethod(),// request.getUri(),// 137131201,// "7d8f3e4a",// request.getFormParams(),// request.getQueryParams()).toString(); assertEquals(signatureBaseString, "POST&" // + "http%3A%2F%2Fexample.com%2Frequest" // + "&a2%3Dr%2520b%26"// + "a3%3D2%2520q%26" + "a3%3Da%26"// + "b5%3D%253D%25253D%26"// + "c%2540%3D%26"// + "c2%3D%26"// + "oauth_consumer_key%3D9djdj82h48djs9d2%26"// + "oauth_nonce%3D7d8f3e4a%26"// + "oauth_signature_method%3DHMAC-SHA1%26"// + "oauth_timestamp%3D137131201%26"// + "oauth_token%3Dkkk9d7dh3k39sjv7%26"// + "oauth_version%3D1.0"); }
private static Request newRequest(final UriComponents uri, final HttpResponsePacket response, final HttpTransactionContext ctx, boolean asGet) { final RequestBuilder builder = new RequestBuilder(ctx.request); if (asGet) { builder.setMethod("GET"); } builder.setUrl(uri.toString()); if (ctx.provider.clientConfig.isRemoveQueryParamOnRedirect()) { builder.resetQuery(); } else { builder.addQueryParams(ctx.request.getQueryParams()); } for (String cookieStr : response.getHeaders().values(Header.Cookie)) { builder.addOrReplaceCookie(CookieDecoder.decode(cookieStr)); } return builder.build(); }
requestBuilder.addQueryParams(future.getRequest().getQueryParams());