From 74eeda8aa9c67ca9820b8f7dd98bc2da3f97748a Mon Sep 17 00:00:00 2001 From: Stefan Boberg Date: Wed, 8 Sep 2021 21:38:20 +0200 Subject: Introduced dedicated HTTP testing service, used during development to exercise the server framework --- zenserver/testing/httptest.cpp | 48 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 zenserver/testing/httptest.cpp (limited to 'zenserver/testing/httptest.cpp') diff --git a/zenserver/testing/httptest.cpp b/zenserver/testing/httptest.cpp new file mode 100644 index 000000000..0639c2b53 --- /dev/null +++ b/zenserver/testing/httptest.cpp @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#include "httptest.h" + +namespace zen { + +HttpTestingService::HttpTestingService() +{ + m_Router.RegisterRoute( + "hello", + [this](HttpRouterRequest& Req) { Req.ServerRequest().WriteResponse(HttpResponse::OK); }, + HttpVerb::kGet); + + m_Router.RegisterRoute( + "echo", + [this](HttpRouterRequest& Req) { + IoBuffer Body = Req.ServerRequest().ReadPayload(); + Req.ServerRequest().WriteResponse(HttpResponse::OK, HttpContentType::kBinary, Body); + }, + HttpVerb::kPost); + + m_Router.RegisterRoute("package", m_PackageHandler); +} + +HttpTestingService::~HttpTestingService() +{ +} + +const char* +HttpTestingService::BaseUri() const +{ + return "/testing/"; +} + +void +HttpTestingService::HandleRequest(HttpServerRequest& Request) +{ + m_Router.HandleRequest(Request); +} + +void +HttpTestingService::PackageHandler::HandleRequest(HttpRouterRequest& Req) +{ + IoBuffer Body = Req.ServerRequest().ReadPayload(); + Req.ServerRequest().WriteResponse(HttpResponse::OK, HttpContentType::kBinary, Body); +} + +} // namespace zen -- cgit v1.2.3