MODULE = APR::Request::Cookie PACKAGE = APR::Request::Cookie
SV *
value(obj, p1=NULL, p2=NULL)
APR::Request::Cookie obj
SV *p1
SV *p2
PREINIT:
/*nada*/
CODE:
RETVAL = newSVpvn(obj->v.data, obj->v.dlen);
if (apreq_cookie_is_tainted(obj))
SvTAINTED_on(RETVAL);
OUTPUT:
RETVAL
BOOT:
{
apr_version_t version;
apr_version(&version);
if (version.major != APR_MAJOR_VERSION)
Perl_croak(aTHX_ "Can't load module APR::Request::Cookie : "
"wrong libapr major version "
"(expected %d, saw %d)",
APR_MAJOR_VERSION, version.major);
}
/* register the overloading (type 'A') magic */
PL_amagic_generation++;
/* The magic for overload gets a GV* via gv_fetchmeth as */
/* mentioned above, and looks in the SV* slot of it for */
/* the "fallback" status. */
sv_setsv(
get_sv( "APR::Request::Cookie::()", TRUE ),
&PL_sv_yes
);
newXS("APR::Request::Cookie::()", XS_APR__Request__Cookie_nil, file);
newXS("APR::Request::Cookie::(\"\"", XS_APR__Request__Cookie_value, file);
MODULE = APR::Request::Cookie PACKAGE = APR::Request::Cookie
SV *
name(obj)
APR::Request::Cookie obj
CODE:
RETVAL = newSVpvn(obj->v.name, obj->v.nlen);
if (apreq_cookie_is_tainted(obj))
SvTAINTED_on(RETVAL);
OUTPUT:
RETVAL
UV
secure(obj, val=NULL)
APR::Request::Cookie obj
SV *val
CODE:
RETVAL = apreq_cookie_is_secure(obj);
if (items == 2) {
if (SvTRUE(val))
apreq_cookie_secure_on(obj);
else
apreq_cookie_secure_off(obj);
}
OUTPUT:
RETVAL
UV
version(obj, val=0)
APR::Request::Cookie obj
UV val
CODE:
RETVAL = apreq_cookie_version(obj);
if (items == 2)
apreq_cookie_version_set(obj, val);
OUTPUT:
RETVAL
IV
is_tainted(obj, val=NULL)
APR::Request::Cookie obj
SV *val
PREINIT:
/*nada*/
CODE:
RETVAL = apreq_cookie_is_tainted(obj);
if (items == 2) {
if (SvTRUE(val))
apreq_cookie_tainted_on(obj);
else
apreq_cookie_tainted_off(obj);
}
OUTPUT:
RETVAL
char *
path(cookie, path=NULL)
SV *cookie
SV *path
PREINIT:
apreq_cookie_t *c;
SV *obj;
IV iv;
CODE:
obj = apreq_xs_sv2object(aTHX_ cookie, COOKIE_CLASS, 'c');
iv = SvIVX(obj);
c = INT2PTR(apreq_cookie_t *, iv);
RETVAL = c->path;
if (items == 2)
c->path = apreq_xs_cookie_pool_copy(aTHX_ obj, path);
if (RETVAL == NULL)
XSRETURN_UNDEF;
OUTPUT:
RETVAL
char *
domain(cookie, domain=NULL)
SV *cookie
SV *domain
PREINIT:
apreq_cookie_t *c;
SV *obj;
IV iv;
CODE:
obj = apreq_xs_sv2object(aTHX_ cookie, COOKIE_CLASS, 'c');
iv = SvIVX(obj);
c = INT2PTR(apreq_cookie_t *, iv);
RETVAL = c->domain;
if (items == 2)
c->domain = apreq_xs_cookie_pool_copy(aTHX_ obj, domain);
if (RETVAL == NULL)
XSRETURN_UNDEF;
OUTPUT:
RETVAL
char *
port(cookie, port=NULL)
SV *cookie
SV *port
PREINIT:
apreq_cookie_t *c;
SV *obj;
IV iv;
CODE:
obj = apreq_xs_sv2object(aTHX_ cookie, COOKIE_CLASS, 'c');
iv = SvIVX(obj);
c = INT2PTR(apreq_cookie_t *, iv);
RETVAL = c->port;
if (items == 2)
c->port = apreq_xs_cookie_pool_copy(aTHX_ obj, port);
if (RETVAL == NULL)
XSRETURN_UNDEF;
OUTPUT:
RETVAL
char *
comment(cookie, comment=NULL)
SV *cookie
SV *comment
PREINIT:
apreq_cookie_t *c;
SV *obj;
IV iv;
CODE:
obj = apreq_xs_sv2object(aTHX_ cookie, COOKIE_CLASS, 'c');
iv = SvIVX(obj);
c = INT2PTR(apreq_cookie_t *, iv);
RETVAL = c->comment;
if (items == 2)
c->comment = apreq_xs_cookie_pool_copy(aTHX_ obj, comment);
if (RETVAL == NULL)
XSRETURN_UNDEF;
OUTPUT:
RETVAL
char *
commentURL(cookie, commentURL=NULL)
SV *cookie
SV *commentURL
PREINIT:
apreq_cookie_t *c;
SV *obj;
IV iv;
CODE:
obj = apreq_xs_sv2object(aTHX_ cookie, COOKIE_CLASS, 'c');
iv = SvIVX(obj);
c = INT2PTR(apreq_cookie_t *, iv);
RETVAL = c->commentURL;
if (items == 2)
c->commentURL = apreq_xs_cookie_pool_copy(aTHX_ obj, commentURL);
if (RETVAL == NULL)
XSRETURN_UNDEF;
OUTPUT:
RETVAL
APR::Request::Cookie
make(class, pool, name, val)
apreq_xs_subclass_t class
APR::Pool pool
SV *name
SV *val
PREINIT:
STRLEN nlen, vlen;
const char *n, *v;
SV *parent = SvRV(ST(1));
CODE:
n = SvPV(name, nlen);
v = SvPV(val, vlen);
RETVAL = apreq_cookie_make(pool, n, nlen, v, vlen);
if (SvTAINTED(name) || SvTAINTED(val))
apreq_cookie_tainted_on(RETVAL);
OUTPUT:
RETVAL
SV *
as_string(c)
APR::Request::Cookie c
PREINIT:
char rv[APREQ_COOKIE_MAX_LENGTH];
STRLEN len;
CODE:
len = apreq_cookie_serialize(c, rv, sizeof rv);
RETVAL = newSVpvn(rv, len);
if (apreq_cookie_is_tainted(c))
SvTAINTED_on(RETVAL);
OUTPUT:
RETVAL