Example usage for org.apache.http.client.params ClientPNames MAX_REDIRECTS

List of usage examples for org.apache.http.client.params ClientPNames MAX_REDIRECTS

Introduction

In this page you can find the example usage for org.apache.http.client.params ClientPNames MAX_REDIRECTS.

Prototype

String MAX_REDIRECTS

To view the source code for org.apache.http.client.params ClientPNames MAX_REDIRECTS.

Click Source Link

Document

Defines the maximum number of redirects to be followed.

Usage

From source file:Main.java

public static DefaultHttpClient getDefaultHttpClient() {
    SchemeRegistry schemeRegistry = new SchemeRegistry();

    schemeRegistry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
    schemeRegistry.register(new Scheme("https", SSLSocketFactory.getSocketFactory(), 443));
    HttpParams params = new BasicHttpParams();
    ThreadSafeClientConnManager cm = new ThreadSafeClientConnManager(params, schemeRegistry);
    DefaultHttpClient defaultHttpClient = new DefaultHttpClient(cm, params);

    HttpConnectionParams.setSoTimeout(defaultHttpClient.getParams(), SOCKET_TIME_OUT);
    HttpConnectionParams.setConnectionTimeout(defaultHttpClient.getParams(), CONNECTION_TIME_OUT);
    defaultHttpClient.getParams().setIntParameter(ClientPNames.MAX_REDIRECTS, 10);
    HttpClientParams.setCookiePolicy(defaultHttpClient.getParams(), CookiePolicy.BROWSER_COMPATIBILITY);
    HttpProtocolParams.setUserAgent(defaultHttpClient.getParams(),
            "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.18) Gecko/20110628 Ubuntu/10.04 (lucid) Firefox/3.6.18");
    defaultHttpClient.setHttpRequestRetryHandler(new DefaultHttpRequestRetryHandler(3, true));
    return defaultHttpClient;
}

From source file:io.restassured.config.HttpClientConfigTest.java

@Test
public void setParamsRespectsOtherConfigurationSettings() {
    final HttpClientConfig httpClientConfig = new HttpClientConfig()
            .setParam(ClientPNames.MAX_REDIRECTS, CUSTOM_MAX_REDIRECTS).reuseHttpClientInstance()
            .setParam(ClientPNames.COOKIE_POLICY, CookiePolicy.BROWSER_COMPATIBILITY);

    assertThat(httpClientConfig.params()).contains(entry(ClientPNames.MAX_REDIRECTS, CUSTOM_MAX_REDIRECTS),
            entry(ClientPNames.COOKIE_POLICY, CookiePolicy.BROWSER_COMPATIBILITY));
    assertTrue(httpClientConfig.isConfiguredToReuseTheSameHttpClientInstance());

}

From source file:com.vina.hlexchang.ClientRequestHelper.java

