JETServer
/home/bradarant/barant/HTTPServer/__script.h
1
#ifndef ____script_h__
2
#define ____script_h__
3
4
#include "HTTPPage.h"
5
6
namespace
http
{
7
8
class
__script
:
public
HTTPPage
{
9
10
int
processCommand(std::string request, core::Session *session,
HTTPSession
*httpSession,
HTTPRequest
&httpRequest, std::stringstream &data)
override
{
11
12
data <<
"function serverSend(url, type, receiver, formData, callback) {"
<< std::endl;
13
data <<
" var server = new XMLHttpRequest();"
<< std::endl;
14
data <<
" server.onload = function() {"
<< std::endl;
15
data <<
" if(server.readyState == 4 && server.status == 200)"
<< std::endl;
16
data <<
" callback(server.responseText, receiver);"
<< std::endl;
17
data <<
" };"
<< std::endl;
18
data <<
" server.open(type, url, true);"
<< std::endl;
19
data <<
" server.send(formData);"
<< std::endl;
20
data <<
"}"
<< std::endl;
21
22
data <<
"function getPage(url, receiver) {"
<< std::endl;
23
data <<
" serverSend(url, \"GET\", receiver, null, function(data, receiver) {"
<< std::endl;
24
data <<
" insertAndExecute(receiver, data);"
<< std::endl;
25
data <<
" });"
<< std::endl;
26
data <<
"}"
<< std::endl;
27
28
data <<
"function process(url, formName, receiver) {"
<< std::endl;
29
data <<
" var formElement = document.querySelector(\"form[name='\" + formName + \"']\");"
<< std::endl;
30
data <<
" var formData = new FormData(formElement);"
<< std::endl;
31
data <<
" serverSend(url, \"POST\", receiver, formData, function(data, receiver) {"
<< std::endl;
32
data <<
" insertAndExecute(receiver, data);"
<< std::endl;
33
data <<
" });"
<< std::endl;
34
data <<
"}"
<< std::endl;
35
36
data <<
"function insertAndExecute(id, text) {"
<< std::endl;
37
data <<
" idresolved = document.getElementById(id);"
<< std::endl;
38
data <<
" idresolved.innerHTML = text;"
<< std::endl;
39
data <<
" var script = idresolved.getElementsByTagName(\"script\");"
<< std::endl;
40
data <<
" for(var ix=0;ix<script.length;ix++) {"
<< std::endl;
41
data <<
" eval(script[ix].text);"
<< std::endl;
42
data <<
" }"
<< std::endl;
43
data <<
"}"
<< std::endl;
44
45
httpRequest.response.addHeader(
"Content-Type"
,
"text/javascript"
);
46
47
return
true
;
48
}
49
};
50
}
51
52
#endif
http::__script
Definition:
__script.h:8
http::HTTPSession
Definition:
HTTPSession.h:9
http
Definition:
__configure.h:4
http::HTTPPage
Definition:
HTTPPage.h:11
http::HTTPRequest
Definition:
HTTPRequest.h:11
Generated by
1.8.13