DotNetDupe 4.0.6
C++17/20 Implementation of the .NET Base Class Library (BCL)
Loading...
Searching...
No Matches
WebApplication.cpp File Reference

Go to the source code of this file.

Namespaces

namespace  DotNetDupe
namespace  DotNetDupe::WebAppCore
namespace  DotNetDupe::WebAppCore::Builder
namespace  DotNetDupe::WebAppCore::Builder::Internal

Functions

static void DotNetDupe::WebAppCore::Builder::DispatchResponse (Http::HttpResponse *pResp, bool bFound, System::Func< System::String, System::SmartPointer< Http::HttpContext > > &pHandler, const System::SmartPointer< Http::HttpContext > &spContext)
std::vector< std::string > DotNetDupe::WebAppCore::Builder::Internal::GetPathSegments (const std::string &path)
static bool DotNetDupe::WebAppCore::Builder::HeaderContainsToken (const System::String &headerVal, const std::string &targetToken)
static bool DotNetDupe::WebAppCore::Builder::MatchAndFindHandler (Http::HttpRequest *req, const System::Collections::Generic::Dictionary< System::String, System::Func< System::String, System::SmartPointer< Http::HttpContext > > > &map, System::Func< System::String, System::SmartPointer< Http::HttpContext > > &pHandler)
bool DotNetDupe::WebAppCore::Builder::Internal::MatchRoute (const std::vector< std::string > &patternSegs, const std::vector< std::string > &pathSegs, std::vector< std::pair< std::string, std::string > > &extractedParams)
static bool DotNetDupe::WebAppCore::Builder::MatchTokenString (const std::string &val, const std::string &target)
static void DotNetDupe::WebAppCore::Builder::ParseQueryParams (const std::string &queryStr, Http::HttpRequest *req)
static std::string DotNetDupe::WebAppCore::Builder::ParseRequestLine (const std::string &reqLine, Http::HttpRequest *req)
void DotNetDupe::WebAppCore::Builder::Internal::ParseServerUrl (const std::string &sUrl, std::string &host, int &port)
static bool DotNetDupe::WebAppCore::Builder::ProcessWsSession (const System::SmartPointer< System::Net::Sockets::NetworkStream > &stream, const System::SmartPointer< Http::HttpContext > &spContext, const System::SmartPointer< WebSockets::IWebSocketHandler > &pWsHandler, const System::String &sSecKey)
static bool DotNetDupe::WebAppCore::Builder::ReadHeaderLines (const System::SmartPointer< System::IO::Stream > &stream, std::vector< std::string > &lines, bool isRunning)
static void DotNetDupe::WebAppCore::Builder::ReadHeadersAndBody (const System::SmartPointer< System::IO::Stream > &stream, const std::vector< std::string > &lines, Http::HttpRequest *req)
static void DotNetDupe::WebAppCore::Builder::RouteAndSendResponse (const std::string &method, const System::SmartPointer< Http::HttpContext > &spContext, const System::SmartPointer< System::IO::Stream > &spBaseStream, const System::Collections::Generic::Dictionary< System::String, System::Func< System::String, System::SmartPointer< Http::HttpContext > > > &getHandlers, const System::Collections::Generic::Dictionary< System::String, System::Func< System::String, System::SmartPointer< Http::HttpContext > > > &postHandlers, const System::Collections::Generic::Dictionary< System::String, System::Func< System::String, System::SmartPointer< Http::HttpContext > > > &putHandlers, const System::Collections::Generic::Dictionary< System::String, System::Func< System::String, System::SmartPointer< Http::HttpContext > > > &deleteHandlers)
static void DotNetDupe::WebAppCore::Builder::RunWsReceiveLoop (const System::SmartPointer< System::Net::WebSockets::WebSocket > &pWebSocket, const System::SmartPointer< WebSockets::WebSocketContext > &pWsContext, const System::SmartPointer< WebSockets::IWebSocketHandler > &pWsHandler)
static void DotNetDupe::WebAppCore::Builder::SendHttpResponseData (const System::SmartPointer< System::IO::Stream > &stream, Http::HttpResponse *resp, const std::string &method)
static void DotNetDupe::WebAppCore::Builder::SendWebSocketErrorResponse (const System::SmartPointer< System::IO::Stream > &stream, int statusCode, const char *pMsg)
static bool DotNetDupe::WebAppCore::Builder::TryHandleWebSocket (const System::SmartPointer< System::Net::Sockets::NetworkStream > &stream, const System::SmartPointer< Http::HttpContext > &spContext, const System::Collections::Generic::Dictionary< System::String, System::SmartPointer< WebSockets::IWebSocketHandler > > &wsMap)
static int DotNetDupe::WebAppCore::Builder::ValidateWebSocketHandshake (const Http::HttpRequest *req, System::String &sSecKey)