C and C++ web framework. http://rapida.vilor.one/docs
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

42 lines
911 B

#include "../../include/rapida.hxx"
#include "../../include/servers/tcp.h"
/*
* \brief Home page route handler.
*/
class Home : public rpd::Route {
protected:
/*
* \brief Handle GET request.
*
* \param req Request.
* \param res Response.
*/
virtual void handle_get(const rpd::Request &req, rpd::Response &res) override
{
handle_head(req, res);
/* Unlike the C interface,
* the C++ wrapper will call `strdup` for you
*/
res.body("Hello World!");
}
/*
* \brief Handle HEAD request.
*/
virtual void handle_head(const rpd::Request &req, rpd::Response &res) override
{
res.status(rpd_res_st_ok);
res.header("Content-Type", "text/plain");
}
};
int main()
{
rpd::App app;
app.add_route("/", new Home());
return rpd_tcp_server_start(app.c_app(), "http://localhost:8080");
}