blob: f932c1f38a119bc045d32803163b2e8346d8bb94 [file] [log] [blame]
#include "apache_request.h"
typedef array_header ApacheCookieJar;
typedef struct {
request_rec *r;
char *name;
array_header *values;
char *domain;
char *expires;
char *path;
int secure;
} ApacheCookie;
#define ApacheCookieJarItems(arr) arr->nelts
#define ApacheCookieJarFetch(arr,i) \
((ApacheCookie *)(((ApacheCookie **)arr->elts)[i]))
#define ApacheCookieJarAdd(arr,c) \
*(ApacheCookie **)ap_push_array(arr) = c
#define ApacheCookieItems(c) c->values->nelts
#define ApacheCookieFetch(c,i) \
((char *)(((char **)c->values->elts)[i]))
#define ApacheCookieAddn(c,val) \
if(val) *(char **)ap_push_array(c->values) = (char *)val
#define ApacheCookieAdd(c,val) \
ApacheCookieAddn(c, ap_pstrdup(c->r->pool, val))
#define ApacheCookieAddLen(c,val,len) \
ApacheCookieAddn(c, ap_pstrndup(c->r->pool, val, len))
ApacheCookie *ApacheCookie_new(request_rec *r, ...);
ApacheCookieJar *ApacheCookie_parse(request_rec *r, const char *data);
char *ApacheCookie_as_string(ApacheCookie *c);
char *ApacheCookie_attr(ApacheCookie *c, char *key, char *val);
char *ApacheCookie_expires(ApacheCookie *c, char *time_str);
void ApacheCookie_bake(ApacheCookie *c);
#define APC_ERROR APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, c->r