Search in sources :

Example 1 with HttpParams

use of cz.msebera.android.httpclient.params.HttpParams in project android-async-http by loopj.

the class AsyncHttpClient method setConnectTimeout.

/**
     * Set connection timeout limit (milliseconds). By default, this is set to
     * 10 seconds.
     *
     * @param value Connection timeout in milliseconds, minimal value is 1000 (1 second).
     */
public void setConnectTimeout(int value) {
    connectTimeout = value < 1000 ? DEFAULT_SOCKET_TIMEOUT : value;
    final HttpParams httpParams = httpClient.getParams();
    ConnManagerParams.setTimeout(httpParams, connectTimeout);
    HttpConnectionParams.setConnectionTimeout(httpParams, connectTimeout);
}
Also used : HttpParams(cz.msebera.android.httpclient.params.HttpParams) BasicHttpParams(cz.msebera.android.httpclient.params.BasicHttpParams)

Example 2 with HttpParams

use of cz.msebera.android.httpclient.params.HttpParams in project android-async-http by loopj.

the class AsyncHttpClient method setMaxConnections.

/**
     * Sets maximum limit of parallel connections
     *
     * @param maxConnections maximum parallel connections, must be at least 1
     */
public void setMaxConnections(int maxConnections) {
    if (maxConnections < 1)
        maxConnections = DEFAULT_MAX_CONNECTIONS;
    this.maxConnections = maxConnections;
    final HttpParams httpParams = this.httpClient.getParams();
    ConnManagerParams.setMaxConnectionsPerRoute(httpParams, new ConnPerRouteBean(this.maxConnections));
}
Also used : HttpParams(cz.msebera.android.httpclient.params.HttpParams) BasicHttpParams(cz.msebera.android.httpclient.params.BasicHttpParams) ConnPerRouteBean(cz.msebera.android.httpclient.conn.params.ConnPerRouteBean)

Example 3 with HttpParams

use of cz.msebera.android.httpclient.params.HttpParams in project android-async-http by loopj.

the class AsyncHttpClient method setProxy.

/**
     * Sets the Proxy by it's hostname and port
     *
     * @param hostname the hostname (IP or DNS name)
     * @param port     the port number. -1 indicates the scheme default port.
     */
public void setProxy(String hostname, int port) {
    final HttpHost proxy = new HttpHost(hostname, port);
    final HttpParams httpParams = this.httpClient.getParams();
    httpParams.setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
}
Also used : HttpParams(cz.msebera.android.httpclient.params.HttpParams) BasicHttpParams(cz.msebera.android.httpclient.params.BasicHttpParams) HttpHost(cz.msebera.android.httpclient.HttpHost)

Example 4 with HttpParams

use of cz.msebera.android.httpclient.params.HttpParams in project android-async-http by loopj.

the class MyRedirectHandler method getLocationURI.

@Override
public URI getLocationURI(final HttpResponse response, final HttpContext context) throws ProtocolException {
    if (response == null) {
        throw new IllegalArgumentException("HTTP response may not be null");
    }
    //get the location header to find out where to redirect to
    Header locationHeader = response.getFirstHeader("location");
    if (locationHeader == null) {
        // got a redirect response, but no location header
        throw new ProtocolException("Received redirect response " + response.getStatusLine() + " but no location header");
    }
    //HERE IS THE MODIFIED LINE OF CODE
    String location = locationHeader.getValue().replaceAll(" ", "%20");
    URI uri;
    try {
        uri = new URI(location);
    } catch (URISyntaxException ex) {
        throw new ProtocolException("Invalid redirect URI: " + location, ex);
    }
    HttpParams params = response.getParams();
    // Location       = "Location" ":" absoluteURI
    if (!uri.isAbsolute()) {
        if (params.isParameterTrue(ClientPNames.REJECT_RELATIVE_REDIRECT)) {
            throw new ProtocolException("Relative redirect location '" + uri + "' not allowed");
        }
        // Adjust location URI
        HttpHost target = (HttpHost) context.getAttribute(ExecutionContext.HTTP_TARGET_HOST);
        if (target == null) {
            throw new IllegalStateException("Target host not available " + "in the HTTP context");
        }
        HttpRequest request = (HttpRequest) context.getAttribute(ExecutionContext.HTTP_REQUEST);
        try {
            URI requestURI = new URI(request.getRequestLine().getUri());
            URI absoluteRequestURI = URIUtils.rewriteURI(requestURI, target, true);
            uri = URIUtils.resolve(absoluteRequestURI, uri);
        } catch (URISyntaxException ex) {
            throw new ProtocolException(ex.getMessage(), ex);
        }
    }
    if (params.isParameterFalse(ClientPNames.ALLOW_CIRCULAR_REDIRECTS)) {
        RedirectLocations redirectLocations = (RedirectLocations) context.getAttribute(REDIRECT_LOCATIONS);
        if (redirectLocations == null) {
            redirectLocations = new RedirectLocations();
            context.setAttribute(REDIRECT_LOCATIONS, redirectLocations);
        }
        URI redirectURI;
        if (uri.getFragment() != null) {
            try {
                HttpHost target = new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme());
                redirectURI = URIUtils.rewriteURI(uri, target, true);
            } catch (URISyntaxException ex) {
                throw new ProtocolException(ex.getMessage(), ex);
            }
        } else {
            redirectURI = uri;
        }
        if (redirectLocations.contains(redirectURI)) {
            throw new CircularRedirectException("Circular redirect to '" + redirectURI + "'");
        } else {
            redirectLocations.add(redirectURI);
        }
    }
    return uri;
}
Also used : HttpRequest(cz.msebera.android.httpclient.HttpRequest) ProtocolException(cz.msebera.android.httpclient.ProtocolException) CircularRedirectException(cz.msebera.android.httpclient.client.CircularRedirectException) HttpParams(cz.msebera.android.httpclient.params.HttpParams) RedirectLocations(cz.msebera.android.httpclient.impl.client.RedirectLocations) Header(cz.msebera.android.httpclient.Header) HttpHost(cz.msebera.android.httpclient.HttpHost) URISyntaxException(java.net.URISyntaxException) URI(java.net.URI)

