diff options
Diffstat (limited to 'zenserver/testing/httptest.cpp')
| -rw-r--r-- | zenserver/testing/httptest.cpp | 48 |
1 files changed, 48 insertions, 0 deletions
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 |