CGI request handlers are responsible for handling HTTP requests. More...
#include <http.h>
Public Member Functions | |
virtual bool | handle (IConnection *connection)=0 |
Handles a request coming in on a connection. More... | |
Public Member Functions inherited from mi::base::IInterface | |
virtual Uint32 | retain () const =0 |
Increments the reference count. More... | |
virtual Uint32 | release () const =0 |
Decrements the reference count. More... | |
virtual const IInterface * | get_interface (const Uuid &interface_id) const =0 |
Acquires a const interface from another. More... | |
template<class T> | |
const T * | get_interface () const |
Acquires a const interface from another. More... | |
virtual IInterface * | get_interface (const Uuid &interface_id)=0 |
Acquires a mutable interface from another. More... | |
template<class T> | |
T * | get_interface () |
Acquires a mutable interface from another. More... | |
virtual Uuid | get_iid () const =0 |
Returns the interface ID of the most derived interface. More... | |
Additional Inherited Members | |
Public Types inherited from mi::base::Interface_declare< 0xa7fe482e, ... > | |
typedef Interface_declare< id1, ... > | Self |
Own type. More... | |
typedef Uuid_t< id1, ... > | IID |
Declares the interface ID (IID) of this interface. More... | |
Public Types inherited from mi::base::IInterface | |
typedef Uuid_t<0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0> | IID |
Declares the interface ID (IID) of this interface. More... | |
Static Public Member Functions inherited from mi::base::Interface_declare< 0xa7fe482e, ... > | |
static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface and of its ancestors. More... | |
Static Public Member Functions inherited from mi::base::IInterface | |
static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface. More... | |
CGI request handlers are responsible for handling HTTP requests.
CGI handlers are very similar to normal request handlers, but they will be called before any body data has been processed. They can then be used to consume the data by calling mi::http::IConnection::read_data() on the connection until all data is consumed.
For every request the handlers are asked if they are responsible for the request. They will be asked in the order they where added. If the handle()
function of a handler returns true
the subsequent handlers will not be asked anymore.
|
pure virtual |
Handles a request coming in on a connection.
Returns true
, if the request was was completely handled, i.e., no more handlers should be called. Returns false
, if the request was not completely handled, i.e., the subsequent handlers should be called. In the latter case no calls to mi::http::IConnection::print() or mi::http::IConnection::enqueue() must have been used on the connection.
connection | The connection on which the request came in. |
true
, if the request was completely handled, or false
otherwise.