Example 5 with HttpParams

use of cz.msebera.android.httpclient.params.HttpParams in project android-async-http by loopj.

the class MySSLSocketFactory method getNewHttpClient.

/**
     * Gets a DefaultHttpClient which trusts a set of certificates specified by the KeyStore
     *
     * @param keyStore custom provided KeyStore instance
     * @return DefaultHttpClient
     */
public static DefaultHttpClient getNewHttpClient(KeyStore keyStore) {
    try {
        SSLSocketFactory sf = new MySSLSocketFactory(keyStore);
        SchemeRegistry registry = new SchemeRegistry();
        registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
        registry.register(new Scheme("https", sf, 443));
        HttpParams params = new BasicHttpParams();
        HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
        HttpProtocolParams.setContentCharset(params, HTTP.UTF_8);
        ClientConnectionManager ccm = new ThreadSafeClientConnManager(params, registry);
        return new DefaultHttpClient(ccm, params);
    } catch (Exception e) {
        return new DefaultHttpClient();
    }
}
Also used : HttpParams(cz.msebera.android.httpclient.params.HttpParams) BasicHttpParams(cz.msebera.android.httpclient.params.BasicHttpParams) Scheme(cz.msebera.android.httpclient.conn.scheme.Scheme) ThreadSafeClientConnManager(cz.msebera.android.httpclient.impl.conn.tsccm.ThreadSafeClientConnManager) SchemeRegistry(cz.msebera.android.httpclient.conn.scheme.SchemeRegistry) SSLSocketFactory(cz.msebera.android.httpclient.conn.ssl.SSLSocketFactory) BasicHttpParams(cz.msebera.android.httpclient.params.BasicHttpParams) ClientConnectionManager(cz.msebera.android.httpclient.conn.ClientConnectionManager) DefaultHttpClient(cz.msebera.android.httpclient.impl.client.DefaultHttpClient) KeyStoreException(java.security.KeyStoreException) UnrecoverableKeyException(java.security.UnrecoverableKeyException) IOException(java.io.IOException) KeyManagementException(java.security.KeyManagementException) CertificateException(java.security.cert.CertificateException) NoSuchAlgorithmException(java.security.NoSuchAlgorithmException)

Aggregations

HttpParams (cz.msebera.android.httpclient.params.HttpParams)6 BasicHttpParams (cz.msebera.android.httpclient.params.BasicHttpParams)5 HttpHost (cz.msebera.android.httpclient.HttpHost)2 Header (cz.msebera.android.httpclient.Header)1 HttpRequest (cz.msebera.android.httpclient.HttpRequest)1 ProtocolException (cz.msebera.android.httpclient.ProtocolException)1 CircularRedirectException (cz.msebera.android.httpclient.client.CircularRedirectException)1 ClientConnectionManager (cz.msebera.android.httpclient.conn.ClientConnectionManager)1 ConnPerRouteBean (cz.msebera.android.httpclient.conn.params.ConnPerRouteBean)1 Scheme (cz.msebera.android.httpclient.conn.scheme.Scheme)1 SchemeRegistry (cz.msebera.android.httpclient.conn.scheme.SchemeRegistry)1 SSLSocketFactory (cz.msebera.android.httpclient.conn.ssl.SSLSocketFactory)1 DefaultHttpClient (cz.msebera.android.httpclient.impl.client.DefaultHttpClient)1 RedirectLocations (cz.msebera.android.httpclient.impl.client.RedirectLocations)1 ThreadSafeClientConnManager (cz.msebera.android.httpclient.impl.conn.tsccm.ThreadSafeClientConnManager)1 IOException (java.io.IOException)1 URI (java.net.URI)1 URISyntaxException (java.net.URISyntaxException)1 KeyManagementException (java.security.KeyManagementException)1 KeyStoreException (java.security.KeyStoreException)1