Download Visual studio 2022.
Clone the repository.
Write backend logics in theSPIKE.cppfile.
HttpHandler handler;
// Example of routing (Adding relative child routes)
server.OnPath("/<...>", [](Request& req , Response& res)
{
res.SendString("Hello World");
}) ->
addRelativeChildRoutes("/relative_child_1", [](Request& req , Response& res)
{
res.SendString("Hello This is relative path - 1 , You sent " + req.PATH_DATA.front());
}) ->
addRelativeChildRoutes("/<...>/realative_child_2", [](Request& req, Response& res)
{
res.SendString("Hello This is relative path - 2 , You sent " + req.PATH_DATA.back());
});
WebServer{ "3456" }.Serve(handler); HttpHandler handler;
handler.OnPath("/f", [](Request& req, Response& res)
{
std::stringstream ss;
for (auto& [k , v] : req.HEADERS.getInlineMap())
{
ss << k << " : " << v << "\n";
}
res.SendString(ss.str());
});
handler.OnPath("/file", [](Request& req, Response& res)
{
res.SendFile("your/file/path");
});
// Example: using pattern matching
// every thing after /greet/ will be available in PATH_DATA
handler.OnPath("/greet/<...>", [](Request& req, Response& res)
{
res.SendString("Hello " + req.PATH_DATA[0] + "!!");
});
WebServer{ "3456" }.Serve(handler);