1
0
Fork 0

better hallo-world examples

This commit is contained in:
Frank Celler 2012-03-03 23:36:43 +01:00
parent 8605c1f9bd
commit fcfd2939b1
4 changed files with 57 additions and 20 deletions

View File

@ -398,7 +398,7 @@ HttpResponse* TRI_ExecuteActionVocBase (TRI_vocbase_t* vocbase,
headerFields->Set(v8::String::New(iter->first.c_str()), v8::String::New(iter->second.c_str()));
}
req->Set(v8g->HeaderKey, headerFields);
req->Set(v8g->HeadersKey, headerFields);
// copy request type
switch (request->requestType()) {
@ -560,14 +560,13 @@ void TRI_InitV8Actions (v8::Handle<v8::Context> context) {
// keys
// .............................................................................
v8g->BodyKey = v8::Persistent<v8::String>::New(v8::String::New("body"));
v8g->ContentTypeKey = v8::Persistent<v8::String>::New(v8::String::New("contentType"));
v8g->HeaderKey = v8::Persistent<v8::String>::New(v8::String::New("_header"));
v8g->HeadersKey = v8::Persistent<v8::String>::New(v8::String::New("headers"));
v8g->BodyKey = v8::Persistent<v8::String>::New(v8::String::New("_body"));
v8g->ContentTypeKey = v8::Persistent<v8::String>::New(v8::String::New("_contentType"));
v8g->HeadersKey = v8::Persistent<v8::String>::New(v8::String::New("_headers"));
v8g->ParametersKey = v8::Persistent<v8::String>::New(v8::String::New("parameters"));
v8g->RequestBodyKey = v8::Persistent<v8::String>::New(v8::String::New("_requestBody"));
v8g->RequestTypeKey = v8::Persistent<v8::String>::New(v8::String::New("_requestType"));
v8g->ResponseCodeKey = v8::Persistent<v8::String>::New(v8::String::New("responseCode"));
v8g->ResponseCodeKey = v8::Persistent<v8::String>::New(v8::String::New("_responseCode"));
v8g->SuffixKey = v8::Persistent<v8::String>::New(v8::String::New("_suffix"));
v8g->DeleteConstant = v8::Persistent<v8::String>::New(v8::String::New("DELETE"));

View File

@ -331,10 +331,10 @@ typedef struct TRI_v8_global_s {
v8::Persistent<v8::String> FromKey;
////////////////////////////////////////////////////////////////////////////////
/// @brief "_header" key name
/// @brief "_headers" key name
////////////////////////////////////////////////////////////////////////////////
v8::Persistent<v8::String> HeaderKey;
v8::Persistent<v8::String> HeadersKey;
////////////////////////////////////////////////////////////////////////////////
/// @brief "_id" key name
@ -384,12 +384,6 @@ typedef struct TRI_v8_global_s {
v8::Persistent<v8::String> ContentTypeKey;
////////////////////////////////////////////////////////////////////////////////
/// @brief "headers" key name
////////////////////////////////////////////////////////////////////////////////
v8::Persistent<v8::String> HeadersKey;
////////////////////////////////////////////////////////////////////////////////
/// @brief "journalSize" key name
////////////////////////////////////////////////////////////////////////////////

View File

@ -37,8 +37,52 @@ actions.defineHttp({
callback :
function (req, res) {
res.responseCode = 200;
res.body = "Hallo World\n";
var text;
res._responseCode = 200;
res._contentType = "text/html";
text = "<h1>Hallo World</h1>\n"
+ "\n";
text += "<ul>\n"
+ "<li>request type: " + req._requestType + "</li>\n"
+ "</ul>\n";
text += "<h2>Parameters</h1>\n"
+ "<ul>\n";
for (var i in req) {
if (req.hasOwnProperty(i) && i[0] != "_") {
text += "<li>" + i + " : " + req[i] + "</li>\n";
}
}
text += "</ul>\n";
if (req._suffix && 0 < req._suffix.length) {
text += "<h2>Suffices</h2>\n"
+ "<ol>\n";
for (var i = 0; i < req._suffix.length; ++i) {
text += "<li>" + req._suffix[i] + "</li>\n";
}
text += "</ol>\n\n";
}
if (req._headers) {
text += "<h2>Headers</h2>\n"
+ "<ul>\n";
for (var i in req._headers) {
text += "<li>" + i + " : " + req._headers[i] + "</li>\n";
}
text += "</ul>\n\n";
res._body = text;
}
}
});

View File

@ -71,9 +71,9 @@ var console = require("console");
///
/// The callback must define fill the @FA{response}.
///
/// - @LIT{@FA{response}.responseCode}: the response code
/// - @LIT{@FA{response}.contentType}: the content type of the response
/// - @LIT{@FA{response}.body}: the body of the response
/// - @LIT{@FA{response}._responseCode}: the response code
/// - @LIT{@FA{response}._contentType}: the content type of the response
/// - @LIT{@FA{response}._body}: the body of the response
///
/// You can use the functions @FN{actionResult} and @FN{actionError} to
/// easily generate a response.
@ -112,7 +112,7 @@ function defineHttp (options) {
try {
internal.defineAction(url, "CLIENT", callback, parameter);
console.trace("defining action '" + url + "' in domain(s) " + domain);
console.debug("defining action '" + url + "' in domain(s) " + domain);
}
catch (err) {
console.error("action '" + url + "' encountered error: " + err);