Exemple #1
0
/*
 *  Get a HTTP request header
 */
cchar *ejsGetHeader(Ejs *ejs, cchar *key)
{
    EjsWeb     *web;

    mprAssert(ejs);
    web = ejsGetHandle(ejs);
    mprAssert(web->control->getHeader);
    return web->control->getHeader(web->handle, key);
}
Exemple #2
0
/*
 *  Get a variable from the web server. This is used to implement virtual properties
 */
EjsVar *ejsGetWebVar(Ejs *ejs, int collection, int field)
{
    EjsWeb     *web;

    mprAssert(ejs);
    web = ejsGetHandle(ejs);
    mprAssert(web->control->getVar);
    return web->control->getVar(web->handle, collection, field);
}
Exemple #3
0
void ejsSetCookie(Ejs *ejs, cchar *name, cchar *value, int lifetime, cchar *path, bool secure)
{
    EjsWeb     *web;

    mprAssert(ejs);

    web = ejsGetHandle(ejs);
    mprAssert(web->control->setCookie);
    web->control->setCookie(web->handle, name, value, lifetime, path, secure);
}
Exemple #4
0
void ejsSetHttpCode(Ejs *ejs, int code)
{
    EjsWeb     *web;

    mprAssert(ejs);

    web = ejsGetHandle(ejs);
    mprAssert(web->control->setHttpCode);
    web->control->setHttpCode(web->handle, code);
}
Exemple #5
0
int ejsMapToStorage(Ejs *ejs, char *path, int pathsize, cchar *url)
{
    EjsWeb     *web;

    //  TODO - include files are not required anymore
    mprAssert(0);
    mprAssert(ejs);
    web = ejsGetHandle(ejs);
    mprAssert(web->control->mapToStorage);
    return web->control->mapToStorage(web->handle, path, pathsize, url);
}
Exemple #6
0
/*
 *  Discard all generated output
 */
void ejsDiscardOutput(Ejs *ejs)
{
    EjsWeb         *web;

    mprAssert(ejs);
    web = ejsGetHandle(ejs);

    if (web->control->discardOutput) {
        web->control->discardOutput(web->handle);
    }
}
Exemple #7
0
int ejsWriteString(Ejs *ejs, cchar *buf)
{
    EjsWeb     *web;

    mprAssert(ejs);
    mprAssert(buf);

    web = ejsGetHandle(ejs);
    mprAssert(web->control->write);
    return web->control->write(web->handle, buf, (int) strlen(buf));
}
Exemple #8
0
void ejsDefineParams(Ejs *ejs)
{
    EjsWeb         *web;

    mprAssert(ejs);
    web = ejsGetHandle(ejs);

    if (web->control->defineParams) {
        web->control->defineParams(web->handle);
    }
}
Exemple #9
0
void ejsRedirect(Ejs *ejs, int code, cchar *url)
{
    EjsWeb     *web;

    mprAssert(ejs);
    mprAssert(url);

    web = ejsGetHandle(ejs);
    mprAssert(web->control->redirect);
    web->control->redirect(web->handle, code, url);
}
Exemple #10
0
int ejsWriteBlock(Ejs *ejs, cchar *buf, int size)
{
    EjsWeb     *web;

    mprAssert(ejs);
    mprAssert(buf);
    mprAssert(size >= 0);

    web = ejsGetHandle(ejs);
    mprAssert(web->control->write);
    return web->control->write(web->handle, buf, size);
}
Exemple #11
0
int ejsReadFile(Ejs *ejs, char **buf, int *len, cchar *path)
{
    EjsWeb     *web;

    //  TODO - what is this for?
    mprAssert(0);
    mprAssert(ejs);

    web = ejsGetHandle(ejs);
    mprAssert(web->control->readFile);
    return web->control->readFile(web->handle, buf, len, path);
}
Exemple #12
0
/*
 *  Set a variable in the web server. This is used to implement virtual properties
 */
int ejsSetWebVar(Ejs *ejs, int collection, int field, EjsVar *value)
{
    EjsWeb     *web;

    mprAssert(ejs);

    web = ejsGetHandle(ejs);
    if (web->control->setVar == 0) {
        ejsThrowReferenceError(ejs, "Object is read-only");
        return EJS_ERR;
    }
    mprAssert(web->control->setVar);
    return web->control->setVar(web->handle, collection, field, value);
}
Exemple #13
0
void ejsSetWebHeader(Ejs *ejs, bool allowMultiple, cchar *key, cchar *fmt, ...)
{
    EjsWeb     *web;
    char            *value;
    va_list         vargs;

    mprAssert(ejs);

    web = ejsGetHandle(ejs);
    mprAssert(web->control->setHeader);

    va_start(vargs, fmt);
    value = mprVasprintf(web, -1, fmt, vargs);
    web->control->setHeader(web->handle, allowMultiple, key, value);
}
Exemple #14
0
/*
 *  Return an error to the client
 */
void ejsWebError(Ejs *ejs, int code, cchar *fmt, ...)
{
    EjsWeb      *web;
    va_list     args;
    char        *buf;

    mprAssert(ejs);
    mprAssert(fmt);

    va_start(args, fmt);
    mprAllocVsprintf(ejs, &buf, -1, fmt, args);
    web = ejsGetHandle(ejs);

    if (web->control->error) {
        web->control->error(web->handle, code, buf);
    }
    mprFree(buf);
    va_end(args);
}
Exemple #15
0
int ejsWrite(Ejs *ejs, cchar *fmt, ...)
{
    EjsWeb     *web;
    va_list     args;
    char        *buf;
    int         rc, len;

    mprAssert(ejs);
    mprAssert(fmt);

    web = ejsGetHandle(ejs);
    mprAssert(web->control->write);

    va_start(args, fmt);
    len = mprAllocVsprintf(web, &buf, -1, fmt, args);
    rc = web->control->write(web->handle, buf, len);
    mprFree(buf);
    va_end(args);

    return rc;
}
Exemple #16
0
int ejsWrite(Ejs *ejs, cchar *fmt, ...)
{
    EjsWeb     *web;
    va_list     args;
    char        *buf;
    int         rc;

    mprAssert(ejs);
    mprAssert(fmt);

    web = ejsGetHandle(ejs);
    mprAssert(web->control->write);

    va_start(args, fmt);
    buf = mprVasprintf(web, -1, fmt, args);
    rc = web->control->write(web->handle, buf, (int) strlen(buf));
    mprFree(buf);
    va_end(args);

    return rc;
}