6 #include <ros/package.h> 19 const std::string& body)
22 connection->write(body);
27 const char* begin,
const char* end)
30 connection->write(request.
path);
36 const char* begin,
const char* end)
39 for (std::map<std::string, std::string>::const_iterator itr =
43 connection->write(itr->first +
"=" + itr->second +
"\n");
54 websocket_->sendMessage(message);
66 int main(
int argc,
char** argv)
87 "/response/internal_server_error",
105 ros::package::getPath(
"async_web_server_cpp") +
"/test",
false));
107 "/test_files_with_dir/.+",
110 ros::package::getPath(
"async_web_server_cpp") +
"/test",
true));
114 ros::package::getPath(
"async_web_server_cpp")
115 +
"/test/test.html"));
117 HttpServer server(
"0.0.0.0",
"9849", handler_group, 1);
boost::function< void(const WebsocketMessage &message)> MessageHandler
static HttpServerRequestHandler static_reply(status_type status, const std::string &content_type, const std::string &content, const std::vector< HttpHeader > &additional_headers=std::vector< HttpHeader >())
static ReplyBuilder builder(status_type status)
static HttpServerRequestHandler from_file(HttpReply::status_type status, const std::string &content_type, const std::string &filename, const std::vector< HttpHeader > &additional_headers=std::vector< HttpHeader >())
int main(int argc, char **argv)
WebsocketConnection::MessageHandler websocket_echo(const HttpRequest &request, WebsocketConnectionPtr websocket)
std::map< std::string, std::string > query_params
WebsocketConnectionPtr websocket_
boost::shared_ptr< WebsocketConnection > WebsocketConnectionPtr
static HttpServerRequestHandler from_filesystem(HttpReply::status_type status, const std::string &path_root, const std::string &filesystem_root, bool list_directories, const std::vector< HttpHeader > &additional_headers=std::vector< HttpHeader >())
void sig_handler(int signo)
boost::shared_ptr< HttpConnection > HttpConnectionPtr
void write(HttpConnectionPtr connection)
volatile bool should_shutdown
static HttpServerRequestHandler stock_reply(status_type status)
static void http_body_echo(const async_web_server_cpp::HttpRequest &request, async_web_server_cpp::HttpConnectionPtr connection, const std::string &body)
void operator()(const WebsocketMessage &message)
static bool http_path_echo(const async_web_server_cpp::HttpRequest &request, async_web_server_cpp::HttpConnectionPtr connection, const char *begin, const char *end)
WebsocketEchoer(WebsocketConnectionPtr websocket)
static bool http_query_echo(const async_web_server_cpp::HttpRequest &request, async_web_server_cpp::HttpConnectionPtr connection, const char *begin, const char *end)
void addHandlerForPath(const std::string &path_regex, HttpServerRequestHandler handler)