public void storeCookies()

in src/main/java/com/sylvanaar/idea/errorreporting/CookieManager.java [86:133]


public void storeCookies(URLConnection conn) {

// let's determine the domain from where these cookies are being sent
    String domain = getDomainFromHost(conn.getURL().getHost());


    Map domainStore; // this is where we will store cookies for this domain

// now let's check the store to see if we have an entry for this domain
    if (myStore.containsKey(domain)) {
        // we do, so lets retrieve it from the store
        domainStore = (Map) myStore.get(domain);
    } else {
        // we don't, so let's create it and put it in the store
        domainStore = new HashMap();
        myStore.put(domain, domainStore);
    }




// OK, now we are ready to get the cookies out of the URLConnection

String headerName=null;
for (int i=1; (headerName = conn.getHeaderFieldKey(i)) != null; i++) {
    if (headerName.equalsIgnoreCase(SET_COOKIE)) {
    Map cookie = new HashMap();
    StringTokenizer st = new StringTokenizer(conn.getHeaderField(i), COOKIE_VALUE_DELIMITER);

    // the specification dictates that the first name/value pair
    // in the string is the cookie name and value, so let's handle
    // them as a special case:

    if (st.hasMoreTokens()) {
        String token  = st.nextToken();
        String name = token.substring(0, token.indexOf(NAME_VALUE_SEPARATOR));
        String value = token.substring(token.indexOf(NAME_VALUE_SEPARATOR) + 1, token.length());
        domainStore.put(name, cookie);
        cookie.put(name, value);
    }

    while (st.hasMoreTokens()) {
        String token  = st.nextToken();
        cookie.put(token.substring(0, token.indexOf(NAME_VALUE_SEPARATOR)).toLowerCase(), token.substring(token.indexOf(NAME_VALUE_SEPARATOR) + 1, token.length()));
    }
    }
}
}