/* */ #include "CookieBoxFactory.h" #include "CookieParser.h" #include "Util.h" CookieBoxHandle CookieBoxFactory::createNewInstance() { CookieBoxHandle box = new CookieBox(); box->add(defaultCookies); return box; } void CookieBoxFactory::loadDefaultCookie(istream& s) { string line; while(getline(s, line)) { if(Util::startsWith(line, "#")) { continue; } Cookie c = parseNsCookie(line); if(c.good()) { defaultCookies.push_back(c); } } } Cookie CookieBoxFactory::parseNsCookie(const string& nsCookieStr) const { Strings vs; Util::slice(vs, nsCookieStr, '\t', true); Cookie c; if(vs.size() < 6 ) { return c; } c.domain = vs[0]; c.path = vs[2]; c.secure = vs[3] == "TRUE" ? true : false; c.expires = strtol(vs[4].c_str(), NULL, 10); c.name = vs[5]; if(vs.size() >= 7) { c.value = vs[6]; } return c; }