Public Member Functions | List of all members
FileServingHttpWebApp Class Reference

An HTTP web application handler that serve files from the file system. More...

#include <FileServingHttpWebApp.hpp>

Inheritance diagram for FileServingHttpWebApp:
[legend]
Collaboration diagram for FileServingHttpWebApp:
[legend]

Public Member Functions

 FileServingHttpWebApp (Resource::File documentRoot_, std::string defaultFile_="index.html")
 Construct a file serving web application. More...
 
 FileServingHttpWebApp (const EnvironmentProperties &configuration, const BalauLogger &logger)
 Constructor called by the HTTP server during construction. More...
 
void handleGetRequest (HttpSession &session, const StringRequest &request, std::map< std::string, std::string > &variables) override
 Handle a GET request. More...
 
void handleHeadRequest (HttpSession &session, const StringRequest &request, std::map< std::string, std::string > &variables) override
 Handle a HEAD request. More...
 
void handlePostRequest (HttpSession &session, const StringRequest &request, std::map< std::string, std::string > &variables) override
 Handle a POST request. More...
 
- Public Member Functions inherited from HttpWebApp
virtual ~HttpWebApp ()=default
 Destroy the HTTP web application instance. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from HttpWebApp
static EmptyResponse createBadRequestHeadResponse (HttpSession &session, const StringRequest &request)
 Create a bad request response for a head request. More...
 
static StringResponse createBadRequestResponse (HttpSession &session, const StringRequest &request, std::string_view errorMessage)
 Create a bad request response. More...
 
static EmptyResponse createNotFoundHeadResponse (HttpSession &session, const StringRequest &request)
 Create a not found response for a head request. More...
 
static StringResponse createNotFoundStringResponse (HttpSession &session, const StringRequest &request)
 Create a not found response. More...
 
static EmptyResponse createOkHeadResponse (HttpSession &session, const StringRequest &request)
 Create an empty 200 response for a head request. More...
 
static StringResponse createOkResponse (HttpSession &session, const StringRequest &request)
 Create an empty 200 response. More...
 
static EmptyResponse createPermanentRedirectResponse (HttpSession &session, const StringRequest &request, std::string_view location)
 Create a permanent redirect response. More...
 
static EmptyResponse createRedirectResponse (HttpSession &session, const StringRequest &request, std::string_view location)
 Create a redirect response. More...
 
static EmptyResponse createServerErrorHeadResponse (HttpSession &session, const StringRequest &request)
 Create a server error response for a head request. More...
 
static StringResponse createServerErrorResponse (HttpSession &session, const StringRequest &request, std::string_view errorMessage)
 Create a server error response. More...
 
template<typename WebAppT >
static void registerHttpWebApp (const std::string &name)
 Register an HTTP web application. More...
 

Detailed Description

An HTTP web application handler that serve files from the file system.

Constructor & Destructor Documentation

◆ FileServingHttpWebApp() [1/2]

FileServingHttpWebApp ( Resource::File  documentRoot_,
std::string  defaultFile_ = "index.html" 
)
explicit

Construct a file serving web application.

Parameters
documentRoot_a local file system folder that is the root of the file hierarchy to serve
defaultFile_the default file to serve if only a folder has been specified as the path

◆ FileServingHttpWebApp() [2/2]

FileServingHttpWebApp ( const EnvironmentProperties configuration,
const BalauLogger &  logger 
)

Constructor called by the HTTP server during construction.

Parameters
configurationThe environment configuration for the file server web application.

Member Function Documentation

◆ handleGetRequest()

void handleGetRequest ( HttpSession session,
const StringRequest request,
std::map< std::string, std::string > &  variables 
)
overridevirtual

Handle a GET request.

The supplied session provides shared server state and the sendResponse method.

Parameters
sessionthe HTTP session object, also containing the client session
requestthe HTTP request object
variablesthe request variables that are generated and consumed during the request

Implements HttpWebApp.

◆ handleHeadRequest()

void handleHeadRequest ( HttpSession session,
const StringRequest request,
std::map< std::string, std::string > &  variables 
)
overridevirtual

Handle a HEAD request.

The supplied session provides shared server state and the sendResponse method.

Parameters
sessionthe HTTP session object, also containing the client session
requestthe HTTP request object
variablesthe request variables that are generated and consumed during the request

Implements HttpWebApp.

◆ handlePostRequest()

void handlePostRequest ( HttpSession session,
const StringRequest request,
std::map< std::string, std::string > &  variables 
)
overridevirtual

Handle a POST request.

The supplied session provides shared server state and the sendResponse method.

Parameters
sessionthe HTTP session object, also containing the client session
requestthe HTTP request object
variablesthe request variables that are generated and consumed during the request

Implements HttpWebApp.


The documentation for this class was generated from the following file: