Add route server

This commit is contained in:
2026-01-12 12:25:06 -06:00
parent 2f5271f7c3
commit 848fca7f36
12 changed files with 247 additions and 19 deletions

View File

@@ -139,11 +139,35 @@ class MyOtherWebServer : public IHttpServer
int main(int argc, char** argv)
{
TF_InitWithConsole();
std::shared_ptr<RouteServer> routeSvr = std::make_shared<RouteServer>();
routeSvr->Get("/name/{name}/greeting",[](ServerContext& ctx)->bool{
std::string name;
if(ctx.pathArguments.TryGetFirst("name",name))
{
ctx.WithMimeType("text/plain").SendText("Hello " + name);
}
else {
ctx.WithMimeType("text/plain").SendText("Please provide a name");
}
return true;
});
routeSvr->Get("/name/{name}/length",[](ServerContext& ctx)->bool{
std::string name;
if(ctx.pathArguments.TryGetFirst("name",name))
{
ctx.WithMimeType("text/plain").SendText("The length of the name is " + std::to_string(name.size()));
}
else {
ctx.WithMimeType("text/plain").SendText("Please provide a name");
}
return true;
});
std::shared_ptr<MyOtherWebServer> myo = std::make_shared<MyOtherWebServer>();
std::shared_ptr<MyWebServer> mws = std::make_shared<MyWebServer>();
std::shared_ptr<MountableServer> mountable = std::make_shared<MountableServer>(myo);
mountable->Mount("/mymount/",mws);
mountable->Mount("/routeSvr/", routeSvr);
HttpServer server(10001,mountable);
server.StartAccepting();
TF_RunEventLoop();