aboutsummaryrefslogtreecommitdiff
path: root/src/cookie.h
diff options
context:
space:
mode:
authorAleksey Veresov <aleksey@veresov.pro>2020-02-04 18:14:54 +0300
committerAleksey Veresov <aleksey@veresov.pro>2020-02-04 18:14:54 +0300
commit8ef310a22a54dca7a80947f83f03bc296ab298dd (patch)
tree739df8f259747508176ecfcdb32f06d711d6c244 /src/cookie.h
parent676f6520bf76867135f1af4fab5d69b3b212d198 (diff)
downloadmagi-8ef310a22a54dca7a80947f83f03bc296ab298dd.tar
magi-8ef310a22a54dca7a80947f83f03bc296ab298dd.tar.xz
magi-8ef310a22a54dca7a80947f83f03bc296ab298dd.zip
[magi]
Diffstat (limited to 'src/cookie.h')
-rw-r--r--src/cookie.h34
1 files changed, 17 insertions, 17 deletions
diff --git a/src/cookie.h b/src/cookie.h
index 82c914e..7eb3e9d 100644
--- a/src/cookie.h
+++ b/src/cookie.h
@@ -2,31 +2,31 @@
#define MAGI_INCLUDED_COOKIE
-struct magi_cookie {
+typedef struct magi_cookie {
/* All pointers must be valid as 'free' arguments. */
- char * name;
- char * data;
- char * path;
- char * domain;
- char * port;
-};
+ char *name;
+ char *data;
+ char *path; /* Without '/' at the end. */
+ char *domain; /* With dot at the begining. */
+ char *max_age; /* In seconds until discard, used only in response. */
+} magi_cookie;
-struct magi_cookie_list {
- struct magi_cookie_list * next; /* Must be valid as 'free' arguments. */
- struct magi_cookie item;
-};
+typedef struct magi_cookie_list {
+ struct magi_cookie_list *next; /* Must be valid as 'free' arguments. */
+ magi_cookie item;
+} magi_cookie_list;
/* Addition of item to top of list. Null <=> error. */
-int magi_cookie_list_add(struct magi_cookie_list ** list,
- struct magi_cookie * item);
+int magi_cookie_list_add(magi_cookie_list **list, magi_cookie *item);
-/* First node in list: node.name == name; else null. */
-struct magi_cookie * magi_cookie_list_get(struct magi_cookie_list * list,
- const char * name);
+/* Data of last cookie in list: cookie.name == name, returns null if no such;
+ * Last cookie in list is first from request, and from RFC 2109 we know that
+ * first cookie is the most accurate for request's domain and path. */
+char *magi_cookie_list_get(magi_cookie_list *list, const char *name);
/* Freeing and invalidation of list. */
-void magi_cookie_list_destroy(struct magi_cookie_list * list);
+void magi_cookie_list_destroy(magi_cookie_list *list);
#endif