public void setProxy(String host, int port) {
    HttpHost proxy = new HttpHost(host, port, "http");
    mClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
    // mClient.getParams().setParameter(ClientPNames.HANDLE_REDIRECTS, true);
    mClient.getParams().setParameter(ClientPNames.MAX_REDIRECTS, 100);

    mClient.setRedirectStrategy(new DefaultRedirectStrategy() {
        @Override/* w  ww .jav a2 s.co  m*/
        public boolean isRedirected(HttpRequest request, HttpResponse response, HttpContext context) {
            boolean isRedirect = false;
            try {
                isRedirect = super.isRedirected(request, response, context);
            } catch (ProtocolException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            if (!isRedirect) {
                int responseCode = response.getStatusLine().getStatusCode();
                if (responseCode == 301 || responseCode == 302) {
                    return true;
                }
            }
            return isRedirect;
        }
    });
}

From source file:io.restassured.config.HttpClientConfigTest.java

@Test
public void setParamsCorrectlyUpdatesPreviousSetting() {
    final HttpClientConfig httpClientConfig = new HttpClientConfig().setParam(ClientPNames.MAX_REDIRECTS, "50")
            .setParam(ClientPNames.MAX_REDIRECTS, CUSTOM_MAX_REDIRECTS);

    assertThat(httpClientConfig.params()).contains(entry(ClientPNames.MAX_REDIRECTS, CUSTOM_MAX_REDIRECTS));
}

From source file:org.apache.maven.wagon.providers.http.AbstractHttpClientWagonTest.java

public void testSetMaxRedirectsParamViaConfig() {
    HttpMethodConfiguration methodConfig = new HttpMethodConfiguration();
    int maxRedirects = 2;
    methodConfig.addParam(ClientPNames.MAX_REDIRECTS, "%i," + maxRedirects);

    HttpConfiguration config = new HttpConfiguration();
    config.setAll(methodConfig);/*  w w  w.  j a v  a2 s  . com*/

    TestWagon wagon = new TestWagon();
    wagon.setHttpConfiguration(config);

    HttpHead method = new HttpHead();
    wagon.setParameters(method);

    HttpParams params = method.getParams();
    assertNotNull(params);
    assertEquals(maxRedirects, params.getIntParameter(ClientPNames.MAX_REDIRECTS, -1));
}

From source file:io.restassured.config.HttpClientConfigTest.java

@Test
public void addParamsRespectsOtherConfigurationSettings() {
    final Map<String, String> redirectParam = new HashMap<String, String>();
    final Map<String, String> cookieParam = new HashMap<String, String>();

    redirectParam.put(ClientPNames.MAX_REDIRECTS, CUSTOM_MAX_REDIRECTS);
    cookieParam.put(ClientPNames.COOKIE_POLICY, CookiePolicy.BROWSER_COMPATIBILITY);

    final HttpClientConfig httpClientConfig = new HttpClientConfig().addParams(redirectParam)
            .reuseHttpClientInstance().addParams(cookieParam);

    assertThat(httpClientConfig.params()).contains(entry(ClientPNames.MAX_REDIRECTS, CUSTOM_MAX_REDIRECTS),
            entry(ClientPNames.COOKIE_POLICY, CookiePolicy.BROWSER_COMPATIBILITY));
    assertTrue(httpClientConfig.isConfiguredToReuseTheSameHttpClientInstance());

}

From source file:org.pentaho.reporting.libraries.pensol.vfs.LocalFileModel.java

@Deprecated
public LocalFileModel(final String url, final HttpClient client, final String username, final String password) {
    if (url == null) {
        throw new NullPointerException();
    }/*w ww .  j  a va  2s .  c  o  m*/
    this.url = url;
    this.username = username;
    this.password = password;
    this.client = client;
    this.client.getParams().setParameter(ClientPNames.COOKIE_POLICY, CookiePolicy.BROWSER_COMPATIBILITY);
    this.client.getParams().setParameter(ClientPNames.MAX_REDIRECTS, Integer.valueOf(10));
    this.client.getParams().setParameter(ClientPNames.ALLOW_CIRCULAR_REDIRECTS, Boolean.TRUE);
    this.client.getParams().setParameter(ClientPNames.REJECT_RELATIVE_REDIRECT, Boolean.FALSE);
    this.context = HttpClientContext.create();
}

From source file:io.restassured.config.HttpClientConfigTest.java

@Test
public void addParamCorrectlyUpdatesPreviousSetting() {
    final Map<String, String> redirectParam = new HashMap<String, String>();
    final Map<String, String> cookieParam = new HashMap<String, String>();

    redirectParam.put(ClientPNames.MAX_REDIRECTS, "50");
    cookieParam.put(ClientPNames.MAX_REDIRECTS, CUSTOM_MAX_REDIRECTS);

    final HttpClientConfig httpClientConfig = new HttpClientConfig().addParams(redirectParam)
            .reuseHttpClientInstance().addParams(cookieParam);

    assertThat(httpClientConfig.params()).contains(entry(ClientPNames.MAX_REDIRECTS, CUSTOM_MAX_REDIRECTS));

}

From source file:org.lol.reddit.account.RedditAccount.java

public static LoginResultPair login(final Context context, final String username, final String password,
        final HttpClient client) {

    final ArrayList<NameValuePair> fields = new ArrayList<NameValuePair>(3);
    fields.add(new BasicNameValuePair("user", username));
    fields.add(new BasicNameValuePair("passwd", password));
    fields.add(new BasicNameValuePair("api_type", "json"));

    // TODO put somewhere else
    final HttpParams params = new BasicHttpParams();
    params.setParameter(CoreProtocolPNames.USER_AGENT, Constants.ua(context));
    params.setParameter(CoreConnectionPNames.SO_TIMEOUT, 20000); // TODO remove hardcoded params, put in network prefs
    params.setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 20000);
    params.setParameter(CoreConnectionPNames.MAX_HEADER_COUNT, 100);
    params.setParameter(ClientPNames.HANDLE_REDIRECTS, true);
    params.setParameter(ClientPNames.MAX_REDIRECTS, 5);

    final HttpPost request = new HttpPost("https://ssl.reddit.com/api/login");
    request.setParams(params);/*from  w  w  w. j a va  2 s.  c o  m*/

    try {
        request.setEntity(new UrlEncodedFormEntity(fields, HTTP.UTF_8));
    } catch (UnsupportedEncodingException e) {
        return new LoginResultPair(LoginResult.INTERNAL_ERROR);
    }

    final PersistentCookieStore cookies = new PersistentCookieStore();

    final HttpContext localContext = new BasicHttpContext();
    localContext.setAttribute(ClientContext.COOKIE_STORE, cookies);

    final StatusLine status;
    final HttpEntity entity;
    try {
        final HttpResponse response = client.execute(request, localContext);
        status = response.getStatusLine();
        entity = response.getEntity();

    } catch (IOException e) {
        return new LoginResultPair(LoginResult.CONNECTION_ERROR);
    }

    if (status.getStatusCode() != 200) {
        return new LoginResultPair(LoginResult.REQUEST_ERROR);
    }

    final JsonValue result;

    try {
        result = new JsonValue(entity.getContent());
        result.buildInThisThread();
    } catch (IOException e) {
        return new LoginResultPair(LoginResult.CONNECTION_ERROR);
    }

    final String modhash;

    try {

        // TODO use the more general reddit error finder
        final JsonBufferedArray errors = result.asObject().getObject("json").getArray("errors");
        errors.join();
        if (errors.getCurrentItemCount() != 0) {

            for (final JsonValue v : errors) {
                for (final JsonValue s : v.asArray()) {

                    // TODO handle unknown messages by concatenating all Reddit's strings

                    if (s.getType() == JsonValue.Type.STRING) {

                        Log.i("RR DEBUG ERROR", s.asString());

                        // lol, reddit api
                        if (s.asString().equalsIgnoreCase("WRONG_PASSWORD")
                                || s.asString().equalsIgnoreCase("invalid password")
                                || s.asString().equalsIgnoreCase("passwd"))
                            return new LoginResultPair(LoginResult.WRONG_PASSWORD);

                        if (s.asString().contains("too much")) // also "RATELIMIT", but that's not as descriptive
                            return new LoginResultPair(LoginResult.RATELIMIT, s.asString());
                    }
                }
            }

            return new LoginResultPair(LoginResult.UNKNOWN_REDDIT_ERROR);
        }

        final JsonBufferedObject data = result.asObject().getObject("json").getObject("data");

        modhash = data.getString("modhash");

    } catch (NullPointerException e) {
        return new LoginResultPair(LoginResult.JSON_ERROR);
    } catch (InterruptedException e) {
        return new LoginResultPair(LoginResult.JSON_ERROR);
    } catch (IOException e) {
        return new LoginResultPair(LoginResult.JSON_ERROR);
    }

    return new LoginResultPair(LoginResult.SUCCESS, new RedditAccount(username, modhash, cookies, 0), null);
}

