List of usage examples for org.apache.http.client.utils URIBuilder setParameter
public URIBuilder setParameter(final String param, final String value)
From source file:com.haulmont.idp.controllers.IdpController.java
@PostMapping(value = "/auth", produces = "application/json; charset=UTF-8") @ResponseBody/*from w w w . ja v a 2s . c o m*/ public AuthResponse authenticate(@RequestBody AuthRequest auth, @CookieValue(value = CUBA_IDP_COOKIE_NAME, defaultValue = "") String idpSessionCookie, HttpServletResponse response) { String serviceProviderUrl = auth.getServiceProviderUrl(); if (!Strings.isNullOrEmpty(serviceProviderUrl) && !idpConfig.getServiceProviderUrls().contains(serviceProviderUrl)) { log.warn("Incorrect serviceProviderUrl {} passed, will be used default", serviceProviderUrl); serviceProviderUrl = null; } if (Strings.isNullOrEmpty(serviceProviderUrl)) { if (!idpConfig.getServiceProviderUrls().isEmpty()) { serviceProviderUrl = idpConfig.getServiceProviderUrls().get(0); } else { log.error("IDP property cuba.idp.serviceProviderUrls is not set"); response.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value()); return null; } } Locale sessionLocale = null; if (globalConfig.getLocaleSelectVisible() && auth.getLocale() != null) { Map<String, Locale> availableLocales = globalConfig.getAvailableLocales(); Locale requestedLocale = Locale.forLanguageTag(auth.getLocale()); if (availableLocales.containsValue(requestedLocale)) { sessionLocale = requestedLocale; } } if (sessionLocale == null) { sessionLocale = messageTools.getDefaultLocale(); } if (!Strings.isNullOrEmpty(idpSessionCookie)) { boolean loggedOut = idpService.logout(idpSessionCookie); if (loggedOut) { log.info("Logged out IDP session {}", idpSessionCookie); logoutCallbackInvoker.performLogoutOnServiceProviders(idpSessionCookie); } } IdpService.IdpLoginResult loginResult; try { loginResult = idpService.login(auth.getUsername(), passwordEncryption.getPlainHash(auth.getPassword()), sessionLocale, ImmutableMap.of(ClientType.class.getName(), ClientType.WEB.name())); } catch (LoginException e) { // remove auth cookie Cookie cookie = new Cookie(CUBA_IDP_COOKIE_NAME, ""); cookie.setMaxAge(0); response.addCookie(cookie); log.warn("Unable to login user {}", auth.getUsername()); return AuthResponse.failed("invalid_credentials"); } if (loginResult.getSessionId() != null) { Cookie idpCookie = new Cookie(CUBA_IDP_COOKIE_NAME, loginResult.getSessionId()); idpCookie.setMaxAge(idpConfig.getIdpCookieMaxAge()); idpCookie.setHttpOnly(idpConfig.getIdpCookieHttpOnly()); response.addCookie(idpCookie); } String serviceProviderRedirectUrl; try { URIBuilder uriBuilder = new URIBuilder(serviceProviderUrl); if ("client-ticket".equals(auth.getResponseType())) { uriBuilder.setFragment(CUBA_IDP_TICKET_PARAMETER + "=" + loginResult.getServiceProviderTicket()); } else { uriBuilder.setParameter(CUBA_IDP_TICKET_PARAMETER, loginResult.getServiceProviderTicket()); } serviceProviderRedirectUrl = uriBuilder.build().toString(); } catch (URISyntaxException e) { return AuthResponse.failed("invalid_params"); } log.info("Logged in IDP session with ticket {}, user: {}", loginResult.getServiceProviderTicket(), auth.getUsername()); return AuthResponse.authenticated(serviceProviderRedirectUrl); }
From source file:com.haulmont.idp.controllers.IdpController.java
@GetMapping(value = "/") public String checkIdpSession(@RequestParam(value = "sp", defaultValue = "") String serviceProviderUrl, @RequestParam(value = "response_type", defaultValue = "server-ticket") String responseType, @CookieValue(value = CUBA_IDP_COOKIE_NAME, defaultValue = "") String idpSessionCookie, HttpServletResponse response) {/*from w w w . ja v a 2 s .c o m*/ if (!Strings.isNullOrEmpty(serviceProviderUrl) && !idpConfig.getServiceProviderUrls().contains(serviceProviderUrl)) { log.warn("Incorrect serviceProviderUrl {} passed, will be used default", serviceProviderUrl); serviceProviderUrl = null; } if (Strings.isNullOrEmpty(serviceProviderUrl)) { if (!idpConfig.getServiceProviderUrls().isEmpty()) { serviceProviderUrl = idpConfig.getServiceProviderUrls().get(0); } else { log.error("IDP property cuba.idp.serviceProviderUrls is not set"); response.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value()); return null; } } if (!Strings.isNullOrEmpty(idpSessionCookie)) { String serviceProviderTicket = idpService.createServiceProviderTicket(idpSessionCookie); if (serviceProviderTicket != null) { String serviceProviderRedirectUrl; try { URIBuilder uriBuilder = new URIBuilder(serviceProviderUrl); if (ResponseType.CLIENT_TICKET.getCode().equals(responseType)) { uriBuilder.setFragment(CUBA_IDP_TICKET_PARAMETER + "=" + serviceProviderTicket); } else { uriBuilder.setParameter(CUBA_IDP_TICKET_PARAMETER, serviceProviderTicket); } serviceProviderRedirectUrl = uriBuilder.build().toString(); } catch (URISyntaxException e) { log.warn("Unable to compose redirect URL", e); response.setStatus(HttpStatus.BAD_REQUEST.value()); return null; } try { response.sendRedirect(serviceProviderRedirectUrl); } catch (IOException e) { // do not log stacktrace here log.warn("Unable to send redirect to service provider URL", e.getMessage()); } log.debug("New ticket {} created for already logged in user", serviceProviderTicket); return null; } else { log.debug("IDP session {} not found, login required", idpSessionCookie); } } // remove auth cookie Cookie cookie = new Cookie(CUBA_IDP_COOKIE_NAME, ""); cookie.setMaxAge(0); response.addCookie(cookie); if (ResponseType.CLIENT_TICKET.getCode().equals(responseType)) { return "redirect:login.html" + "?response_type=" + ResponseType.CLIENT_TICKET.getCode() + "&sp=" + URLEncodeUtils.encodeUtf8(serviceProviderUrl); } return "redirect:login.html?sp=" + URLEncodeUtils.encodeUtf8(serviceProviderUrl); }
From source file:gov.medicaid.screening.dao.impl.MedicalPracticeLicenseDAOBean.java
/** * Performs a search for all possible results. * * @param criteria The search criteria./* www .j a v a 2 s . c o m*/ * @param byName flag indicating it is a search by name. * @return the search result for licenses * @throws URISyntaxException if an error occurs while building the URL. * @throws ClientProtocolException if client does not support protocol used. * @throws IOException if an error occurs while parsing response. * @throws ParseException if an error occurs while parsing response. * @throws ServiceException for any other problems encountered */ private SearchResult<License> getAllResults(MedicalPracticeLicenseSearchCriteria criteria, boolean byName) throws URISyntaxException, ClientProtocolException, IOException, ParseException, ServiceException { DefaultHttpClient client = new DefaultHttpClient(); URIBuilder builder = new URIBuilder(getSearchURL()).setPath("/BMP/DesktopModules/ServiceForm.aspx"); String hostId = builder.toString(); builder.setParameter("svid", "30").setParameter("mid", "176"); HttpGet httpget = new HttpGet(builder.build()); HttpResponse landing = client.execute(httpget); Document document = Jsoup.parse(EntityUtils.toString(landing.getEntity())); HttpPost httppost = new HttpPost(builder.build()); HttpEntity entity = postForm(hostId, client, httppost, new String[][] { { "__EVENTTARGET", byName ? "_ctl7_rblSearchOption_0" : "_ctl7_rblSearchOption_1" }, { "__EVENTARGUMENT", "" }, { "_ctl7:rblSearchOption", byName ? "Name" : "Specialty" }, { "__VIEWSTATE", document.select("#Form1 input[name=__VIEWSTATE]").first().val() } }, true); document = Jsoup.parse(EntityUtils.toString(entity)); httppost.releaseConnection(); if (byName) { entity = postForm(hostId, client, httppost, new String[][] { { "__EVENTTARGET", "" }, { "__EVENTARGUMENT", "" }, { "_ctl7:cmdSearch", "Search" }, { "_ctl7:rblSearchOption", "Name" }, { "_ctl7:txtCity", Util.defaultString(criteria.getCity()) }, { "_ctl7:txtFirstName", Util.defaultString(criteria.getFirstName()) }, { "_ctl7:txtLastName", Util.defaultString(criteria.getLastName()) }, { "_ctl7:txtLicNbr", Util.defaultString(criteria.getIdentifier()) }, { "__VIEWSTATE", document.select("#Form1 input[name=__VIEWSTATE]").first().val() } }, true); } else { String code = matchSpecialtyCode(criteria, document); entity = postForm(hostId, client, httppost, new String[][] { { "__EVENTTARGET", "" }, { "__EVENTARGUMENT", "" }, { "_ctl7:cmdSearchSpecialty", "Search" }, { "_ctl7:ddlbSpecialty", code }, { "_ctl7:rblSearchOption", "Specialty" }, { "_ctl7:txtSpecialtyCity", Util.defaultString(criteria.getCity()) }, { "_ctl7:txtSpecialtyZip", Util.defaultString(criteria.getZipcode()) }, { "__VIEWSTATE", document.select("#Form1 input[name=__VIEWSTATE]").first().val() } }, true); } // licenses list List<License> licenseList = new ArrayList<License>(); if (entity != null) { String result = EntityUtils.toString(entity); document = Jsoup.parse(result); Elements rows = document.select( "#_ctl7_grdSearchResults tr.TableItem, #_ctl7_grdSearchResults tr.TableAlternatingItem"); for (Element row : rows) { String href = row.select("a[name=Hyperlink1]").first().attr("href"); String city = row.select("td:eq(4)").text(); String detailsLink = getSearchURL() + "/BMP/DesktopModules/" + href.replaceAll(" ", "%20"); HttpGet detailsGet = new HttpGet(detailsLink); HttpResponse detailsResponse = client.execute(detailsGet); HttpEntity detailsEntity = detailsResponse.getEntity(); if (detailsEntity != null) { Document details = Jsoup.parse(EntityUtils.toString(detailsEntity)); licenseList.add(parseLicense(city, details)); } } } SearchResult<License> result = new SearchResult<License>(); result.setItems(licenseList); return result; }
From source file:com.teradata.tempto.internal.hadoop.hdfs.WebHDFSClient.java
private URI buildUri(String path, String username, String operation, Pair<String, String>... parameters) { try {//from w w w . j a v a2s .co m if (!path.startsWith("/")) { path = "/" + path; } URIBuilder uriBuilder = new URIBuilder().setScheme("http").setHost(nameNode.getHostText()) .setPort(nameNode.getPort()).setPath("/webhdfs/v1" + checkNotNull(path)) .setParameter("op", checkNotNull(operation)).setParameter("user.name", checkNotNull(username)); for (Pair<String, String> parameter : parameters) { uriBuilder.setParameter(parameter.getKey(), parameter.getValue()); } return uriBuilder.build(); } catch (URISyntaxException e) { throw new RuntimeException("Could not create save file URI" + ", nameNode: " + nameNode + ", path: " + path + ", username: " + username); } }
From source file:org.finra.herd.tools.uploader.UploaderWebClient.java
/** * Retrieves all versions for the specified business object data key. * * @param businessObjectDataKey the business object data key * * @return {@link org.finra.herd.model.api.xml.BusinessObjectDataVersions} * @throws URISyntaxException When error occurs while URI creation * @throws IOException When error occurs communicating with server * @throws JAXBException When error occurs parsing the XML *//*from ww w. j a v a2s . c o m*/ public BusinessObjectDataVersions getBusinessObjectDataVersions(BusinessObjectDataKey businessObjectDataKey) throws URISyntaxException, IOException, JAXBException { LOGGER.info("Retrieving business object data versions from the registration server..."); BusinessObjectDataVersions businessObjectDataVersions; try (CloseableHttpClient client = httpClientOperations.createHttpClient()) { StringBuilder uriPathBuilder = new StringBuilder(300); uriPathBuilder.append(HERD_APP_REST_URI_PREFIX); uriPathBuilder.append("/businessObjectData/namespaces/").append(businessObjectDataKey.getNamespace()); uriPathBuilder.append("/businessObjectDefinitionNames/") .append(businessObjectDataKey.getBusinessObjectDefinitionName()); uriPathBuilder.append("/businessObjectFormatUsages/") .append(businessObjectDataKey.getBusinessObjectFormatUsage()); uriPathBuilder.append("/businessObjectFormatFileTypes/") .append(businessObjectDataKey.getBusinessObjectFormatFileType()); uriPathBuilder.append("/versions"); URIBuilder uriBuilder = new URIBuilder().setScheme(getUriScheme()) .setHost(regServerAccessParamsDto.getRegServerHost()) .setPort(regServerAccessParamsDto.getRegServerPort()).setPath(uriPathBuilder.toString()) .setParameter("partitionValue", businessObjectDataKey.getPartitionValue()); if (businessObjectDataKey.getSubPartitionValues() != null) { uriBuilder.setParameter("subPartitionValues", herdStringHelper.join(businessObjectDataKey.getSubPartitionValues(), "|", "\\")); } if (businessObjectDataKey.getBusinessObjectFormatVersion() != null) { uriBuilder.setParameter("businessObjectFormatVersion", businessObjectDataKey.getBusinessObjectFormatVersion().toString()); } if (businessObjectDataKey.getBusinessObjectDataVersion() != null) { uriBuilder.setParameter("businessObjectDataVersion", businessObjectDataKey.getBusinessObjectDataVersion().toString()); } HttpGet httpGet = new HttpGet(uriBuilder.build()); httpGet.addHeader("Accepts", DEFAULT_ACCEPT); // If SSL is enabled, set the client authentication header. if (regServerAccessParamsDto.isUseSsl()) { httpGet.addHeader(getAuthorizationHeader()); } LOGGER.info(String.format(" HTTP GET URI: %s", httpGet.getURI().toString())); LOGGER.info(String.format(" HTTP GET Headers: %s", Arrays.toString(httpGet.getAllHeaders()))); businessObjectDataVersions = getBusinessObjectDataVersions( httpClientOperations.execute(client, httpGet)); } LOGGER.info(String.format( "Successfully retrieved %d already registered version(s) for the business object data. businessObjectDataKey=%s", businessObjectDataVersions.getBusinessObjectDataVersions().size(), jsonHelper.objectToJson(businessObjectDataKey))); return businessObjectDataVersions; }
From source file:fr.gael.dhus.olingo.v1.V1Processor.java
/** Makes the `next` link for navigation purposes. */ private String makeNextLink(int skip) throws ODataException { URI selfLnk = getServiceRoot(); URIBuilder ub = new URIBuilder(selfLnk); ub.setParameter("$skip", String.valueOf(skip)); return ub.toString(); }
From source file:org.wikidata.wdtk.wikibaseapi.WikibaseDataFetcher.java
/** * Returns the URL string for a wbgetentities request to the Wikibase API, * or null if it was not possible to build such a string with the current * settings.//from www. ja va 2 s. c o m * * @param parameters * map of possible parameters (e.g. ("sites", "enwiki"), * ("titles", titles of entities to retrieve), ("ids", ids of * entities to retrieve). See * WikibaseDataFetcher.getWbGetEntitiesUrl(List<String> * entityIds) as an example. * @return URL string */ String getWbGetEntitiesUrl(Map<String, String> parameters) { URIBuilder uriBuilder; try { uriBuilder = new URIBuilder(this.apiBaseUrl); } catch (URISyntaxException e1) { logger.error("Error in API URL \"" + this.apiBaseUrl + "\": " + e1.toString()); return null; } uriBuilder.setParameter("action", "wbgetentities"); uriBuilder.setParameter("format", "json"); setRequestProps(uriBuilder); setRequestLanguages(uriBuilder); setRequestSitefilter(uriBuilder); for (String parameter : parameters.keySet()) { String value = parameters.get(parameter); uriBuilder.setParameter(parameter, value); } return uriBuilder.toString(); }
From source file:fi.csc.shibboleth.mobileauth.impl.authn.AuthenticateMobile.java
/** {@inheritDoc} */ protected Event doExecute(@Nonnull final RequestContext springRequestContext, @Nonnull final ProfileRequestContext profileRequestContext) { log.debug("{} Entering - doExecute", getLogPrefix()); final MobileContext mobCtx = profileRequestContext.getSubcontext(AuthenticationContext.class) .getSubcontext(MobileContext.class); final String mobileNumber = StringSupport.trimOrNull(mobCtx.getMobileNumber()); final String spamCode = StringSupport.trimOrNull(mobCtx.getSpamCode()); final CloseableHttpClient httpClient; try {/*from w w w . j a va2 s.co m*/ log.debug("{} Trying to create httpClient", getLogPrefix()); httpClient = createHttpClient(); } catch (KeyStoreException | RuntimeException e) { log.error("{} Cannot create httpClient", getLogPrefix(), e); return Events.failure.event(this); } // TODO: entity initialization HttpEntity entity = null; try { final URIBuilder builder = new URIBuilder(); // TODO: remove hard-codings builder.setScheme("https").setHost(authServer).setPort(authPort).setPath(authPath) .setParameter(REST_PARAM_MOBILENUMBER, mobileNumber); if (spamCode != null) { builder.setParameter(REST_PARAM_NO_SPAM_CODE, spamCode); } final URI url = builder.build(); final HttpGet httpGet = new HttpGet(url); final Gson gson = new GsonBuilder().create(); final CloseableHttpResponse response = httpClient.execute(httpGet); log.debug("{} Response: {}", getLogPrefix(), response); int statusCode = response.getStatusLine().getStatusCode(); log.debug("{}HTTPStatusCode {}", getLogPrefix(), statusCode); entity = response.getEntity(); final String json = EntityUtils.toString(entity, "UTF-8"); final StatusResponse status = gson.fromJson(json, StatusResponse.class); if (status.getErrorMessage() != null) { log.debug("{} Setting error message", getLogPrefix()); mobCtx.setErrorMessage(status.getErrorMessage()); } response.close(); if (statusCode == HttpStatus.SC_OK) { log.debug("{} Gson commKey: {}", getLogPrefix(), status.getCommunicationDataKey()); log.debug("{} Gson EventID: {}", getLogPrefix(), status.getEventId()); log.debug("{} Gson ErrorMessage: {}", getLogPrefix(), status.getErrorMessage()); mobCtx.setProcessState(ProcessState.IN_PROCESS); mobCtx.setConversationKey(status.getCommunicationDataKey()); mobCtx.setEventId(status.getEventId()); mobCtx.setErrorMessage(status.getErrorMessage()); } else if (statusCode == HttpStatus.SC_METHOD_NOT_ALLOWED) { mobCtx.setProcessState(ProcessState.ERROR); // TODO: multilingual error message log.warn("{} 405 - Status code {} from REST gateway", getLogPrefix(), statusCode); return Events.failure.event(this); } else if (statusCode == HttpStatus.SC_UNAUTHORIZED) { mobCtx.setProcessState(ProcessState.ERROR); // TODO: multilingual error message log.error("{} 401 - Status code {} from REST gateway - Invalid client configuration?", getLogPrefix(), statusCode); return Events.failure.event(this); } else { mobCtx.setProcessState(ProcessState.ERROR); // TODO: multilingual error message log.warn("{} Status code {} from REST gateway", getLogPrefix(), statusCode); return Events.gatewayError.event(this); } } catch (Exception e) { // TODO: better exception handling log.error("Exception: {}", e); ActionSupport.buildEvent(profileRequestContext, AuthnEventIds.AUTHN_EXCEPTION); return Events.failure.event(this); } finally { EntityUtils.consumeQuietly(entity); } return Events.success.event(this); }
From source file:com.rackspacecloud.blueflood.inputs.handlers.HttpHandlerIntegrationTest.java
@Test public void testSearchMetricsWithAcceptNonJsonShouldReturn415() throws Exception { // test the GET /v2.0/%s/metrics/search URIBuilder query_builder = getMetricDataQueryURIBuilder().setPath(String.format(getSearchPath, TENANT_ID)); query_builder.setParameter("query", "foo.bar.none"); HttpGet searchRequest = new HttpGet(query_builder.build()); searchRequest.setHeader(HttpHeaders.ACCEPT, ContentType.APPLICATION_ATOM_XML.toString()); HttpResponse response = client.execute(searchRequest); assertEquals("accept non Json should get 415", 415, response.getStatusLine().getStatusCode()); }