本文整理汇总了C++中poco::net::HTTPServerResponse::setChunkedTransferEncoding方法的典型用法代码示例。如果您正苦于以下问题:C++ HTTPServerResponse::setChunkedTransferEncoding方法的具体用法?C++ HTTPServerResponse::setChunkedTransferEncoding怎么用?C++ HTTPServerResponse::setChunkedTransferEncoding使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类poco::net::HTTPServerResponse
的用法示例。
在下文中一共展示了HTTPServerResponse::setChunkedTransferEncoding方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: handleRequest
void TimeHandler::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response)
{
response.setChunkedTransferEncoding(true);
response.setContentType("text/html");
Poco::Net::HTMLForm form(request, request.stream());
std::ostream& responseStream = response.send();
responseStream << "";
responseStream << "\n";
responseStream << "";
responseStream << "\n";
responseStream << "\n";
responseStream << "";
#line 6 "/ws/poco-1.3/PageCompiler/samples/HTTPTimeServer/src/TimeHandler.cpsp"
Poco::DateTime now;
std::string dt(Poco::DateTimeFormatter::format(now, "%W, %e %b %y %H:%M:%S %Z"));
responseStream << "\n";
responseStream << "<html>\n";
responseStream << "<head>\n";
responseStream << "<title>HTTPTimeServer powered by POCO C++ Libraries and PageCompiler</title>\n";
responseStream << "<meta http-equiv=\"refresh\" content=\"1\">\n";
responseStream << "</head>\n";
responseStream << "<body>\n";
responseStream << "<p style=\"text-align: center; font-size: 48px;\">";
#line 16 "/ws/poco-1.3/PageCompiler/samples/HTTPTimeServer/src/TimeHandler.cpsp"
responseStream << ( dt );
responseStream << "</p>\n";
responseStream << "</body>\n";
responseStream << "</html>\n";
responseStream << "";
}
示例2: handleRequest
void GenericFileHandler::handleRequest(Poco::Net::HTTPServerRequest & req, Poco::Net::HTTPServerResponse & resp) {
std::ifstream file;
try {
file.open(fileName.c_str(), std::ifstream::in);
} catch (...) {
}
if (!file.is_open()) {
resp.setStatus(Poco::Net::HTTPResponse::HTTP_NOT_FOUND);
resp.send();
return;
}
std::string wsdl;
while (!file.eof()) {
std::string tmp;
std::getline(file, tmp);
wsdl += tmp;
}
file.close();
resp.setStatus(Poco::Net::HTTPResponse::HTTP_OK);
resp.setContentType("application/xml");
resp.setChunkedTransferEncoding(false);
resp.setContentLength(wsdl.length());
std::ostream & out = resp.send();
out << wsdl << std::flush;
}
示例3: streamFile
static void streamFile(Poco::Net::HTTPServerResponse & response, std::string file, std::string mime) {
response.setContentType(mime);
response.setChunkedTransferEncoding(true);
std::ostream & o = response.send();
std::ifstream docf(file.c_str());
Poco::StreamCopier::copyStream(docf, o);
}
示例4: handleRequest
void ShowCaptchaPage::handleRequest(Poco::Net::HTTPServerRequest &request, Poco::Net::HTTPServerResponse &response)
{
m_log->trace("ShowCaptchaPage::handleRequest from "+request.clientAddress().toString());
std::map<std::string,QueryVar> queryvars;
CreateQueryVarMap(request,queryvars);
if(request.getVersion()==Poco::Net::HTTPRequest::HTTP_1_1)
{
response.setChunkedTransferEncoding(true);
}
std::string content="";
if(queryvars.find("UUID")!=queryvars.end())
{
std::string uuid=(*queryvars.find("UUID")).second.GetData();
SQLite3DB::Statement st=m_db->Prepare("SELECT MimeType,PuzzleData FROM tblIntroductionPuzzleRequests WHERE UUID=?;");
st.Bind(0,uuid);
st.Step();
if(st.RowReturned())
{
std::string mime;
std::string b64data;
std::vector<unsigned char> data;
st.ResultText(0,mime);
st.ResultText(1,b64data);
Base64::Decode(b64data,data);
// mime type should be short and have a / in it - otherwise skip
if(mime.size()<50 && mime.find('/')!=std::string::npos)
{
std::string fname(uuid);
if(mime=="image/bmp")
{
fname+=".bmp";
}
else if(mime=="audio/x-wav")
{
fname+=".wav";
}
response.setContentType(mime);
response.setContentLength(data.size());
response.set("Content-Disposition","attachment; filename="+fname);
content+=std::string(data.begin(),data.end());
}
}
}
std::ostream &ostr = response.send();
ostr << content;
}
示例5: isAuthenticated
bool Utility::isAuthenticated(Poco::OSP::Web::WebSession::Ptr pSession, Poco::Net::HTTPServerResponse& response)
{
if (!pSession || !pSession->has("username"))
{
response.setStatusAndReason(Poco::Net::HTTPResponse::HTTP_UNAUTHORIZED);
response.setContentLength(0);
response.setChunkedTransferEncoding(false);
response.send();
return false;
}
return true;
}
示例6: isAuthenticated
bool Utility::isAuthenticated(Poco::OSP::Web::WebSession::Ptr pSession, const Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response)
{
if (!pSession || !pSession->has("username") || request.get("X-XSRF-TOKEN", "") != pSession->csrfToken())
{
response.setStatusAndReason(Poco::Net::HTTPResponse::HTTP_UNAUTHORIZED);
response.setContentLength(0);
response.setChunkedTransferEncoding(false);
response.send();
return false;
}
return true;
}
示例7: handleRequest
// Define handler
virtual void handleRequest(
Poco::Net::HTTPServerRequest& request,
Poco::Net::HTTPServerResponse& response) {
{
response.setChunkedTransferEncoding(true);
response.setContentType("text/html");
std::ostream& ostr = response.send();
ostr << "<html><head><title>"
<< "My 1st POCO HTTP Server"
<< "</title></head>"
<< "<body><h1>"
<< _helloMsg
<< "</h1></body></html>";
}
}
示例8: handleRequest
void chat::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response)
{
std::string nick;
MyPartHandler partHandler;
HTMLForm form(request, request.stream(), partHandler);
response.setChunkedTransferEncoding(true);
response.setContentType("text/html");
if (!form.empty())
{
NameValueCollection::ConstIterator it;
NameValueCollection::ConstIterator end;
it = form.begin();
end = form.end();
for (; it != end; ++it)
{
if (it->first == "user")
nick = it->second;
}
}
std::ostream& responseStream = response.send();
responseStream << "<!DOCTYPE html>\n";
responseStream << "<html>\n";
responseStream << "\t<head>\n";
responseStream << "\t\t<link rel = \"stylesheet\" type = \"text/css\" href = \"styles.css\">\n";
responseStream << "\t\t<title>Chat</title>\n";
responseStream << "\t\t<script type = \"text/JavaScript\" src = \"jquery.js\"></script>\n";
responseStream << "\t\t<script type = \"text/JavaScript\" src = \"jqueryui.js\"></script>\n";
responseStream << "\t\t<script type = \"text/JavaScript\" src = \"script.js\"></script>\n";
responseStream << "<script>\n";
responseStream << "\tvar nick=\"" << nick << "\";\n";
responseStream << "</script>\n";
responseStream << "\t\t<link rel = \"stylesheet\" type = \"text/css\" href = \"jqueryuiss.css\">\n";
responseStream << "\t</head>\n";
responseStream << "\t<body>\n";
responseStream << "\t\t<audio id=\"myAudio\">\n";
responseStream << "\t\t\t<source src=\"newmessage.mp3\" type=\"audio/mpeg\">\n";
responseStream << "\t\t\t<source src=\"newmessage.ogg\" type=\"audio/ogg\">\n";
responseStream << "\t\t\tYour browser does not suport the audio tag\n";
responseStream << "</audio>\n";
responseStream << "\t\t<div id = \"FtHeader\">\n";
responseStream << "\t\t\t<h1 align = \"center\"><img src = \"logo.jpg\" alt = \"some_text\"></h1>\n";
responseStream << "\t\t</div>\n";
responseStream << "\t\t<div id = \"chatTable2\">\n";
responseStream << "\t\t\t<table align = \"center\">\n";
responseStream << "\t\t\t\t<tr>\n";
responseStream << "\t\t\t\t<td>\n";
responseStream << "\t\t\t\t<div id=\"tabs\">\n";
responseStream << "\t\t\t\t\t<ul>\n";
responseStream << "\t\t\t\t\t\t<li><a href=\"#chatWindow\">Public</a></li>\n";
responseStream << "\t\t\t\t\t\t<li><a href=\"#privateChatWindow\">Private</a></li>\n";
responseStream << "\t\t\t\t\t</ul>\n";
responseStream << "\t\t\t\t\t<div id = \"chatWindow\"></div>\n";
responseStream << "\t\t\t\t\t<div id = \"privateChatWindow\"></div>\n";
responseStream << "\t\t\t\t</div>\n";
responseStream << "\t\t\t\t</td>\n";
responseStream << "\t\t\t\t<td>\n";
responseStream << "\t\t\t\t\t<div id = \"OnlineBox\">\n";
responseStream << "\t\t\t\t\t</div>\n";
responseStream << "\t\t\t\t</td>\n";
responseStream << "\t\t\t\t</tr>\n";
responseStream << "\t\t\t\t<tr>\n";
responseStream << "\t\t\t\t<td>\n";
responseStream << "\t\t\t\t\t<textarea maxlength = \"320\" id = \"TxTBox\" type = \"text\" style = \"resize:none\" name = \"TxTBox\" onkeypress = \"if(event.keyCode == 13){event.preventDefault(); sendMsgToServer();}\"></textarea>\n";
responseStream << "\t\t\t\t</td>\n";
responseStream << "\t\t\t\t<td>\n";
responseStream << "\t\t\t\t\t<Button id = \"SendButton\" onclick = \" sendMsgToServer();\" onkeypress = \"if (event.keyCode == 13) {event.preventDefault(); sendMsgToServer(); }\">Send!</Button><br>\n";
responseStream << "\t\t\t\t\t<form method=\"POST\" action=\"/\">\n";
responseStream << "\t\t\t\t\t\t<input type=\"submit\" value=\"Logout\" id=\"LogoutButton\" onclick=\"loggingOut();\">\n";
responseStream << "\t\t\t\t\t</form>\n";
responseStream << "\t\t\t\t</td>\n";
responseStream << "\t\t\t\t</tr>\n";
responseStream << "\t\t\t</table>\n";
responseStream << "\t\t</div>\n";
responseStream << "\t</body>\n";
responseStream << "</html>";
}
示例9: handleRequest
void RegistrationHandler::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response)
{
response.setChunkedTransferEncoding(true);
response.setContentType("text/html");
#line 6 "/media/DATA_1/_/Data/Core/Developing/WebServer/PocoBlog/src/view/Registration.c"
SESSION std::ostream& responseStream = response.send();
responseStream << "";
responseStream << "\n";
responseStream << "";
responseStream << "\n";
responseStream << "";
responseStream << "\n";
responseStream << "";
responseStream << "\n";
responseStream << "\n";
responseStream << "\t";
responseStream << "\n";
responseStream << "\n";
responseStream << "\t";
#line 8 "/media/DATA_1/_/Data/Core/Developing/WebServer/PocoBlog/src/view/Registration.c"
TILE_BEGIN("head") responseStream << "";
// begin include src/view/tile/head.html
responseStream << "\n";
responseStream << "\t<meta charset=\"utf-8\">\n";
responseStream << "\t<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\" />\n";
responseStream << "\t<script type=\"text/javascript\">window.suggestmeyes_loaded = true;</script>\n";
responseStream << "\t<title>Main Page</title>\n";
responseStream << "\t<link rel=\"stylesheet\" type=\"text/css\" href=\"css/style.css\">\n";
responseStream << "\t<!--<meta http-equiv=\"refresh\" content=\"1\">-->\n";
responseStream << "";
// end include src/view/tile/head.html
responseStream << "";
#line 8 "/media/DATA_1/_/Data/Core/Developing/WebServer/PocoBlog/src/view/Registration.c"
TILE_END responseStream << "\n";
responseStream << "\t";
#line 9 "/media/DATA_1/_/Data/Core/Developing/WebServer/PocoBlog/src/view/Registration.c"
TILE_BEGIN("topbar") responseStream << "";
// begin include src/view/tile/topbar.html
responseStream << "\n";
responseStream << "\t";
#line 2 "/media/DATA_1/_/Data/Core/Developing/WebServer/PocoBlog/src/view/tile/topbar.html"
IF(user) responseStream << "\n";
responseStream << "\t\t<div id=\"session\">\n";
responseStream << "\t\t\t<span class=\"topbar\">\n";
responseStream << "\t\t\t\t<a class=\"topbar\" href=\"/User\"><span class=\"topbar\">\n";
responseStream << "\t\t\t\t\t";
#line 6 "/media/DATA_1/_/Data/Core/Developing/WebServer/PocoBlog/src/view/tile/topbar.html"
IF(user.group() == user.ADMIN) responseStream << "#";
#line 6 "/media/DATA_1/_/Data/Core/Developing/WebServer/PocoBlog/src/view/tile/topbar.html"
responseStream << (user.username());
responseStream << "#";
#line 6 "/media/DATA_1/_/Data/Core/Developing/WebServer/PocoBlog/src/view/tile/topbar.html"
ELSE responseStream << "[";
#line 6 "/media/DATA_1/_/Data/Core/Developing/WebServer/PocoBlog/src/view/tile/topbar.html"
responseStream << (user.username());
responseStream << "]";
#line 6 "/media/DATA_1/_/Data/Core/Developing/WebServer/PocoBlog/src/view/tile/topbar.html"
ENDIF responseStream << "\n";
responseStream << "\t\t\t\t</span></a>\n";
responseStream << "\t\t\t\t<a class=\"topbar\" href=\"/*logout\">Sign out</a>\n";
responseStream << "\t\t\t</span>\n";
responseStream << "\t\t</div>\n";
responseStream << "\t";
#line 11 "/media/DATA_1/_/Data/Core/Developing/WebServer/PocoBlog/src/view/tile/topbar.html"
ELSE responseStream << "\n";
responseStream << "\t\t<script type=\"text/javascript\"> function submitSigninForm() { document.forms[\"signinForm\"].submit(); } </script>\n";
responseStream << "\t\t<form id=\"signinForm\" class=\"ignore\" method=\"POST\" action=\"*login\">";
#line 13 "/media/DATA_1/_/Data/Core/Developing/WebServer/PocoBlog/src/view/tile/topbar.html"
responseStream << (CSRF);
responseStream << "\n";
responseStream << "\t\t\t<div id=\"session\">\n";
responseStream << "\t\t\t\t<span class=\"topbar\">\n";
responseStream << "\t\t\t\t\t<input class=\"topbar\" type=\"text\" ";
#line 16 "/media/DATA_1/_/Data/Core/Developing/WebServer/PocoBlog/src/view/tile/topbar.html"
responseStream << (NAME(username));
responseStream << " placeholder=\"Username...\" style=\"width: 100px;\" onkeypress=\"if(event.keyCode==13) submitSigninForm();\">\n";
responseStream << "\t\t\t\t\t<input class=\"topbar\" type=\"password\" ";
#line 17 "/media/DATA_1/_/Data/Core/Developing/WebServer/PocoBlog/src/view/tile/topbar.html"
responseStream << (NAME(password));
responseStream << " placeholder=\"Password...\" style=\"width: 100px;\" onkeypress=\"if(event.keyCode==13) submitSigninForm();\">\n";
responseStream << "\t\t\t\t\t<!--<a class=\"topbar\" href=\"/Login\">Sign In</a>-->\n";
responseStream << "\t\t\t\t\t<a class=\"topbar\" href=\"javascript:submitSigninForm()\">Log in</a>\n";
responseStream << "\t\t\t\t\t<a class=\"topbar\" href=\"/Registration\">Sign up</a>\n";
responseStream << "\t\t\t\t</span>\n";
responseStream << "\t\t\t</div>\n";
responseStream << "\t\t</form>\n";
responseStream << "\t";
#line 24 "/media/DATA_1/_/Data/Core/Developing/WebServer/PocoBlog/src/view/tile/topbar.html"
ENDIF responseStream << "\n";
responseStream << "";
// end include src/view/tile/topbar.html
responseStream << "";
#line 9 "/media/DATA_1/_/Data/Core/Developing/WebServer/PocoBlog/src/view/Registration.c"
TILE_END responseStream << "\n";
responseStream << "\t";
#line 10 "/media/DATA_1/_/Data/Core/Developing/WebServer/PocoBlog/src/view/Registration.c"
TILE_BEGIN("header") responseStream << "";
// begin include src/view/tile/header.html
responseStream << "\n";
//.........这里部分代码省略.........
示例10: handleRequest
void BlogHandler::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response)
{
response.setChunkedTransferEncoding(true);
response.setContentType("text/html");
#line 6 "/media/DATA_1/_/Data/Core/Developing/WebServer/PocoBlog/src/view/Blog.c"
SESSION std::ostream& responseStream = response.send();
responseStream << "";
responseStream << "\n";
responseStream << "";
responseStream << "\n";
responseStream << "";
responseStream << "\n";
responseStream << "";
responseStream << "\n";
responseStream << "\n";
responseStream << "\t";
responseStream << "\n";
responseStream << "\n";
responseStream << "\t";
#line 8 "/media/DATA_1/_/Data/Core/Developing/WebServer/PocoBlog/src/view/Blog.c"
TILE_BEGIN("head") responseStream << "\n";
responseStream << "\t\t";
// begin include src/view/tile/head.html
responseStream << "\n";
responseStream << "\t<meta charset=\"utf-8\">\n";
responseStream << "\t<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\" />\n";
responseStream << "\t<script type=\"text/javascript\">window.suggestmeyes_loaded = true;</script>\n";
responseStream << "\t<title>Main Page</title>\n";
responseStream << "\t<link rel=\"stylesheet\" type=\"text/css\" href=\"css/style.css\">\n";
responseStream << "\t<!--<meta http-equiv=\"refresh\" content=\"1\">-->\n";
responseStream << "";
// end include src/view/tile/head.html
responseStream << "\n";
responseStream << "\t\t<link rel=\"stylesheet\" type=\"text/css\" href=\"markitup/skins/markitup/style.css\" />\n";
responseStream << "\t\t<link rel=\"stylesheet\" type=\"text/css\" href=\"markitup/sets/bbcode/style.css\" />\n";
responseStream << "\t\t<script type=\"text/javascript\" src=\"js/jquery-1.4.3.min.js\"></script>\n";
responseStream << "\t\t<script type=\"text/javascript\" src=\"markitup/jquery.markitup.js\"></script>\n";
responseStream << "\t\t<script type=\"text/javascript\" src=\"markitup/sets/bbcode/set.js\"></script>\n";
responseStream << "\t\t<script language=\"javascript\">\n";
responseStream << "\t\t$(document).ready(function()\t{\n";
responseStream << "\t\t\t$('#bbcode_blog').markItUp(myBbcodeSettings);\n";
responseStream << "\t\t\t$('#emoticons a').click(function() {\n";
responseStream << "\t\t\t\temoticon = $(this).attr(\"title\");\n";
responseStream << "\t\t\t\t$.markItUp( { replaceWith:emoticon } );\n";
responseStream << "\t\t\t});\n";
responseStream << "\t\t});\n";
responseStream << "\t\t</script>\n";
responseStream << "\t";
#line 24 "/media/DATA_1/_/Data/Core/Developing/WebServer/PocoBlog/src/view/Blog.c"
TILE_END responseStream << "\n";
responseStream << "\n";
responseStream << "\t";
#line 26 "/media/DATA_1/_/Data/Core/Developing/WebServer/PocoBlog/src/view/Blog.c"
TILE_BEGIN("topbar") responseStream << "";
// begin include src/view/tile/topbar.html
responseStream << "\n";
responseStream << "\t";
#line 2 "/media/DATA_1/_/Data/Core/Developing/WebServer/PocoBlog/src/view/tile/topbar.html"
IF(user) responseStream << "\n";
responseStream << "\t\t<div id=\"session\">\n";
responseStream << "\t\t\t<span class=\"topbar\">\n";
responseStream << "\t\t\t\t<a class=\"topbar\" href=\"/User\"><span class=\"topbar\">\n";
responseStream << "\t\t\t\t\t";
#line 6 "/media/DATA_1/_/Data/Core/Developing/WebServer/PocoBlog/src/view/tile/topbar.html"
IF(user.group() == user.ADMIN) responseStream << "#";
#line 6 "/media/DATA_1/_/Data/Core/Developing/WebServer/PocoBlog/src/view/tile/topbar.html"
responseStream << (user.username());
responseStream << "#";
#line 6 "/media/DATA_1/_/Data/Core/Developing/WebServer/PocoBlog/src/view/tile/topbar.html"
ELSE responseStream << "[";
#line 6 "/media/DATA_1/_/Data/Core/Developing/WebServer/PocoBlog/src/view/tile/topbar.html"
responseStream << (user.username());
responseStream << "]";
#line 6 "/media/DATA_1/_/Data/Core/Developing/WebServer/PocoBlog/src/view/tile/topbar.html"
ENDIF responseStream << "\n";
responseStream << "\t\t\t\t</span></a>\n";
responseStream << "\t\t\t\t<a class=\"topbar\" href=\"/*logout\">Sign out</a>\n";
responseStream << "\t\t\t</span>\n";
responseStream << "\t\t</div>\n";
responseStream << "\t";
#line 11 "/media/DATA_1/_/Data/Core/Developing/WebServer/PocoBlog/src/view/tile/topbar.html"
ELSE responseStream << "\n";
responseStream << "\t\t<script type=\"text/javascript\"> function submitSigninForm() { document.forms[\"signinForm\"].submit(); } </script>\n";
responseStream << "\t\t<form id=\"signinForm\" class=\"ignore\" method=\"POST\" action=\"*login\">";
#line 13 "/media/DATA_1/_/Data/Core/Developing/WebServer/PocoBlog/src/view/tile/topbar.html"
responseStream << (CSRF);
responseStream << "\n";
responseStream << "\t\t\t<div id=\"session\">\n";
responseStream << "\t\t\t\t<span class=\"topbar\">\n";
responseStream << "\t\t\t\t\t<input class=\"topbar\" type=\"text\" ";
#line 16 "/media/DATA_1/_/Data/Core/Developing/WebServer/PocoBlog/src/view/tile/topbar.html"
responseStream << (NAME(username));
responseStream << " placeholder=\"Username...\" style=\"width: 100px;\" onkeypress=\"if(event.keyCode==13) submitSigninForm();\">\n";
responseStream << "\t\t\t\t\t<input class=\"topbar\" type=\"password\" ";
#line 17 "/media/DATA_1/_/Data/Core/Developing/WebServer/PocoBlog/src/view/tile/topbar.html"
responseStream << (NAME(password));
responseStream << " placeholder=\"Password...\" style=\"width: 100px;\" onkeypress=\"if(event.keyCode==13) submitSigninForm();\">\n";
responseStream << "\t\t\t\t\t<!--<a class=\"topbar\" href=\"/Login\">Sign In</a>-->\n";
responseStream << "\t\t\t\t\t<a class=\"topbar\" href=\"javascript:submitSigninForm()\">Log in</a>\n";
//.........这里部分代码省略.........
示例11: handleRequest
void handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response)
{
//Poco::Util::Application& app = Poco::Util::Application::instance();
//app.logger().information("Request from " + request.clientAddress().toString());
std::cout << "Request from " << request.clientAddress().toString() << std::endl;
MyPartHandler partHandler;
Poco::Net::HTMLForm form(request, request.stream(), partHandler);
std::string spinToken, sceneString, nodeString, args;
std::istringstream pathstream(request.getURI());
pathstream.get(); // ignore leading slash
getline(pathstream, spinToken, '/');
getline(pathstream, sceneString, '/');
getline(pathstream, nodeString, '?');
if (sceneString.empty()) sceneString = "default";
//if (nodeString.empty()) nodeString = "shp";
if (form.empty()) args = "createNode shp ShapeNode";
else args = form["args"];
response.setChunkedTransferEncoding(true);
response.setContentType("text/html");
std::ostream& ostr = response.send();
ostr <<
"<html>\n"
"<head>\n"
"<title>SPIN Web Service</title>\n"
"</head>\n"
"<body>\n"
"<h1>SPIN Web Service</h1>\n"
"<h3>Enter a SPIN command in the form below:</h3>\n"
"<table><tr><td nowrap=\"nowrap\">\n"
"<form name=\"urlForm\" method=\"GET\" action=\"null\">\n"
"/SPIN/"
"<input type=\"text\" name=\"sceneID\" value=\"" << sceneString << "\" size=\"10\">\n"
"/<input type=\"text\" name=\"nodeID\" value=\"" << nodeString << "\" size=\"10\">"
"</form></td>\n"
"<td nowrap=\"nowrap\">\n"
"<form name=\"spinform\" method=\"GET\" action=\"null\">\n"
"<input type=\"text\" name=\"args\" value=\"" << args << "\" size=\"20\">\n"
"<input type=\"submit\" value=\"GO\" onclick=\"this.form.action='/SPIN/'+document.forms['urlForm']['sceneID'].value+'/'+document.forms['urlForm']['nodeID'].value\">\n"
"</form>\n"
"</tr></table>\n"
"<p>(NOTE: you can send scene messages by leaving the node name blank)</p>\n"
"\n";
/*
ostr <<
"<html>\n"
"<head>\n"
"<title>SPIN Web Server Sample</title>\n"
"</head>\n"
"<body>\n"
"<h1>SPIN Web Server Sample</h1>\n"
"<h2>Tests:</h2>\n"
"<form name=\"spinform\" method=\"GET\" action=\"null\">\n"
"/SPIN/default/"
"<input type=\"text\" name=\"nodeID\" value=\"shp\" size=\"15\">"
" "
"<input type=\"text\" name=\"method\" value=\"rotate\" size=\"15\">"
" move<input type=\"text\" name=\"x\" value=\"0\" size=\"3\">"
" <input type=\"text\" name=\"y\" value=\"0\" size=\"3\">"
" <input type=\"text\" name=\"z\" value=\"10\" size=\"3\">\n"
" <input type=\"submit\" value=\"GO\" onclick=\"this.form.action='/SPIN/default/'+this.form.nodeID.value\">\n"
"</form>\n"
"\n";
ostr <<
"<html>\n"
"<head>\n"
"<title>SPIN Web Server Sample</title>\n"
"</head>\n"
"<body>\n"
"<h1>SPIN Web Server Sample</h1>\n"
"<h2>GET Form</h2>\n"
"<form method=\"GET\" action=\"/form\">\n"
"<input type=\"text\" name=\"text\" size=\"31\">\n"
"<input type=\"submit\" value=\"GET\">\n"
"</form>\n"
"<h2>POST Form</h2>\n"
"<form method=\"POST\" action=\"/form\">\n"
"<input type=\"text\" name=\"text\" size=\"31\">\n"
"<input type=\"submit\" value=\"POST\">\n"
"</form>\n"
"<h2>File Upload</h2>\n"
"<form method=\"POST\" action=\"/form\" enctype=\"multipart/form-data\">\n"
"<input type=\"file\" name=\"file\" size=\"31\"> \n"
"<input type=\"submit\" value=\"Upload\">\n"
"</form>\n";
*/
ostr << "<h2>Result</h2><p>\n";
ostr << "Method: " << request.getMethod() << "<br>\n";
ostr << "URI: " << request.getURI() << "<br>\n";
Poco::Net::NameValueCollection::ConstIterator it = request.begin();
Poco::Net::NameValueCollection::ConstIterator end = request.end();
for (; it != end; ++it)
{
ostr << it->first << ": " << it->second << "<br>\n";
//.........这里部分代码省略.........