List of usage examples for org.apache.http.client.methods HttpRequestBase getURI
public URI getURI()
From source file:com.gsma.mobileconnect.impl.StartAutomatedOperatorDiscoveryTest.java
@Test public void startAutomatedOperatorDiscovery_withAllOptionsSet_shouldCreateExpectedRequest() throws DiscoveryException, RestException, IOException { // GIVEN//from w w w . java 2 s. c o m RestClient mockedRestClient = mock(RestClient.class); CaptureDiscoveryResponse captureDiscoveryResponse = new CaptureDiscoveryResponse(); Config config = new Config(); String exampleJson = buildJsonStr(); JsonNode expectedJsonObject = buildJsonObject(); final RestResponse restResponse = new RestResponse(null, 0, null, exampleJson); DiscoveryOptions options = new DiscoveryOptions(); options.setUsingMobileData(false); options.setManuallySelect(true); options.setLocalClientIP("127.0.0.1"); options.setIdentifiedMCC("901"); options.setIdentifiedMNC("01"); options.setTimeout(333); String expectedClientIP = "10.0.0.1"; options.setClientIP(expectedClientIP); String expectedAccept = "application/json"; String expectedURL = "http://discovery.sandbox.mobileconnect.io/v2/discovery?Manually-Select=true&Identified-MCC=901&Identified-MNC=01&Using-Mobile-Data=false&Local-Client-IP=127.0.0.1&Redirect_URL=http%3A%2F%2Flocalhost%3A8080%2Fmobileconnect"; final CaptureHttpRequestBase captureHttpRequestBase = new CaptureHttpRequestBase(); doAnswer(new Answer() { public Object answer(InvocationOnMock invocationOnMock) throws Throwable { Object[] args = invocationOnMock.getArguments(); HttpRequestBase requestBase = (HttpRequestBase) args[0]; captureHttpRequestBase.setValue(requestBase); return restResponse; } }).when(mockedRestClient).callRestEndPoint(any(HttpRequestBase.class), any(HttpClientContext.class), eq(options.getTimeout()), Matchers.<List<KeyValuePair>>any()); IDiscovery discovery = Factory.getDiscovery(null, mockedRestClient); // WHEN discovery.startAutomatedOperatorDiscovery(config, Config.REDIRECT_URL, options, null, captureDiscoveryResponse); // THEN DiscoveryResponse discoveryResponse = captureDiscoveryResponse.getDiscoveryResponse(); assertEquals(expectedJsonObject, discoveryResponse.getResponseData()); HttpRequestBase capturedRequest = captureHttpRequestBase.getValue(); assertEquals(expectedURL, capturedRequest.getURI().toString()); assertEquals(expectedClientIP, capturedRequest.getFirstHeader("X-Source-IP").getValue()); assertEquals(expectedAccept, capturedRequest.getFirstHeader("accept").getValue()); }
From source file:com.mgmtp.perfload.core.client.web.http.DefaultHttpClientManager.java
/** * Executes an HTTP request using the internal {@link HttpClient} instance encapsulating the * Http response in the returns {@link ResponseInfo} object. This method takes to time * measurements around the request execution, one after calling * {@link HttpClient#execute(org.apache.http.client.methods.HttpUriRequest, HttpContext)} (~ * first-byte measurment) and the other one later after the complete response was read from the * stream. These measurements are return as properties of the {@link ResponseInfo} object. *//*from w w w . jav a 2 s . c om*/ @Override public ResponseInfo executeRequest(final HttpRequestBase request, final HttpContext context, final UUID requestId) throws IOException { request.addHeader(EXECUTION_ID_HEADER, executionId.toString()); request.addHeader(OPERATION_HEADER, operation); request.addHeader(REQUEST_ID_HEADER, requestId.toString()); String uri = request.getURI().toString(); String type = request.getMethod(); TimeInterval tiBeforeBody = new TimeInterval(); TimeInterval tiTotal = new TimeInterval(); tiBeforeBody.start(); tiTotal.start(); long timestamp = System.currentTimeMillis(); HttpResponse response = getHttpClient().execute(request, context); tiBeforeBody.stop(); // This actually downloads the response body: HttpEntity entity = response.getEntity(); byte[] body = EntityUtils.toByteArray(entity); tiTotal.stop(); StatusLine statusLine = response.getStatusLine(); int statusCode = statusLine.getStatusCode(); String statusMsg = statusLine.getReasonPhrase(); String responseCharset = EntityUtils.getContentCharSet(entity); String contentType = EntityUtils.getContentMimeType(entity); String bodyAsString = bodyAsString(contentType, responseCharset, body); Header[] headers = response.getAllHeaders(); Map<String, String> responseHeaders = newHashMapWithExpectedSize(headers.length); for (Header header : headers) { responseHeaders.put(header.getName(), header.getValue()); } return new ResponseInfo(type, uri, statusCode, statusMsg, responseHeaders, body, bodyAsString, responseCharset, contentType, timestamp, tiBeforeBody, tiTotal, executionId, requestId); }
From source file:com.redhat.jenkins.nodesharing.RestEndpoint.java
private @Nonnull HttpClientContext getAuthenticatingContext(@Nonnull HttpRequestBase method) { AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(URIUtils.extractHost(method.getURI()), basicAuth); CredentialsProvider provider = new BasicCredentialsProvider(); provider.setCredentials(AuthScope.ANY, new org.apache.http.auth.UsernamePasswordCredentials( creds.getUsername(), creds.getPassword().getPlainText())); HttpClientContext context = HttpClientContext.create(); context.setCredentialsProvider(provider); context.setAuthCache(authCache);/*w w w . java2 s. c o m*/ return context; }
From source file:com.gsma.mobileconnect.impl.RequestTokenTest.java
@Test public void requestToken_withDefaults_shouldCreateExpectedRequest() throws OIDCException, DiscoveryResponseExpiredException, IOException, RestException { // GIVEN//from w w w . ja v a2 s . com RestClient mockedRestClient = mock(RestClient.class); IOIDC ioidc = Factory.getOIDC(mockedRestClient); CaptureRequestTokenResponse captureRequestTokenResponse = new CaptureRequestTokenResponse(); DiscoveryResponse discoveryResponse = new DiscoveryResponse(true, new Date(Long.MAX_VALUE), 0, null, parseJson(OPERATOR_JSON_STRING)); final CaptureHttpRequestBase captureHttpRequestBase = new CaptureHttpRequestBase(); final RestResponse restResponse = new RestResponse(null, 0, null, "{}"); doAnswer(new Answer() { public Object answer(InvocationOnMock invocationOnMock) throws Throwable { Object[] args = invocationOnMock.getArguments(); HttpRequestBase requestBase = (HttpRequestBase) args[0]; captureHttpRequestBase.setValue(requestBase); return restResponse; } }).when(mockedRestClient).callRestEndPoint(any(HttpRequestBase.class), any(HttpClientContext.class), eq(30000), Matchers.<List<KeyValuePair>>any()); // WHEN ioidc.requestToken(discoveryResponse, "", "", null, captureRequestTokenResponse); // THEN HttpRequestBase request = captureHttpRequestBase.getValue(); assertEquals(TOKEN_HREF, request.getURI().toString()); assertEquals("POST", request.getMethod()); assertEquals("application/x-www-form-urlencoded", request.getFirstHeader("Content-Type").getValue()); assertEquals("application/json", request.getFirstHeader("accept").getValue()); assertTrue(request instanceof HttpPost); HttpPost postRequest = (HttpPost) request; List<NameValuePair> contents = URLEncodedUtils.parse(postRequest.getEntity()); assertEquals("", findValueOfName(contents, "code")); assertEquals("authorization_code", findValueOfName(contents, "grant_type")); assertEquals("", findValueOfName(contents, "redirect_uri")); }
From source file:com.gsma.mobileconnect.impl.RequestTokenTest.java
@Test public void requestToken_withAllOptionsSet_shouldCreateExpectedRequest() throws OIDCException, DiscoveryResponseExpiredException, IOException, RestException { // GIVEN/*from www . jav a2 s . co m*/ RestClient mockedRestClient = mock(RestClient.class); IOIDC ioidc = Factory.getOIDC(mockedRestClient); CaptureRequestTokenResponse captureRequestTokenResponse = new CaptureRequestTokenResponse(); DiscoveryResponse discoveryResponse = new DiscoveryResponse(true, new Date(Long.MAX_VALUE), 0, null, parseJson(OPERATOR_JSON_STRING)); TokenOptions options = new TokenOptions(); options.setTimeout(333); final CaptureHttpRequestBase captureHttpRequestBase = new CaptureHttpRequestBase(); final RestResponse restResponse = new RestResponse(null, 0, null, "{}"); doAnswer(new Answer() { public Object answer(InvocationOnMock invocationOnMock) throws Throwable { Object[] args = invocationOnMock.getArguments(); HttpRequestBase requestBase = (HttpRequestBase) args[0]; captureHttpRequestBase.setValue(requestBase); return restResponse; } }).when(mockedRestClient).callRestEndPoint(any(HttpRequestBase.class), any(HttpClientContext.class), eq(options.getTimeout()), Matchers.<List<KeyValuePair>>any()); String expectedRedirectURI = "expected-redirect-uri"; String expectedCode = "expected-code"; // WHEN ioidc.requestToken(discoveryResponse, expectedRedirectURI, expectedCode, options, captureRequestTokenResponse); // THEN HttpRequestBase request = captureHttpRequestBase.getValue(); assertEquals(TOKEN_HREF, request.getURI().toString()); assertEquals("POST", request.getMethod()); assertEquals("application/x-www-form-urlencoded", request.getFirstHeader("Content-Type").getValue()); assertEquals("application/json", request.getFirstHeader("accept").getValue()); assertTrue(request instanceof HttpPost); HttpPost postRequest = (HttpPost) request; List<NameValuePair> contents = URLEncodedUtils.parse(postRequest.getEntity()); assertEquals(expectedCode, findValueOfName(contents, "code")); assertEquals("authorization_code", findValueOfName(contents, "grant_type")); assertEquals(expectedRedirectURI, findValueOfName(contents, "redirect_uri")); }
From source file:mobi.jenkinsci.alm.assembla.client.AssemblaClient.java
private void setRequestHeaders(final HttpRequestBase req, final boolean autoLogin) { if (accessToken != null) { req.addHeader("Authorization", "Bearer " + accessToken.access_token); }//from ww w .j a v a2 s . c om if (req.getURI().getPath().endsWith(".json")) { req.addHeader(HttpHeaders.ACCEPT, "application/json"); } }
From source file:com.hoccer.tools.HttpHelper.java
private static HttpResponse executeHTTPMethod(HttpRequestBase pMethod, int pConnectionTimeout) throws IOException, HttpClientException, HttpServerException { HttpParams httpParams = new BasicHttpParams(); HttpConnectionParams.setConnectionTimeout(httpParams, pConnectionTimeout); HttpConnectionParams.setSoTimeout(httpParams, pConnectionTimeout); HttpClientParams.setRedirecting(httpParams, true); DefaultHttpClient httpclient = new HttpClientWithKeystore(httpParams); // Log redirects httpclient.setRedirectHandler(new DefaultRedirectHandler() { @Override/* www.j a v a 2 s . c om*/ public URI getLocationURI(HttpResponse response, HttpContext context) throws ProtocolException { URI uri = super.getLocationURI(response, context); return uri; } }); HttpResponse response; try { response = httpclient.execute(pMethod); } catch (SocketTimeoutException e) { e = new SocketTimeoutException(e.getMessage() + ": " + pMethod.getURI()); e.fillInStackTrace(); throw e; } catch (SocketException e) { e = new SocketException(e.getMessage() + ": " + pMethod.getURI()); e.fillInStackTrace(); throw e; } HttpException.throwIfError(pMethod.getURI().toString(), response); return response; }
From source file:org.thevortex.lighting.jinks.client.WinkClient.java
/** * Execute the message, retrying on token renewals. * * @param message the message//from ww w . j a va2 s .c om * @return it's response * @throws IOException well... */ protected synchronized JsonNode execute(HttpRequestBase message, String payload) throws IOException { // have we authenticated? if (sessionToken == null) { doAuthenticate(); } logger.debug("Requesting {}", message.getURI()); if (payload != null) { logger.debug("With payload: {}", payload); ((HttpEntityEnclosingRequestBase) message).setEntity(new StringEntity(payload)); } message.setHeader("Authorization", "Bearer " + sessionToken); message.setHeader("Content-Type", "application/json"); message.setHeader("User-Agent", appName); for (int i = 0; i < AUTH_RETRY; i++) { logger.debug("Request {}", (i + 1)); try (CloseableHttpResponse response = getClient().execute(winkHost, message)) { StatusLine status = response.getStatusLine(); // because we could get error payloads, extract the response if there is any to be had HttpEntity entity = response.getEntity(); String responsePayload = entity == null ? null : EntityUtils.toString(entity); int statusCode = status.getStatusCode(); logger.debug("Received: code = {}\n{}", status, responsePayload); switch (statusCode) { case 200: // OK case 201: // created case 202: // accepted (processing not complete) { // if no response payload, return none if (entity == null) { logger.debug("No response payload for code {}", statusCode); return null; } return payloadMapper.readValue(responsePayload, ObjectNode.class); } case 204: // no content return null; case 401: break; default: logger.error("Response payload on error {}:\n{}", statusCode, responsePayload); handleErrorCodes(status); } } // interesting new wrinkle... catch (NoHttpResponseException e) { logger.warn("Stale connection - {}: retrying", e.getLocalizedMessage()); i--; } // attempt to renew the token doRenewAuth(); } throw new AuthenticationException("Unauthorized"); }
From source file:com.ibm.sbt.test.lib.MockService.java
@Override protected HttpResponse executeRequest(HttpClient httpClient, HttpRequestBase httpRequestBase, Args args) throws ClientServicesException { switch (this.mode) { case REPLAY:/*from www .j a va 2 s . com*/ return serializer.replayResponse(); case PASSTHROUGH: return super.executeRequest(httpClient, httpRequestBase, args); case RECORD: HttpResponse response; response = super.executeRequest(httpClient, httpRequestBase, args); System.out.println(httpRequestBase.getMethod() + " " + httpRequestBase.getURI() + ": " + response.getStatusLine().getStatusCode()); return serializer.recordResponse(response); default: throw new UnsupportedOperationException("Invalid mode " + this.mode); } }
From source file:org.apache.camel.component.http4.HttpProducer.java
protected Exception populateHttpOperationFailedException(Exchange exchange, HttpRequestBase httpRequest, HttpResponse httpResponse, int responseCode) throws IOException, ClassNotFoundException { Exception answer;/*from ww w . j av a 2 s. c o m*/ String uri = httpRequest.getURI().toString(); String statusText = httpResponse.getStatusLine() != null ? httpResponse.getStatusLine().getReasonPhrase() : null; Map<String, String> headers = extractResponseHeaders(httpResponse.getAllHeaders()); Object responseBody = extractResponseBody(httpRequest, httpResponse, exchange); if (transferException && responseBody != null && responseBody instanceof Exception) { // if the response was a serialized exception then use that return (Exception) responseBody; } // make a defensive copy of the response body in the exception so its detached from the cache String copy = null; if (responseBody != null) { copy = exchange.getContext().getTypeConverter().convertTo(String.class, exchange, responseBody); } Header locationHeader = httpResponse.getFirstHeader("location"); if (locationHeader != null && (responseCode >= 300 && responseCode < 400)) { answer = new HttpOperationFailedException(uri, responseCode, statusText, locationHeader.getValue(), headers, copy); } else { answer = new HttpOperationFailedException(uri, responseCode, statusText, null, headers, copy); } return answer; }