Example usage for org.apache.http.protocol HTTP CONN_KEEP_ALIVE

List of usage examples for org.apache.http.protocol HTTP CONN_KEEP_ALIVE

Introduction

In this page you can find the example usage for org.apache.http.protocol HTTP CONN_KEEP_ALIVE.

Prototype

String CONN_KEEP_ALIVE

To view the source code for org.apache.http.protocol HTTP CONN_KEEP_ALIVE.

Click Source Link

Usage

From source file:org.aevans.goat.net.ConnectionUtils.java

public static ConnectionKeepAliveStrategy getConnectionKeepAliveStrategy(final int keepAlive) {
    return new ConnectionKeepAliveStrategy() {

        public long getKeepAliveDuration(HttpResponse response, HttpContext context) {
            // Honor 'keep-alive' header
            HeaderElementIterator it = new BasicHeaderElementIterator(
                    response.headerIterator(HTTP.CONN_KEEP_ALIVE));
            while (it.hasNext()) {
                HeaderElement he = it.nextElement();
                String param = he.getName();
                String value = he.getValue();
                if (value != null && param.equalsIgnoreCase("timeout")) {
                    try {
                        return Long.parseLong(value) * 1000;
                    } catch (NumberFormatException ignore) {
                    }/*www.j av a2s .c  om*/
                }
            }

            return keepAlive * 1000;
        }

    };
}

From source file:code.google.restclient.core.CustomKeepAliveStrategy.java

public long getKeepAliveDuration(HttpResponse response, HttpContext context) {
    // Honor 'keep-alive' header if present in response
    HeaderElementIterator it = new BasicHeaderElementIterator(response.headerIterator(HTTP.CONN_KEEP_ALIVE));
    while (it.hasNext()) {
        HeaderElement he = it.nextElement();
        String param = he.getName();
        String value = he.getValue();
        if (value != null && param.equalsIgnoreCase("timeout")) {
            try {
                return Long.parseLong(value) * 1000;
            } catch (NumberFormatException ignore) {
            }/* ww w.  j  a v a  2 s .com*/
        }
    }

    /*
    HttpHost target = (HttpHost) context.getAttribute(ExecutionContext.HTTP_TARGET_HOST);
    if ("www.naughty-server.com".equalsIgnoreCase(target.getHostName())) {
               
       return 5 * 1000;   // Keep alive for 5 seconds only
    }
    */

    return 10 * 1000; // Keep alive for 10 seconds
}

From source file:com.muk.services.web.client.DefaultKeepAliveStrategy.java

@Override
public long getKeepAliveDuration(HttpResponse response, HttpContext context) {
    HeaderElementIterator it = new BasicHeaderElementIterator(response.headerIterator(HTTP.CONN_KEEP_ALIVE));
    while (it.hasNext()) {
        HeaderElement he = it.nextElement();
        String param = he.getName();
        String value = he.getValue();
        if (value != null && param.equalsIgnoreCase("timeout")) {
            return Long.parseLong(value) * 1000;
        }//from   w ww .java  2 s  .  c o  m
    }
    return 5 * 1000;
}

From source file:groovesquid.GetAdsThread.java

public static String getFile(String url) {
    String responseContent = null;
    HttpEntity httpEntity = null;//from  ww  w . java2s .  co m
    try {
        HttpGet httpGet = new HttpGet(url);
        httpGet.setHeader(HTTP.CONN_DIRECTIVE, HTTP.CONN_KEEP_ALIVE);
        httpGet.setHeader(HTTP.USER_AGENT,
                "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31");

        HttpClient httpClient = HttpClientBuilder.create().build();
        HttpResponse httpResponse = httpClient.execute(httpGet);
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        httpEntity = httpResponse.getEntity();

        StatusLine statusLine = httpResponse.getStatusLine();
        int statusCode = statusLine.getStatusCode();
        if (statusCode == HttpStatus.SC_OK) {
            httpEntity.writeTo(baos);
        } else {
            throw new RuntimeException(url);
        }

        responseContent = baos.toString("UTF-8");
    } catch (Exception ex) {
        log.log(Level.SEVERE, null, ex);
    } finally {
        try {
            EntityUtils.consume(httpEntity);
        } catch (IOException ex) {
            log.log(Level.SEVERE, null, ex);
        }
    }
    return responseContent;
}

From source file:com.mashape.galileo.agent.network.AnalyticsConnKeepAliveStrategy.java

