Пример #1
0
exports.app = function(env) {
    var req = new Request(env),
        res = new Response();
    
    if (req.isPost())
    {
        var params = req.params();
        for (var i in params)
        {
            res.setHeader("Content-Type", "text/plain");
            if (typeof params[i] === "string")
                res.write(i + " => " + params[i] + "\n");
            else
            {
                for (var j in params[i])
                    res.write("> " + j + " => " + params[i][j] + "\n");
            }
        }
    }
    else
    {
        res.write('<form action="" method="post" enctype="multipart/form-data">')
        res.write('<input type="file" name="foo" value="">');
        res.write('<input type="text" name="bar" value="baz">');
        res.write('<input type="submit" value="Upload">');
        res.write('</form>');
    }
    
    return res.finish();
}
Пример #2
0
exports.handle = function(env) {
    var request = new Request(env);
    var response = new Response();

    var zazlenv = {};

    zazlenv["REQUEST_METHOD"] = env["REQUEST_METHOD"];
    zazlenv["URL_PATH"] = env["PATH_INFO"];
    zazlenv["PATH_INFO"] = env["PATH_INFO"];
    zazlenv["QUERY_STRING"] = env["QUERY_STRING"] || "";
    zazlenv["CONTENT_TYPE"] = env["CONTENT_TYPE"] || "";
    zazlenv["CONTENT_LENGTH"] = env["CONTENT_LENGTH"] || "";
    zazlenv["SERVER_NAME"] = env["SERVER_NAME"] || "";
    zazlenv["SERVER_PORT"] = env["SERVER_PORT"] || "";
    zazlenv["SERVER_PROTOCOL"] = env["SERVER_PROTOCOL"] || "";
    zazlenv["GATEWAY_INTERFACE"] = "CGI/1.1";
    zazlenv["SERVER_SOFTWARE"] = "Jack/Zazl/0.1";
    zazlenv["PATH_TRANSLATED"] = env["PATH_INFO"] || "";
    zazlenv["REMOTE_HOST"] = env["REMOTE_ADDR"] || "";
    zazlenv["REMOTE_ADDR"] = env["REMOTE_ADDR"] || "";
    zazlenv["REMOTE_USER"] = "******";
    zazlenv["AUTH_TYPE"] = "Unknown";
    zazlenv["jsengine"] = "commonjs";

    for (var i in env) {
        if (i.indexOf("HTTP_") == 0) {
        	zazlenv[i] = env[i];
        }
    }

    zazlenv["PARAMETERS"] = request.params();

    var responseJson = dtlapp(zazlenv);
    if (responseJson != null) {
        var responseData = eval("("+responseJson+")");
        response.status = responseData.status;
        for (var headerName in responseData.headers) {
        	response.setHeader(headerName, responseData.headers[headerName]);
        }
        response.write(responseData.renderedResponse);
        return response.finish();
    }
    else {
        var fileResponse = fileHandler(env);
        if (fileResponse.status == 404) {
            fileResponse = zazlFileHandler(env);
        }
        return fileResponse;
    }
}