Example usage for org.apache.http.client.methods RequestBuilder getUri

List of usage examples for org.apache.http.client.methods RequestBuilder getUri

Introduction

In this page you can find the example usage for org.apache.http.client.methods RequestBuilder getUri.

Prototype

public URI getUri() 

Source Link

Usage

From source file:com.wudaosoft.net.httpclient.ParameterRequestBuilder.java

public static HttpUriRequest build(RequestBuilder builder) {

    final HttpRequestBase result;
    URI uriNotNull = builder.getUri() != null ? builder.getUri() : URI.create("/");
    Charset charset = builder.getCharset();
    charset = charset != null ? charset : HTTP.DEF_CONTENT_CHARSET;
    String method = builder.getMethod();
    List<NameValuePair> parameters = builder.getParameters();
    HttpEntity entityCopy = builder.getEntity();

    if (parameters != null && !parameters.isEmpty()) {
        if (entityCopy == null && (HttpPost.METHOD_NAME.equalsIgnoreCase(method)
                || HttpPut.METHOD_NAME.equalsIgnoreCase(method)
                || HttpPatch.METHOD_NAME.equalsIgnoreCase(method))) {
            entityCopy = new UrlEncodedFormEntity(parameters, charset);
        } else {/*from  w  w  w  .jav a2  s . com*/
            try {
                uriNotNull = new URIBuilder(uriNotNull).setCharset(charset).addParameters(parameters).build();
            } catch (final URISyntaxException ex) {
                // should never happen
            }
        }
    }

    if (entityCopy == null) {
        result = new InternalRequest(method);
    } else {
        final InternalEntityEclosingRequest request = new InternalEntityEclosingRequest(method);
        request.setEntity(entityCopy);
        result = request;
    }
    result.setProtocolVersion(builder.getVersion());
    result.setURI(uriNotNull);
    // if (builder.headergroup != null) {
    // result.setHeaders(builder.headergroup.getAllHeaders());
    // }
    result.setConfig(builder.getConfig());
    return result;
}

From source file:com.nexmo.client.voice.endpoints.ReadCallMethodTest.java

@Test
public void makeRequest() throws Exception {
    RequestBuilder request = method.makeRequest("abcd-efgh");
    assertEquals("https://api.nexmo.com/v1/calls/abcd-efgh", request.getUri().toString());
}

From source file:com.nexmo.client.voice.endpoints.ListCallsMethodTest.java

@Test
public void makeRequestWithNoFilter() throws Exception {
    RequestBuilder request = method.makeRequest(null);
    assertEquals("GET", request.getMethod());
    assertEquals("https://api.nexmo.com/v1/calls", request.getUri().toString());
}

From source file:com.nexmo.client.voice.endpoints.ListCallsMethodTest.java

@Test
public void makeRequestWithFilter() throws Exception {
    CallsFilter callsFilter = new CallsFilter();
    callsFilter.setPageSize(3);/*from  w w  w.  java 2 s .  c om*/
    RequestBuilder request = method.makeRequest(callsFilter);
    assertEquals("GET", request.getMethod());
    assertEquals("https://api.nexmo.com/v1/calls?page_size=3", request.getUri().toString());
}

From source file:com.nexmo.client.voice.endpoints.CreateCallMethodTest.java

@Test
public void testCustomUri() throws Exception {
    CreateCallMethod methodUnderTest = new CreateCallMethod(null);
    methodUnderTest.setUri("https://api.example.com/calls");
    RequestBuilder request = methodUnderTest
            .makeRequest(new Call("447700900903", "447700900904", "https://example.com/answer"));
    assertEquals("https://api.example.com/calls", request.getUri().toString());
}

From source file:com.nexmo.client.voice.endpoints.ListCallsMethodTest.java

@Test
public void testBadUriThrowsException() throws Exception {
    method.setUri(":this::///isnota_uri");
    assertEquals(":this::///isnota_uri", method.getUri());
    try {/*  w  w w .  ja  v  a2 s .c o m*/
        CallsFilter filter = new CallsFilter();
        filter.setPageSize(30);
        RequestBuilder request = method.makeRequest(filter);
        // Anything past here only executes if our assertion is incorrect:
        LOG.error("Request URI: " + request.getUri());
        fail("Making a request with a bad URI should throw a NexmoUnexpectedException");
    } catch (NexmoUnexpectedException nue) {
        // This is expected
    }
}

From source file:com.searchbox.collection.oppfin.IdealISTCollection.java

private Document httpGet(RequestBuilder builder) {
    HttpClient client = HttpClientBuilder.create().build();

    HttpUriRequest request = builder//  w  w  w.  j a  v  a  2s.  c o  m
            .addHeader("User-Agent", env.getProperty(CRAWLER_USER_AGENT, CRAWLER_USER_AGENT_DEFAULT)).build();

    try {
        HttpResponse httpResponse = client.execute(request);
        InputStream ips = httpResponse.getEntity().getContent();
        BufferedReader buf = new BufferedReader(new InputStreamReader(ips, "UTF-8"));
        if (httpResponse.getStatusLine().getStatusCode() != HttpStatus.SC_OK) {
            LOGGER.error("could read response ({}) for url: {}", httpResponse.getStatusLine().getReasonPhrase(),
                    builder.getUri());
        }
        StringBuilder sb = new StringBuilder();
        String s;
        while (true) {
            s = buf.readLine();
            if (s == null || s.length() == 0)
                break;
            sb.append(s);

        }
        buf.close();
        ips.close();

        return buildXMLDocument(sb.toString());

    } catch (Exception e) {
        LOGGER.error("Could not get XML from {}", builder.getUri(), e);
    }
    return null;
}

