Example usage for org.apache.commons.httpclient.cookie MalformedCookieException MalformedCookieException

List of usage examples for org.apache.commons.httpclient.cookie MalformedCookieException MalformedCookieException

Introduction

In this page you can find the example usage for org.apache.commons.httpclient.cookie MalformedCookieException MalformedCookieException.

Prototype

public MalformedCookieException(String paramString) 

Source Link

Usage

From source file:com.sun.faban.driver.transport.hc3.FabanCookieSpec.java

/**
 * Performs most common {@link org.apache.commons.httpclient.Cookie} validation
 *
 * @param host the host from which the {@link org.apache.commons.httpclient.Cookie} was received
 * @param port the port from which the {@link org.apache.commons.httpclient.Cookie} was received
 * @param path the path from which the {@link org.apache.commons.httpclient.Cookie} was received
 * @param secure <tt>true</tt> when the {@link org.apache.commons.httpclient.Cookie} was received using a
 * secure connection//  w w w.  ja  v a 2 s  .  co  m
 * @param cookie The cookie to validate.
 * @throws org.apache.commons.httpclient.cookie.MalformedCookieException if an exception occurs during
 * validation
 */

public void validate(String host, int port, String path, boolean secure, final Cookie cookie)
        throws MalformedCookieException {

    logger.finer("enter CookieSpecBase.validate(" + "String, port, path, boolean, Cookie)");
    if (host == null) {
        throw new IllegalArgumentException("Host of origin may not be null");
    }
    if (host.trim().equals("")) {
        throw new IllegalArgumentException("Host of origin may not be blank");
    }
    if (port < 0) {
        throw new IllegalArgumentException("Invalid port: " + port);
    }
    if (path == null) {
        throw new IllegalArgumentException("Path of origin may not be null.");
    }
    if (path.trim().equals("")) {
        path = PATH_DELIM;
    }
    host = host.toLowerCase();
    // check version
    if (cookie.getVersion() < 0) {
        throw new MalformedCookieException("Illegal version number " + cookie.getValue());
    }

    // security check... we musn't allow the server to give us an
    // invalid domain scope

    // Validate the cookies domain attribute.  NOTE:  Domains without
    // any dots are allowed to support hosts on private LANs that don't
    // have DNS names.  Since they have no dots, to domain-match the
    // request-host and domain must be identical for the cookie to sent
    // back to the origin-server.
    if (host.indexOf(".") >= 0) {
        // Not required to have at least two dots.  RFC 2965.
        // A Set-Cookie2 with Domain=ajax.com will be accepted.

        // domain must match host
        if (!host.endsWith(cookie.getDomain())) {
            String s = cookie.getDomain();
            if (s.startsWith(".")) {
                s = s.substring(1, s.length());
            }
            if (!host.equals(s)) {
                throw new MalformedCookieException("Illegal domain attribute \"" + cookie.getDomain()
                        + "\". Domain of origin: \"" + host + "\"");
            }
        }
    } else {
        if (!host.equals(cookie.getDomain())) {
            throw new MalformedCookieException("Illegal domain attribute \"" + cookie.getDomain()
                    + "\". Domain of origin: \"" + host + "\"");
        }
    }
}

From source file:org.mule.transport.http.CookieHelper.java

private static int getPortFromURI(URI uri) throws MalformedCookieException {
    int port = uri.getPort();
    if (port < 0) {
        String scheme = uri.getScheme();
        if (scheme.equalsIgnoreCase("https")) {
            port = 443;/*from w  w w.  j a va  2s. com*/
        } else if (scheme.equalsIgnoreCase("http")) {
            port = 80;
        } else {
            String message = String.format(
                    "The uri (%1s) does not specify a port and no default is available for its scheme (%2s).",
                    uri, scheme);
            throw new MalformedCookieException(message);
        }
    }
    return port;
}

From source file:org.zaproxy.zap.network.ZapCookieSpec.java

@Override
public void validate(String host, int port, String path, boolean secure, Cookie cookie)
        throws MalformedCookieException {
    LOG.trace("enter CookieSpecBase.validate(" + "String, port, path, boolean, Cookie)");
    if (host == null) {
        throw new IllegalArgumentException("Host of origin may not be null");
    }/*from  w w w . j av a  2s  .  c  o m*/
    if (host.trim().equals("")) {
        throw new IllegalArgumentException("Host of origin may not be blank");
    }
    if (port < 0) {
        throw new IllegalArgumentException("Invalid port: " + port);
    }
    if (path == null) {
        throw new IllegalArgumentException("Path of origin may not be null.");
    }
    host = host.toLowerCase();
    // check version
    if (cookie.getVersion() < 0) {
        throw new MalformedCookieException("Illegal version number " + cookie.getValue());
    }

    // security check... we musn't allow the server to give us an
    // invalid domain scope

    // Validate the cookies domain attribute.  NOTE:  Domains without 
    // any dots are allowed to support hosts on private LANs that don't 
    // have DNS names.  Since they have no dots, to domain-match the 
    // request-host and domain must be identical for the cookie to sent 
    // back to the origin-server.
    if (host.indexOf(".") >= 0) {
        // Not required to have at least two dots.  RFC 2965.
        // A Set-Cookie2 with Domain=ajax.com will be accepted.

        // domain must match host
        if (!host.endsWith(cookie.getDomain())) {
            String s = cookie.getDomain();
            if (s.startsWith(".")) {
                s = s.substring(1, s.length());
            }
            if (!host.equals(s)) {
                throw new MalformedCookieException("Illegal domain attribute \"" + cookie.getDomain()
                        + "\". Domain of origin: \"" + host + "\"");
            }
        }
    } else {
        if (!host.equals(cookie.getDomain())) {
            throw new MalformedCookieException("Illegal domain attribute \"" + cookie.getDomain()
                    + "\". Domain of origin: \"" + host + "\"");
        }
    }
}