@Override
public long getKeepAliveDuration(HttpResponse response, HttpContext context) {
    HeaderElementIterator it = new BasicHeaderElementIterator(response.headerIterator(HTTP.CONN_KEEP_ALIVE));
    while (it.hasNext()) {
        HeaderElement he = it.nextElement();
        String param = he.getName();
        String value = he.getValue();
        if (value != null && param.equalsIgnoreCase("timeout")) {
            try {
                return Long.parseLong(value) * 1000;
            } catch (NumberFormatException ignore) {
            }//from   w  w w  .  jav  a2  s .  co m
        }
    }
    return keepAliveTime * 1000;
}

From source file:com.normalexception.app.rx8club.httpclient.KeepAliveStrategy.java

public long getKeepAliveDuration(HttpResponse response, HttpContext context) {
    // Honor 'keep-alive' header
    HeaderElementIterator it = new BasicHeaderElementIterator(response.headerIterator(HTTP.CONN_KEEP_ALIVE));
    while (it.hasNext()) {
        HeaderElement he = it.nextElement();
        String param = he.getName();
        String value = he.getValue();
        if (value != null && param.equalsIgnoreCase("timeout")) {
            try {
                return Long.parseLong(value) * 1000;
            } catch (NumberFormatException ignore) {
            }//from  w ww.  j  av a2  s  .  c  o m
        }
    }

    //keep alive for 30 seconds
    return KAL_TIME * 1000;
}

From source file:it.av.youeat.web.pubsubhubbub.Publisher.java

/**
 * Constructor//  ww w .ja  v a  2 s  .c o  m
 */
public Publisher() {
    HttpParams params = new BasicHttpParams();
    ConnManagerParams.setMaxTotalConnections(params, 200);
    ConnPerRouteBean connPerRoute = new ConnPerRouteBean(20);
    connPerRoute.setDefaultMaxPerRoute(50);
    ConnManagerParams.setMaxConnectionsPerRoute(params, connPerRoute);

    SchemeRegistry schemeRegistry = new SchemeRegistry();
    schemeRegistry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
    ClientConnectionManager cm = new ThreadSafeClientConnManager(params, schemeRegistry);
    httpClient = new DefaultHttpClient(cm, params);

    httpClient.setKeepAliveStrategy(new ConnectionKeepAliveStrategy() {

        public long getKeepAliveDuration(HttpResponse response, HttpContext context) {
            HeaderElementIterator it = new BasicHeaderElementIterator(
                    response.headerIterator(HTTP.CONN_KEEP_ALIVE));
            while (it.hasNext()) {
                HeaderElement he = it.nextElement();
                String param = he.getName();
                String value = he.getValue();
                if (value != null && param.equalsIgnoreCase("timeout")) {
                    try {
                        return Long.parseLong(value) * 1000;
                    } catch (NumberFormatException ignore) {
                    }
                }
            }
            // default keepalive is 60 seconds. This is higher than usual
            // since the number of hubs it should be talking to should be
            // small
            return 30 * 1000;
        }
    });
}

From source file:com.github.luluvise.droid_utils.http.NetworkConstants.java

/**
 * Attempts to retrieve a "Keep-Alive" header from the passed
 * {@link HttpResponse}./*w  ww  .  j a v a  2  s.c om*/
 * 
 * @return The keep alive time or -1 if not found
 */
public static long getKeepAliveHeader(@Nonnull HttpResponse response) {
    HeaderElementIterator it = new BasicHeaderElementIterator(response.headerIterator(HTTP.CONN_KEEP_ALIVE));
    while (it.hasNext()) {
        HeaderElement he = it.nextElement();
        String param = he.getName();
        String value = he.getValue();
        if (value != null && param.equalsIgnoreCase("timeout")) {
            try {
                return Long.parseLong(value) * 1000;
            } catch (NumberFormatException ignore) {
                return -1;
            }
        }
    }
    return -1;
}

From source file:org.frontcache.agent.FrontCacheAgent.java

public FrontCacheAgent(String frontcacheURL) {
    final RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(10000).setConnectTimeout(3000)
            .setCookieSpec(CookieSpecs.IGNORE_COOKIES).build();

    ConnectionKeepAliveStrategy keepAliveStrategy = new ConnectionKeepAliveStrategy() {
        @Override//  w  w w  .j av  a 2s  .c  o m
        public long getKeepAliveDuration(HttpResponse response, HttpContext context) {
            HeaderElementIterator it = new BasicHeaderElementIterator(
                    response.headerIterator(HTTP.CONN_KEEP_ALIVE));
            while (it.hasNext()) {
                HeaderElement he = it.nextElement();
                String param = he.getName();
                String value = he.getValue();
                if (value != null && param.equalsIgnoreCase("timeout")) {
                    return Long.parseLong(value) * 1000;
                }
            }
            return 10 * 1000;
        }
    };

    client = HttpClients.custom().setDefaultRequestConfig(requestConfig)
            .setRetryHandler(new DefaultHttpRequestRetryHandler(0, false))
            .setKeepAliveStrategy(keepAliveStrategy).setRedirectStrategy(new RedirectStrategy() {
                @Override
                public boolean isRedirected(HttpRequest request, HttpResponse response, HttpContext context)
                        throws ProtocolException {
                    return false;
                }

                @Override
                public HttpUriRequest getRedirect(HttpRequest request, HttpResponse response,
                        HttpContext context) throws ProtocolException {
                    return null;
                }
            }).build();

    this.frontCacheURL = frontcacheURL;

    if (frontcacheURL.endsWith("/"))
        this.frontCacheURI = frontcacheURL + IO_URI;
    else
        this.frontCacheURI = frontcacheURL + "/" + IO_URI;
}