From source file:cn.wanghaomiao.seimi.core.SeimiProcessor.java

@Override
public void run() {
    while (true) {
        Request request = null;// w  w  w.  j  ava 2s  .c  o  m
        try {
            request = queue.bPop(crawlerModel.getCrawlerName());
            if (request == null) {
                continue;
            }
            if (crawlerModel == null) {
                logger.error("No such crawler name:'{}'", request.getCrawlerName());
                continue;
            }
            if (request.isStop()) {
                logger.info("SeimiProcessor[{}] will stop!", Thread.currentThread().getName());
                break;
            }
            //
            if (!StructValidator.validateAnno(request)) {
                logger.warn("Request={} is illegal", JSON.toJSONString(request));
                continue;
            }
            if (!StructValidator.validateAllowRules(crawler.allowRules(), request.getUrl())) {
                logger.warn("Request={} will be dropped by allowRules=[{}]", JSON.toJSONString(request),
                        StringUtils.join(crawler.allowRules(), ","));
                continue;
            }
            if (StructValidator.validateDenyRules(crawler.denyRules(), request.getUrl())) {
                logger.warn("Request={} will be dropped by denyRules=[{}]", JSON.toJSONString(request),
                        StringUtils.join(crawler.denyRules(), ","));
                continue;
            }
            //???Request???
            if (request.getCurrentReqCount() >= request.getMaxReqCount()) {
                continue;
            }
            if (!request.isSkipDuplicateFilter() && crawlerModel.isUseUnrepeated() && queue.isProcessed(request)
                    && request.getCurrentReqCount() == 0) {
                logger.info("This request has bean processed,so current request={} will be dropped!",
                        JSON.toJSONString(request));
                continue;
            }
            queue.addProcessed(request);
            HttpClient hc;
            if (crawlerModel.isUseCookie()) {
                hc = HttpClientFactory.getHttpClient(10000, crawler.getCookieStore());
            } else {
                hc = HttpClientFactory.getHttpClient();
            }
            RequestBuilder requestBuilder = RequestGenerator.getHttpRequestBuilder(request, crawlerModel);

            HttpContext httpContext = new BasicHttpContext();
            HttpResponse httpResponse = hc.execute(requestBuilder.build(), httpContext);
            Response seimiResponse = renderResponse(httpResponse, request, httpContext);
            Matcher mm = metaRefresh.matcher(seimiResponse.getContent());
            int refreshCount = 0;
            while (!request.isUseSeimiAgent() && mm.find() && refreshCount < 3) {
                String nextUrl = mm.group(1).replaceAll("'", "");
                if (!nextUrl.startsWith("http")) {
                    String prefix = getRealUrl(httpContext);
                    nextUrl = prefix + nextUrl;
                }
                logger.info("Seimi refresh url to={} from={}", nextUrl, requestBuilder.getUri());
                requestBuilder.setUri(nextUrl);
                httpResponse = hc.execute(requestBuilder.build(), httpContext);
                seimiResponse = renderResponse(httpResponse, request, httpContext);
                mm = metaRefresh.matcher(seimiResponse.getContent());
                refreshCount += 1;
            }

            Method requestCallback = crawlerModel.getMemberMethods().get(request.getCallBack());
            if (requestCallback == null) {
                continue;
            }
            for (SeimiInterceptor interceptor : interceptors) {
                Interceptor interAnno = interceptor.getClass().getAnnotation(Interceptor.class);
                if (interAnno.everyMethod()
                        || requestCallback.isAnnotationPresent(interceptor.getTargetAnnotationClass())
                        || crawlerModel.getClazz()
                                .isAnnotationPresent(interceptor.getTargetAnnotationClass())) {
                    interceptor.before(requestCallback, seimiResponse);
                }
            }
            if (crawlerModel.getDelay() > 0) {
                TimeUnit.SECONDS.sleep(crawlerModel.getDelay());
            }
            requestCallback.invoke(crawlerModel.getInstance(), seimiResponse);
            for (SeimiInterceptor interceptor : interceptors) {
                Interceptor interAnno = interceptor.getClass().getAnnotation(Interceptor.class);
                if (interAnno.everyMethod()
                        || requestCallback.isAnnotationPresent(interceptor.getTargetAnnotationClass())
                        || crawlerModel.getClazz()
                                .isAnnotationPresent(interceptor.getTargetAnnotationClass())) {
                    interceptor.after(requestCallback, seimiResponse);
                }
            }
            logger.debug("Crawler[{}] ,url={} ,responseStatus={}", crawlerModel.getCrawlerName(),
                    request.getUrl(), httpResponse.getStatusLine().getStatusCode());
        } catch (Exception e) {
            logger.error(e.getMessage(), e);
            if (request == null) {
                continue;
            }
            if (request.getCurrentReqCount() < request.getMaxReqCount()) {
                request.incrReqCount();
                queue.push(request);
                logger.info(
                        "Request process error,req will go into queue again,url={},maxReqCount={},currentReqCount={}",
                        request.getUrl(), request.getMaxReqCount(), request.getCurrentReqCount());
            } else if (request.getCurrentReqCount() >= request.getMaxReqCount()
                    && request.getMaxReqCount() > 0) {
                crawler.handleErrorRequest(request);
            }

        }
    }
}