/* function setLimits(limits: Object): Void */ static EjsObj *hs_setLimits(Ejs *ejs, EjsHttpServer *sp, int argc, EjsObj **argv) { EjsObj *vp, *app, *cache, *cacheLimits; HttpLimits *limits; if (sp->limits == 0) { sp->limits = ejsCreateEmptyPot(ejs); limits = (sp->endpoint) ? sp->endpoint->limits : ejs->http->serverLimits; assert(limits); ejsGetHttpLimits(ejs, sp->limits, limits, 1); } ejsBlendObject(ejs, sp->limits, argv[0], EJS_BLEND_OVERWRITE); if (sp->endpoint) { limits = (sp->endpoint) ? sp->endpoint->limits : ejs->http->serverLimits; ejsSetHttpLimits(ejs, limits, sp->limits, 1); } if ((vp = ejsGetPropertyByName(ejs, sp->limits, EN("sessionTimeout"))) != 0) { app = ejsGetPropertyByName(ejs, ejs->global, N("ejs", "App")); cache = ejsGetPropertyByName(ejs, app, N("ejs", "cache")); if (cache && cache != ESV(null)) { cacheLimits = ejsCreateEmptyPot(ejs); ejsSetPropertyByName(ejs, cacheLimits, EN("lifespan"), vp); ejsCacheSetLimits(ejs, cache, cacheLimits); } } return 0; }
/* function get limits(): Object */ static EjsObj *http_limits(Ejs *ejs, EjsHttp *hp, int argc, EjsObj **argv) { if (hp->limits == 0) { hp->limits = (EjsObj*) ejsCreateEmptyPot(ejs); ejsGetHttpLimits(ejs, hp->limits, hp->conn->limits, 0); } return hp->limits; }
/* function get limits(): Object */ static EjsObj *hs_limits(Ejs *ejs, EjsHttpServer *sp, int argc, EjsObj **argv) { HttpLimits *limits; if (sp->limits == 0) { sp->limits = ejsCreateEmptyPot(ejs); limits = (sp->endpoint) ? sp->endpoint->limits : ejs->http->serverLimits; assert(limits); ejsGetHttpLimits(ejs, sp->limits, limits, 1); } return sp->limits; }
/* function set limits(limits: Object): Void */ static EjsObj *http_setLimits(Ejs *ejs, EjsHttp *hp, int argc, EjsObj **argv) { if (hp->conn->limits == ejs->http->clientLimits) { httpSetUniqueConnLimits(hp->conn); } if (hp->limits == 0) { hp->limits = (EjsObj*) ejsCreateEmptyPot(ejs); ejsGetHttpLimits(ejs, hp->limits, hp->conn->limits, 0); } ejsBlendObject(ejs, hp->limits, argv[0], EJS_BLEND_OVERWRITE); ejsSetHttpLimits(ejs, hp->conn->limits, hp->limits, 0); return 0; }