Example usage for org.apache.http.client.utils URIBuilder build

List of usage examples for org.apache.http.client.utils URIBuilder build

Introduction

In this page you can find the example usage for org.apache.http.client.utils URIBuilder build.

Prototype

public URI build() throws URISyntaxException 

Source Link

Document

Builds a URI instance.

Usage

From source file:org.berlin.crawl.net.RobotsConnector.java

/**
 * Connect to robots.txt file.// ww w. ja  va2s.  c om
 * 
 * On error, close inputstream, return empty document.
 * 
 * @param builder
 * @return
 * @throws Exception
 */
protected synchronized String connect(final URIBuilder builder) throws Exception {
    this.lastURIBuilder = builder;
    InputStream instream = null;
    try {
        logger.info("Attempting request : " + builder.toString());
        final HttpParams params = new BasicHttpParams();
        final HttpProtocolParamBean paramsBean = new HttpProtocolParamBean(params);
        paramsBean.setUserAgent(OctaneCrawlerConstants.USER_AGENT);
        // Set this to false, or else you'll get an
        // Expectation Failed: error
        paramsBean.setUseExpectContinue(false);

        final URI uri = builder.build();
        final HttpClient httpclient = new DefaultHttpClient();
        final HttpGet httpget = new HttpGet(uri);
        httpget.setParams(params);

        // Connect //
        final HttpResponse response = httpclient.execute(httpget);
        final HttpEntity entity = response.getEntity();

        this.response = response;
        if (response != null) {
            if (response.getStatusLine() != null) {
                if (response.getStatusLine().getStatusCode() != 200) {
                    // Log the error line
                    logger.error("Invalid status code - " + response.getStatusLine().getStatusCode());
                    throw new CrawlerError("Invalid status code - " + response.getStatusLine().getStatusCode());
                }
            }
        }

        if (entity != null) {
            instream = entity.getContent();
            if (instream != null) {
                final StringBuffer document = new StringBuffer();
                final BufferedReader reader = new BufferedReader(new InputStreamReader(instream));
                String line = "";
                while ((line = reader.readLine()) != null) {
                    document.append(line);
                    document.append(NL);
                } // End of the while //
                return document.toString();
            } // End of - instream ///
        } // End of the if /
        Thread.sleep(100);
    } catch (final Exception e) {
        logger.error("Error at robots connect", e);
        throw new CrawlerError("Error at connect", e);
    } finally {
        try {
            if (instream != null) {
                instream.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    } // End of the try - catch block //
    return null;
}

From source file:com.streamreduce.core.service.SearchServiceImpl.java

@Override
public JSONObject makeRequest(String path, JSONObject payload, Map<String, String> urlParameters,
        String method) {// w  w w  . j  a va 2 s  . co  m
    URIBuilder urlBuilder = new URIBuilder();
    urlBuilder.setScheme("http").setHost(elasticSearchHost).setPort(elasticSearchPort).setPath(path);
    if (urlParameters != null) {
        for (String paramName : urlParameters.keySet()) {
            String value = urlParameters.get(paramName);
            if (StringUtils.isNotBlank(value)) {
                urlBuilder.setParameter(paramName, value);
            }
        }
    }

    String url;
    try {
        url = urlBuilder.build().toString();
        String response = HTTPUtils.openUrl(url, method, payload.toString(), MediaType.APPLICATION_JSON, null,
                null, null, null);
        return JSONObject.fromObject(response);
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
}

From source file:ee.ria.xroad.proxy.testsuite.testcases.GetWSDLMessage.java

@Override
protected URI getClientUri() throws URISyntaxException {
    URIBuilder builder = new URIBuilder();
    builder.setScheme("http").setHost("localhost").setPort(SystemProperties.getClientProxyHttpPort())
            .setPath(MetadataRequests.WSDL)
            .setParameter(PARAM_INSTANCE_IDENTIFIER, expectedProviderQuery.getXRoadInstance())
            .setParameter(PARAM_MEMBER_CLASS, expectedProviderQuery.getMemberClass())
            .setParameter(PARAM_MEMBER_CODE, expectedProviderQuery.getMemberCode())
            .setParameter(PARAM_SERVICE_CODE, expectedServiceNameForWSDLQuery);
    return builder.build();
}

From source file:com.esri.geoportal.commons.agp.client.AgpClient.java

private URI itemInfoUri(String itemId) throws URISyntaxException {
    URIBuilder builder = new URIBuilder();
    builder.setScheme(rootUrl.toURI().getScheme()).setHost(rootUrl.toURI().getHost())
            .setPort(rootUrl.toURI().getPort())
            .setPath(rootUrl.toURI().getPath() + "sharing/content/items/" + itemId);
    return builder.build();
}

From source file:com.arrow.acs.client.api.ApiAbstract.java

public URI buildUri(String path) {
    Validate.notNull(apiConfig, "apiConfig is not set");
    try {/*www.  j av a2  s.c  om*/
        URIBuilder uriBuilder;
        if (!StringUtils.isBlank(apiConfig.getBaseUrl())) {
            uriBuilder = new URIBuilder(apiConfig.getBaseUrl());
        } else {
            uriBuilder = new URIBuilder();
        }
        if (!StringUtils.isEmpty(path)) {
            StringBuilder pathBuilder = new StringBuilder()
                    .append(uriBuilder.getPath() != null ? uriBuilder.getPath() : "").append("/").append(path);
            uriBuilder.setPath(pathBuilder.toString().replaceAll("/{2,}", "/"));
        }
        return uriBuilder.build();
    } catch (URISyntaxException e) {
        throw new AcsClientException("Invalid base: " + apiConfig.getBaseUrl() + ", path: " + path,
                new AcsErrorResponse());
    }
}

From source file:com.imagesleuth.imagesleuthclient2.Getter.java

public void get(final String id, final File result)
        throws InterruptedException, IOException, URISyntaxException {

    Test.testNull(id);/*from  ww  w  .  j a  v  a  2  s .c om*/
    Test.testNull(result);
    final CountDownLatch latch = new CountDownLatch(1);

    try (CloseableHttpAsyncClient httpclient = HttpAsyncClients.custom().setDefaultHeaders(harray)
            .setDefaultCredentialsProvider(credsProvider).setDefaultRequestConfig(requestConfig).build()) {
        httpclient.start();
        URIBuilder builder = new URIBuilder();
        if (url.startsWith("https://")) {
            String baseURL = url.substring(8);
            builder.setScheme("https").setHost(baseURL).setPath("/api/v1/results").setParameter("id", id);
        } else if (url.startsWith("http://")) {
            String baseURL = url.substring(7);
            builder.setScheme("http").setHost(baseURL).setPath("/api/v1/results").setParameter("id", id);
        } else {
            builder.setScheme("http").setHost(url).setPath("/api/v1/results").setParameter("id", id);
        }
        URI uri = builder.build();
        final HttpGet request = new HttpGet(uri);
        httpclient.execute(request, new FutureCallback<HttpResponse>() {

            @Override
            public void completed(final HttpResponse response) {

                int code = response.getStatusLine().getStatusCode();
                latch.countDown();
                if (code == 200) {
                    if (response.getEntity() != null) {
                        StringWriter writer = new StringWriter();
                        try {
                            IOUtils.copy(response.getEntity().getContent(), writer);
                            //System.out.println("result: " + writer.toString());
                            JsonNode json = mapper.readTree(writer.toString());
                            String s = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(json);
                            try (FileWriter fw = new FileWriter(result)) {
                                fw.write(s);
                            }
                        } catch (Exception ex) {
                            ex.printStackTrace();
                        }
                    }
                }
            }

            @Override
            public void failed(final Exception ex) {
                latch.countDown();
                System.out.println(request.getRequestLine() + "->" + ex);
            }

            @Override
            public void cancelled() {
                latch.countDown();
                System.out.println(request.getRequestLine() + " cancelled");
            }

        });
        latch.await();
    }
    //System.out.println("Shutting down");
}

From source file:com.haulmont.idp.controllers.IdpController.java

@PostMapping(value = "/auth", produces = "application/json; charset=UTF-8")
@ResponseBody/*ww w . j  a va 2 s.co  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.esri.geoportal.commons.agp.client.AgpClient.java

/**
 * Searches for items.//www . j  a  v a2  s.  c om
 * @param query query
 * @param num max number of items
 * @param start start item
 * @param token token (optional)
 * @return query response
 * @throws URISyntaxException if invalid URL
 * @throws IOException if operation fails
 */
public QueryResponse search(String query, long num, long start, String token)
        throws URISyntaxException, IOException {
    URIBuilder builder = new URIBuilder(searchUri());

    builder.setParameter("f", "json");
    builder.setParameter("q", String.format("%s %s", query, QUERY_EXTRAS));
    if (token != null) {
        builder.setParameter("token", token);
    }
    HttpGet req = new HttpGet(builder.build());

    return execute(req, QueryResponse.class);
}

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  ww w.  ja v a 2s . co  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);
}