1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
3 * Copyright 2007, 2008 Red Hat, Inc.
7 #define SOUP_COOKIE_H 1
9 #include <libsoup/soup-types.h>
23 GType soup_cookie_get_type (void);
24 #define SOUP_TYPE_COOKIE (soup_cookie_get_type())
26 #define SOUP_COOKIE_MAX_AGE_ONE_HOUR (60 * 60)
27 #define SOUP_COOKIE_MAX_AGE_ONE_DAY (SOUP_COOKIE_MAX_AGE_ONE_HOUR * 24)
28 #define SOUP_COOKIE_MAX_AGE_ONE_WEEK (SOUP_COOKIE_MAX_AGE_ONE_DAY * 7)
29 #define SOUP_COOKIE_MAX_AGE_ONE_YEAR (SOUP_COOKIE_MAX_AGE_ONE_DAY * 365.2422)
31 SoupCookie *soup_cookie_new (const char *name,
36 SoupCookie *soup_cookie_parse (const char *header,
38 SoupCookie *soup_cookie_copy (SoupCookie *cookie);
40 const char *soup_cookie_get_name (SoupCookie *cookie);
41 void soup_cookie_set_name (SoupCookie *cookie,
43 const char *soup_cookie_get_value (SoupCookie *cookie);
44 void soup_cookie_set_value (SoupCookie *cookie,
46 const char *soup_cookie_get_domain (SoupCookie *cookie);
47 void soup_cookie_set_domain (SoupCookie *cookie,
49 const char *soup_cookie_get_path (SoupCookie *cookie);
50 void soup_cookie_set_path (SoupCookie *cookie,
52 void soup_cookie_set_max_age (SoupCookie *cookie,
54 SoupDate *soup_cookie_get_expires (SoupCookie *cookie);
55 void soup_cookie_set_expires (SoupCookie *cookie,
57 gboolean soup_cookie_get_secure (SoupCookie *cookie);
58 void soup_cookie_set_secure (SoupCookie *cookie,
60 gboolean soup_cookie_get_http_only (SoupCookie *cookie);
61 void soup_cookie_set_http_only (SoupCookie *cookie,
64 char *soup_cookie_to_set_cookie_header (SoupCookie *cookie);
65 char *soup_cookie_to_cookie_header (SoupCookie *cookie);
67 gboolean soup_cookie_applies_to_uri (SoupCookie *cookie,
69 gboolean soup_cookie_equal (SoupCookie *cookie1,
72 void soup_cookie_free (SoupCookie *cookie);
74 GSList *soup_cookies_from_response (SoupMessage *msg);
75 GSList *soup_cookies_from_request (SoupMessage *msg);
77 void soup_cookies_to_response (GSList *cookies,
79 void soup_cookies_to_request (GSList *cookies,
82 void soup_cookies_free (GSList *cookies);
84 char *soup_cookies_to_cookie_header (GSList *cookies);
86 gboolean soup_cookie_domain_matches (SoupCookie *cookie,
91 #endif /* SOUP_COOKIE_H */