mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-05 00:11:16 -05:00
54 lines
1.4 KiB
C
54 lines
1.4 KiB
C
|
/**
|
||
|
@file
|
||
|
@author Stefan Frings
|
||
|
*/
|
||
|
|
||
|
#ifndef HTTPREQUESTHANDLER_H
|
||
|
#define HTTPREQUESTHANDLER_H
|
||
|
|
||
|
#include "httpglobal.h"
|
||
|
#include "httprequest.h"
|
||
|
#include "httpresponse.h"
|
||
|
|
||
|
namespace stefanfrings {
|
||
|
|
||
|
/**
|
||
|
The request handler generates a response for each HTTP request. Web Applications
|
||
|
usually have one central request handler that maps incoming requests to several
|
||
|
controllers (servlets) based on the requested path.
|
||
|
<p>
|
||
|
You need to override the service() method or you will always get an HTTP error 501.
|
||
|
<p>
|
||
|
@warning Be aware that the main request handler instance must be created on the heap and
|
||
|
that it is used by multiple threads simultaneously.
|
||
|
@see StaticFileController which delivers static local files.
|
||
|
*/
|
||
|
|
||
|
class DECLSPEC HttpRequestHandler : public QObject {
|
||
|
Q_OBJECT
|
||
|
Q_DISABLE_COPY(HttpRequestHandler)
|
||
|
public:
|
||
|
|
||
|
/**
|
||
|
* Constructor.
|
||
|
* @param parent Parent object.
|
||
|
*/
|
||
|
HttpRequestHandler(QObject* parent=NULL);
|
||
|
|
||
|
/** Destructor */
|
||
|
virtual ~HttpRequestHandler();
|
||
|
|
||
|
/**
|
||
|
Generate a response for an incoming HTTP request.
|
||
|
@param request The received HTTP request
|
||
|
@param response Must be used to return the response
|
||
|
@warning This method must be thread safe
|
||
|
*/
|
||
|
virtual void service(HttpRequest& request, HttpResponse& response);
|
||
|
|
||
|
};
|
||
|
|
||
|
} // end of namespace
|
||
|
|
||
|
#endif // HTTPREQUESTHANDLER_H
|