/* */ #ifndef _D_COOKIE_H_ #define _D_COOKIE_H_ #include "common.h" #include "a2time.h" #include #include namespace aria2 { class Cookie { private: std::string _name; std::string _value; time_t _expiry; std::string _path; std::string _domain; bool _secure; // If true, this cookie will expire when aria2 exits. bool _onetime; public: Cookie(const std::string& name, const std::string& value, time_t expires, const std::string& path, const std::string& domain, bool secure); Cookie(const std::string& name, const std::string& value, const std::string& path, const std::string& domain, bool secure); Cookie(); ~Cookie(); std::string toString() const; bool good() const; bool match(const std::string& requestHost, const std::string& requestPath, time_t date, bool secure) const; bool validate(const std::string& requestHost, const std::string& requestPath) const; bool operator==(const Cookie& cookie) const; bool isExpired() const; const std::string& getName() const; const std::string& getValue() const; const std::string& getPath() const; const std::string& getDomain() const; time_t getExpiry() const; bool isSecureCookie() const; bool isOnetimeCookie() const; }; typedef std::deque Cookies; } // namespace aria2 #endif // _D_COOKIE_H_