List of usage examples for org.apache.http.client.methods HttpRequestBase getURI
public URI getURI()
From source file:com.smartling.api.sdk.FileApiClientAdapterTest.java
@Test public void testLastModified() throws ApiException, IOException { Date lastModifiedAfter = new Date(); when(response.getContents())/*from w w w . j a v a2 s .c om*/ .thenReturn(String.format(LAST_MODIFIED_RESPONSE, LOCALE, DateFormatter.format(lastModifiedAfter))); ApiResponse<FileLastModified> apiResponse = fileApiClientAdapter.getLastModified(FILE_URI, lastModifiedAfter, LOCALE); // Validate the request HttpRequestBase request = requestCaptor.getValue(); List<NameValuePair> params = URLEncodedUtils.parse(request.getURI(), "UTF-8"); assertLatModifiedRequestParams(lastModifiedAfter, params); assertEquals(HOST, request.getURI().getHost()); // Validate the response assertEquals("SUCCESS", apiResponse.getCode()); assertNotNull(apiResponse.getData()); FileLastModified fileLastModified = apiResponse.getData(); assertEquals(1, fileLastModified.getItems().size()); FileLocaleLastModified fileLocaleLastModified = fileLastModified.getItems().get(0); assertEquals(lastModifiedAfter.getTime() / 1000, fileLocaleLastModified.getLastModified().getTime() / 1000); assertEquals(LOCALE, fileLocaleLastModified.getLocale()); }
From source file:com.fourspaces.couchdb.CouchResponse.java
/** * C-tor parses the method results to build the CouchResponse object. First, it reads the body (hence the * IOException) from the method Next, it checks the status codes to determine if the request was successful. If * there was an error, it parses the error codes. * * @param method// ww w .ja v a 2s .c om * @throws IOException */ CouchResponse(HttpRequestBase req, HttpResponse response) throws IOException { headers = response.getAllHeaders(); HttpEntity entity = response.getEntity(); body = EntityUtils.toString(entity); path = req.getURI().getPath(); statusCode = response.getStatusLine().getStatusCode(); boolean isGet = (req instanceof HttpGet); boolean isPut = (req instanceof HttpPut); boolean isPost = (req instanceof HttpPost); boolean isDelete = (req instanceof HttpDelete); boolean okay = statusCode == 200; boolean created = statusCode == 201; boolean accepted = statusCode == 202; boolean notfound = statusCode == 404; boolean conflict = statusCode == 409; ObjectMapper mapper = new ObjectMapper(); if ((isGet && notfound) || (isPut && conflict) || (isPost && notfound) || (isDelete && notfound)) { DocumentResponse error = mapper.readValue(body, DocumentResponse.class); error_id = error.getError(); error_reason = error.getReason(); } else if ((isPut && created) || (isPost && created) || (isDelete && accepted) || (isDelete && okay)) { if (path.endsWith("_bulk_docs")) { // Handle bulk doc update differently @SuppressWarnings("unchecked") List<DocumentResponse> bulk = mapper.readValue(body, List.class); ok = bulk.size() > 0; } else { DocumentResponse modification = mapper.readValue(body, DocumentResponse.class); ok = modification.isOk(); } } else if (isGet || (isPost && okay)) { ok = true; } log.debug(toString()); }
From source file:com.flipkart.phantom.http.impl.HttpConnectionPool.java
/** * Method to execute a request// ww w .jav a 2s.c o m * @param request HttpRequestBase object * @return response HttpResponse object */ public HttpResponse execute(HttpRequestBase request, List<Map.Entry<String, String>> headers) throws Exception { setRequestHeaders(request, headers); logger.debug("Sending request: " + request.getURI()); if (processQueue.tryAcquire()) { HttpResponse response; try { response = client.execute(request); } catch (Exception e) { processQueue.release(); throw e; } processQueue.release(); return response; } else { throw new Exception("Process queue full!"); } }
From source file:com.gsma.mobileconnect.impl.CompleteSelectedOperatorDiscoveryTest.java
@Test public void completeSelectedOperatorDiscovery_withDefaults_shouldCreateExpectedRequest() throws DiscoveryException, RestException, IOException { // GIVEN// ww w . ja va 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); String expectedAccept = "application/json"; String expectedURL = "http://discovery.sandbox.mobileconnect.io/v2/discovery?Redirect_URL=http%3A%2F%2Flocalhost%2F&Selected-MCC=MCC&Selected-MNC=MNC"; 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(30000), Matchers.<List<KeyValuePair>>any()); IDiscovery discovery = Factory.getDiscovery(null, mockedRestClient); // WHEN discovery.completeSelectedOperatorDiscovery(config, null, SELECTED_MCC, SELECTED_MNC, null, null, captureDiscoveryResponse); // THEN DiscoveryResponse discoveryResponse = captureDiscoveryResponse.getDiscoveryResponse(); assertEquals(expectedJsonObject, discoveryResponse.getResponseData()); HttpRequestBase capturedRequest = captureHttpRequestBase.getValue(); assertEquals(expectedURL, capturedRequest.getURI().toString()); assertEquals(expectedAccept, capturedRequest.getFirstHeader("accept").getValue()); }
From source file:com.gsma.mobileconnect.impl.CompleteSelectedOperatorDiscoveryTest.java
@Test public void completeSelectedOperatorDiscovery_withAllOptionsSet_shouldCreateExpectedRequest() throws DiscoveryException, RestException, IOException { // GIVEN//from w w w . jav a 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); CompleteSelectedOperatorDiscoveryOptions options = new CompleteSelectedOperatorDiscoveryOptions(); options.setTimeout(333); String expectedAccept = "application/json"; String expectedURL = "http://discovery.sandbox.mobileconnect.io/v2/discovery?Redirect_URL=http%3A%2F%2Flocalhost%3A8080%2Fmobileconnect&Selected-MCC=MCC&Selected-MNC=MNC"; 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.completeSelectedOperatorDiscovery(config, Config.REDIRECT_URL, SELECTED_MCC, SELECTED_MNC, options, null, captureDiscoveryResponse); // THEN DiscoveryResponse discoveryResponse = captureDiscoveryResponse.getDiscoveryResponse(); assertEquals(expectedJsonObject, discoveryResponse.getResponseData()); HttpRequestBase capturedRequest = captureHttpRequestBase.getValue(); assertEquals(expectedURL, capturedRequest.getURI().toString()); assertEquals(expectedAccept, capturedRequest.getFirstHeader("accept").getValue()); }
From source file:eionet.webq.xforms.XFormsHTTPRequestAuthHandlerImpl.java
@Override public void addAuthToHttpRequest(HttpRequestBase httpRequestBase, Map<Object, Object> context) { String uri = httpRequestBase.getURI().toString(); String instance = null;/*from w w w .j a v a2s .c o m*/ String envelope = null; String requestURLHost = null; Integer fileId = null; String authentication = null; String sessionId = null; if (uri == null) { return; } // load bf context attributes if (context.get("instance") != null) { instance = (String) context.get("instance"); } if (context.get("envelope") != null) { envelope = (String) context.get("envelope"); } if (context.get(BF_REQUEST_URL_ATTRIBUTE) != null) { try { URI requestURI = new URI((String) context.get(BF_REQUEST_URL_ATTRIBUTE)); requestURLHost = StringUtils.substringBefore(requestURI.toString(), requestURI.getHost()) + requestURI.getHost(); LOGGER.info("bF requestURLHost= " + requestURLHost); } catch (URISyntaxException e) { LOGGER.warn("requestURL is not valid URL: " + context.get(BF_REQUEST_URL_ATTRIBUTE)); } } if (context.get("fileId") != null) { fileId = Integer.valueOf((String) context.get("fileId")); } // http session attribute stored in betterform context if (context.get(BF_HTTP_SESSION_ATTRIBUTE) != null) { sessionId = (String) context.get(BF_HTTP_SESSION_ATTRIBUTE); } LOGGER.info("Get resource from XForm: " + uri); if (uri.startsWith(requestURLHost)) { // check if the request on the same (webq) host is done in the same session. Fix session id if required. if (sessionId != null) { validateSessionIdInRequestHeader(context, sessionId); LOGGER.info("Get resource from: " + uri); } } else { // add auth info only for URIs that are not on the same host. if (fileId != null && sessionId != null) { LOGGER.debug("Check if user is logged in to get resource for fileId=" + fileId); if (!context.containsKey(WEBQ_AUTH_ATTRIBUTE)) { // check if user is logged in - ask auth info from user_xml file table UserFile userFile = userFileService.getById(fileId); if (userFile.isAuthorized()) { String authorizationInfo = userFile.getAuthorization(); String cookiesInfo = userFile.getCookies(); if (StringUtils.isNotEmpty(authorizationInfo)) { authentication = "Authorization=" + authorizationInfo; } else if (StringUtils.isNotEmpty(cookiesInfo)) { authentication = "Cookie=" + cookiesInfo; } } context.put(WEBQ_AUTH_ATTRIBUTE, authentication); LOGGER.debug("Store basic auth info in context for fileId=" + fileId); } else { // auth info stored in context authentication = context.get(WEBQ_AUTH_ATTRIBUTE) != null ? (String) context.get(WEBQ_AUTH_ATTRIBUTE) : null; } // add auth info only if user is logged in if (StringUtils.isNotEmpty(authentication)) { LOGGER.debug("User is logged in to get resource for fileId=" + fileId); String authAttribute = StringUtils.substringBefore(authentication, "="); // if the URI starts with instance or envelope URI, then we can use the basic auth retrieved from CDR. if (!"Cookie".equals(authAttribute) && ((StringUtils.isNotBlank(instance) && uri.startsWith(instance)) || (StringUtils.isNotBlank(envelope) && uri.startsWith(envelope)))) { String authAttributeValues = StringUtils.substringAfter(authentication, "="); // prevent betterForm to overwrite cookies /* Fall back to KnownHosts authorisation (qaaccount) if cookie auth mode is used. // cookie mode does not work on test server. if ("Cookie".equals(authAttribute)) { if (context.containsKey(AbstractHTTPConnector.REQUEST_COOKIE)) { context.remove(AbstractHTTPConnector.REQUEST_COOKIE); } } */ httpRequestBase.addHeader(authAttribute, authAttributeValues); LOGGER.info("Add " + authAttribute + " from session to URL: " + uri); } else { // check if we have known host in db KnownHost knownHost = knownHostsService.getKnownHost(uri); if (knownHost != null) { // add ticket parameter to request URI if needed if (knownHost .getAuthenticationMethod() == KnownHostAuthenticationMethod.REQUEST_PARAMETER) { LOGGER.info("Add ticket parameter from known hosts to URL: " + uri); uri = getUrlWithAuthParam(uri, knownHost); if (!uri.equals(httpRequestBase.getURI().toString())) { try { httpRequestBase.setURI(new URI(uri)); } catch (URISyntaxException e) { LOGGER.error("Unable to add known host ticket parameter for URI:" + uri); e.printStackTrace(); } } } else if (knownHost.getAuthenticationMethod() == KnownHostAuthenticationMethod.BASIC) { // Add basic authorisation if needed try { LOGGER.info("Add basic auth from known hosts to URL: " + uri); httpRequestBase.addHeader("Authorization", "Basic " + Base64.encodeBase64String( (knownHost.getKey() + ":" + knownHost.getTicket()).getBytes("utf-8")) .replaceAll("\n", "")); } catch (UnsupportedEncodingException e) { LOGGER.warn("UnsupportedEncodingException: utf-8"); } } } } } } } }
From source file:com.windigo.http.client.ApacheHttpClient.java
/** * Execute the given {@link HttpRequestBase}. Closes all the expired * connection pool items and set heeaders if present. * /*from ww w .j a va 2s .c o m*/ * @param httpRequest * @throws IOException * @return {@link HttpResponse} */ public HttpResponse executeHttpRequest(HttpRequestBase httpRequest) throws IOException { Logger.log("[Request] Executing http request for: " + httpRequest.getURI().toString()); // set headers for request if (headers != null && headers.length > 0) { httpRequest.setHeaders(headers); Logger.log("[Request] Found " + headers.length + " header"); } try { mHttpClient.getConnectionManager().closeExpiredConnections(); return mHttpClient.execute(httpRequest); } catch (IOException e) { httpRequest.abort(); throw e; } }
From source file:org.fao.geonet.utils.GeonetHttpRequestFactoryTest.java
@Test public void testAlternateXmlRequestFactoryMethods() throws Exception { XmlRequest xmlRequest = new GeonetHttpRequestFactory().createXmlRequest("host", 1234, "http"); HttpRequestBase httpRequestBase = xmlRequest.setupHttpMethod(); assertTrue(httpRequestBase instanceof HttpGet); assertEquals("host", httpRequestBase.getURI().getHost()); assertEquals(1234, httpRequestBase.getURI().getPort()); assertEquals("http", httpRequestBase.getURI().getScheme()); assertEquals("", httpRequestBase.getURI().getPath()); assertEquals(null, httpRequestBase.getURI().getQuery()); assertEquals(null, httpRequestBase.getURI().getFragment()); xmlRequest = new GeonetHttpRequestFactory().createXmlRequest("host", 1234); httpRequestBase = xmlRequest.setupHttpMethod(); assertTrue(httpRequestBase instanceof HttpGet); assertEquals("host", httpRequestBase.getURI().getHost()); assertEquals(1234, httpRequestBase.getURI().getPort()); assertEquals("http", httpRequestBase.getURI().getScheme()); assertEquals("", httpRequestBase.getURI().getPath()); assertEquals(null, httpRequestBase.getURI().getQuery()); assertEquals(null, httpRequestBase.getURI().getFragment()); xmlRequest = new GeonetHttpRequestFactory().createXmlRequest("host", 443); httpRequestBase = xmlRequest.setupHttpMethod(); assertTrue(httpRequestBase instanceof HttpGet); assertEquals("host", httpRequestBase.getURI().getHost()); assertEquals(443, httpRequestBase.getURI().getPort()); assertEquals("https", httpRequestBase.getURI().getScheme()); assertEquals("", httpRequestBase.getURI().getPath()); assertEquals(null, httpRequestBase.getURI().getQuery()); assertEquals(null, httpRequestBase.getURI().getFragment()); xmlRequest = new GeonetHttpRequestFactory().createXmlRequest("host", 80); httpRequestBase = xmlRequest.setupHttpMethod(); assertTrue(httpRequestBase instanceof HttpGet); assertEquals("host", httpRequestBase.getURI().getHost()); assertEquals(80, httpRequestBase.getURI().getPort()); assertEquals("http", httpRequestBase.getURI().getScheme()); assertEquals("", httpRequestBase.getURI().getPath()); assertEquals(null, httpRequestBase.getURI().getQuery()); assertEquals(null, httpRequestBase.getURI().getFragment()); xmlRequest = new GeonetHttpRequestFactory().createXmlRequest("host"); httpRequestBase = xmlRequest.setupHttpMethod(); assertTrue(httpRequestBase instanceof HttpGet); assertEquals("host", httpRequestBase.getURI().getHost()); assertEquals(80, httpRequestBase.getURI().getPort()); assertEquals("http", httpRequestBase.getURI().getScheme()); assertEquals("", httpRequestBase.getURI().getPath()); assertEquals(null, httpRequestBase.getURI().getQuery()); assertEquals(null, httpRequestBase.getURI().getFragment()); xmlRequest = new GeonetHttpRequestFactory().createXmlRequest(); assertEquals(null, xmlRequest.getHost()); assertEquals(80, xmlRequest.getPort()); assertEquals("http", xmlRequest.getProtocol()); assertEquals(null, xmlRequest.getAddress()); assertEquals(null, xmlRequest.getQuery()); assertEquals(null, xmlRequest.getFragment()); }
From source file:com.kolich.havalo.client.service.HavaloClient.java
public Either<HttpFailure, ObjectList> listObjects(final String... path) { // The listing of objects is only successful when the // resulting status code is a 200 OK. Any other status // code on the response is failure. return new HavaloGsonClosure<ObjectList>(client_, gson_.create(), ObjectList.class, SC_OK) { @Override/* w w w . j a v a 2 s . c o m*/ public void before(final HttpRequestBase request) throws Exception { final URIBuilder builder = new URIBuilder(request.getURI()); if (path != null && path.length > 0) { builder.addParameter(API_PARAM_STARTSWITH, varargsToPrefixString(path)); } request.setURI(builder.build()); super.before(request); } }.get(API_ACTION_REPOSITORY); }