Exemplo n.º 1
0
    /**
     * Validate cookie path attribute. The value for the Path attribute must be a prefix of the
     * request-URI (case-sensitive matching).
     */
    public void validate(final Cookie cookie, final CookieOrigin origin)
        throws MalformedCookieException {
      if (cookie == null) {
        throw new IllegalArgumentException("Cookie may not be null");
      }
      if (origin == null) {
        throw new IllegalArgumentException("Cookie origin may not be null");
      }
      String path = origin.getPath();
      if (path == null) {
        throw new IllegalArgumentException("Path of origin host may not be null.");
      }
      if (cookie.getPath() == null) {
        throw new MalformedCookieException("Invalid cookie state: " + "path attribute is null.");
      }
      if (path.trim().equals("")) {
        path = PATH_DELIM;
      }

      if (!pathMatch(path, cookie.getPath())) {
        throw new MalformedCookieException(
            "Illegal path attribute \""
                + cookie.getPath()
                + "\". Path of origin: \""
                + path
                + "\"");
      }
    }
  protected Cookie toServletCookie(org.apache.commons.httpclient.Cookie commonsCookie) {

    Cookie cookie = new Cookie(commonsCookie.getName(), commonsCookie.getValue());

    String domain = commonsCookie.getDomain();

    if (Validator.isNotNull(domain)) {
      cookie.setDomain(domain);
    }

    Date expiryDate = commonsCookie.getExpiryDate();

    if (expiryDate != null) {
      int maxAge = (int) (expiryDate.getTime() - System.currentTimeMillis());

      maxAge = maxAge / 1000;

      if (maxAge > -1) {
        cookie.setMaxAge(maxAge);
      }
    }

    String path = commonsCookie.getPath();

    if (Validator.isNotNull(path)) {
      cookie.setPath(path);
    }

    cookie.setSecure(commonsCookie.getSecure());
    cookie.setVersion(commonsCookie.getVersion());

    return cookie;
  }
Exemplo n.º 3
0
    /**
     * Match cookie path attribute. The value for the Path attribute must be a prefix of the
     * request-URI (case-sensitive matching).
     */
    public boolean match(final Cookie cookie, final CookieOrigin origin) {
      if (cookie == null) {
        throw new IllegalArgumentException("Cookie may not be null");
      }
      if (origin == null) {
        throw new IllegalArgumentException("Cookie origin may not be null");
      }
      String path = origin.getPath();
      if (cookie.getPath() == null) {
        LOG.warn("Invalid cookie state: path attribute is null.");
        return false;
      }
      if (path.trim().equals("")) {
        path = PATH_DELIM;
      }

      if (!pathMatch(path, cookie.getPath())) {
        return false;
      }
      return true;
    }
 private void logCookie(Cookie cookie) {
   Log_OC.d(TAG, "Cookie name: " + cookie.getName());
   Log_OC.d(TAG, "       value: " + cookie.getValue());
   Log_OC.d(TAG, "       domain: " + cookie.getDomain());
   Log_OC.d(TAG, "       path: " + cookie.getPath());
   Log_OC.d(TAG, "       version: " + cookie.getVersion());
   Log_OC.d(
       TAG,
       "       expiryDate: "
           + (cookie.getExpiryDate() != null ? cookie.getExpiryDate().toString() : "--"));
   Log_OC.d(TAG, "       comment: " + cookie.getComment());
   Log_OC.d(TAG, "       secure: " + cookie.getSecure());
 }
 private void validateCookie(Cookie cookie) {
   if ("cookie1".equals(cookie.getName())) {
     assertEquals("value1", cookie.getValue());
     assertEquals("/", cookie.getPath());
     assertEquals("localhost", cookie.getDomain());
     validateDate(cookie.getExpiryDate());
     assertTrue(cookie.getSecure());
   } else {
     assertEquals("cookie2", cookie.getName());
     assertEquals("value2", cookie.getValue());
     assertFalse(cookie.getSecure());
   }
 }
Exemplo n.º 6
0
 private String getHttpCookie() {
   StringBuilder strHeader = new StringBuilder();
   Cookie[] cookies = httpClient.getState().getCookies();
   for (Cookie cookie : cookies) {
     String domain = cookie.getDomain();
     String path = cookie.getPath();
     String name = cookie.getName();
     String value = cookie.getValue();
     Date expired = cookie.getExpiryDate();
     boolean isSecure = cookie.getSecure();
     strHeader.append("domain=" + domain + ";");
     strHeader.append("path=" + path + ";");
     strHeader.append(name + "=" + value + ";");
     if (expired != null) {
       strHeader.append("expired=" + expired.toGMTString() + ";");
     }
     strHeader.append("isSecure=" + isSecure + "/n");
   }
   return strHeader.toString();
 }