From source file:groovesquid.Grooveshark.java

public static String sendRequest(String method, HashMap<String, Object> parameters) {
    if (tokenExpires <= new Date().getTime() && tokenExpires != 0 && !"initiateSession".equals(method)
            && !"getCommunicationToken".equals(method) && !"getCountry".equals(method)) {
        try {/*from  w w  w. ja  va2s.c o  m*/
            InitThread initThread = new InitThread();
            initThread.start();
            initThread.getLatch().await();
        } catch (InterruptedException ex) {
            log.log(Level.SEVERE, null, ex);
        }
    }
    String responseContent = null;
    HttpEntity httpEntity = null;
    try {
        Client client = clients.getHtmlshark();

        String protocol = "http://";

        if (method.equals("getCommunicationToken")) {
            protocol = "https://";
        }

        String url = protocol + "grooveshark.com/more.php?" + method;

        for (String jsqueueMethod : jsqueueMethods) {
            if (jsqueueMethod.equals(method)) {
                client = clients.getJsqueue();
                break;
            }
        }

        header.put("client", client.getName());
        header.put("clientRevision", client.getRevision());
        header.put("privacy", "0");
        header.put("uuid", uuid);
        header.put("country", country);
        if (!method.equals("initiateSession")) {
            header.put("session", session);
            header.put("token", generateToken(method, client.getSecret()));
        }

        Gson gson = new Gson();
        String jsonString = gson.toJson(new JsonRequest(header, parameters, method));
        log.info(">>> " + jsonString);

        HttpPost httpPost = new HttpPost(url);
        httpPost.setHeader(HTTP.CONTENT_TYPE, "application/json");
        httpPost.setHeader(HTTP.CONN_DIRECTIVE, HTTP.CONN_KEEP_ALIVE);
        httpPost.setHeader(HTTP.USER_AGENT,
                "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31");
        httpPost.setHeader("Referer", "http://grooveshark.com/JSQueue.swf?" + client.getRevision());
        httpPost.setHeader("Content-Language", "en-US");
        httpPost.setHeader("Cache-Control", "max-age=0");
        httpPost.setHeader("Accept", "*/*");
        httpPost.setHeader("Accept-Charset", "utf-8,ISO-8859-1;q=0.7,*;q=0.3");
        httpPost.setHeader("Accept-Language", "de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4");
        httpPost.setHeader("Accept-Encoding", "gzip,deflate,sdch");
        httpPost.setHeader("Origin", "http://grooveshark.com");
        if (!method.equals("initiateSession")) {
            httpPost.setHeader("Cookie", "PHPSESSID=" + session);
        }
        httpPost.setEntity(new StringEntity(jsonString, "UTF-8"));

        HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
        if (Main.getConfig().getProxyHost() != null && Main.getConfig().getProxyPort() != null) {
            httpClientBuilder
                    .setProxy(new HttpHost(Main.getConfig().getProxyHost(), Main.getConfig().getProxyPort()));
        }
        HttpClient httpClient = httpClientBuilder.build();
        HttpResponse httpResponse = httpClient.execute(httpPost);
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        httpEntity = httpResponse.getEntity();

        StatusLine statusLine = httpResponse.getStatusLine();
        int statusCode = statusLine.getStatusCode();
        if (statusCode == HttpStatus.SC_OK) {
            httpEntity.writeTo(baos);
        } else {
            throw new RuntimeException("method " + method + ": " + statusLine);
        }

        responseContent = baos.toString("UTF-8");

    } catch (Exception ex) {
        Logger.getLogger(Grooveshark.class.getName()).log(Level.SEVERE, null, ex);
    } finally {
        try {
            EntityUtils.consume(httpEntity);
        } catch (IOException ex) {
            Logger.getLogger(Grooveshark.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    log.info("<<< " + responseContent);
    return responseContent;
}