From source file:com.ryan.ryanreader.account.RedditAccount.java

public static LoginResultPair login(final Context context, final String username, final String password,
        final HttpClient client) {

    // ???//from  w ww.  ja v  a  2 s  .  c o m
    final ArrayList<NameValuePair> fields = new ArrayList<NameValuePair>(3);
    fields.add(new BasicNameValuePair("user", username));
    fields.add(new BasicNameValuePair("passwd", password));
    fields.add(new BasicNameValuePair("api_type", "json"));

    // TODO put somewhere else
    final HttpParams params = new BasicHttpParams();
    params.setParameter(CoreProtocolPNames.USER_AGENT, Constants.ua(context));
    params.setParameter(CoreConnectionPNames.SO_TIMEOUT, 20000); // TODO
    // remove
    // hardcoded
    // params,
    // put
    // in
    // network
    // prefs
    params.setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 20000);
    params.setParameter(CoreConnectionPNames.MAX_HEADER_COUNT, 100);
    params.setParameter(ClientPNames.HANDLE_REDIRECTS, true);
    params.setParameter(ClientPNames.MAX_REDIRECTS, 5);

    final HttpPost request = new HttpPost("https://ssl.reddit.com/api/login");
    request.setParams(params);

    try {
        request.setEntity(new UrlEncodedFormEntity(fields, HTTP.UTF_8));
    } catch (UnsupportedEncodingException e) {
        return new LoginResultPair(LoginResult.INTERNAL_ERROR);
    }

    final PersistentCookieStore cookies = new PersistentCookieStore();

    final HttpContext localContext = new BasicHttpContext();
    localContext.setAttribute(ClientContext.COOKIE_STORE, cookies);

    final StatusLine status;
    final HttpEntity entity;
    try {
        final HttpResponse response = client.execute(request, localContext);
        status = response.getStatusLine();
        entity = response.getEntity();

    } catch (IOException e) {
        return new LoginResultPair(LoginResult.CONNECTION_ERROR);
    }

    if (status.getStatusCode() != 200) {
        return new LoginResultPair(LoginResult.REQUEST_ERROR);
    }

    final JsonValue result;

    try {
        result = new JsonValue(entity.getContent());
        result.buildInThisThread();
    } catch (IOException e) {
        return new LoginResultPair(LoginResult.CONNECTION_ERROR);
    }

    final String modhash;

    try {

        // TODO use the more general reddit error finder
        final JsonBufferedArray errors = result.asObject().getObject("json").getArray("errors");
        errors.join();
        if (errors.getCurrentItemCount() != 0) {

            for (final JsonValue v : errors) {
                for (final JsonValue s : v.asArray()) {

                    // TODO handle unknown messages by concatenating all
                    // Reddit's strings

                    if (s.getType() == JsonValue.Type.STRING) {

                        Log.i("RR DEBUG ERROR", s.asString());

                        // lol, reddit api
                        if (s.asString().equalsIgnoreCase("WRONG_PASSWORD")
                                || s.asString().equalsIgnoreCase("invalid password")
                                || s.asString().equalsIgnoreCase("passwd"))
                            return new LoginResultPair(LoginResult.WRONG_PASSWORD);

                        if (s.asString().contains("too much")) // also
                            // "RATELIMIT",
                            // but
                            // that's
                            // not as
                            // descriptive
                            return new LoginResultPair(LoginResult.RATELIMIT, s.asString());
                    }
                }
            }

            return new LoginResultPair(LoginResult.UNKNOWN_REDDIT_ERROR);
        }

        final JsonBufferedObject data = result.asObject().getObject("json").getObject("data");

        modhash = data.getString("modhash");

    } catch (NullPointerException e) {
        return new LoginResultPair(LoginResult.JSON_ERROR);
    } catch (InterruptedException e) {
        return new LoginResultPair(LoginResult.JSON_ERROR);
    } catch (IOException e) {
        return new LoginResultPair(LoginResult.JSON_ERROR);
    }

    return new LoginResultPair(LoginResult.SUCCESS, new RedditAccount(username, modhash, cookies, 0), null);
}