Skip to content

Pikselas/SPIKE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SPIKE

Create WebApplications using C++

Currently supports windows

How to use?

Download Visual studio 2022.
Clone the repository.
Write backend logics in the SPIKE.cpp file.

Examples

  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);

Packages

 
 
 

Contributors

Languages