NVIDIA Iray API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
mi::http::ICGIRequest_handler Class Referenceabstract

CGI request handlers are responsible for handling HTTP requests. More...

Inheritance diagram for mi::http::ICGIRequest_handler:
Inheritance graph
[legend]

Public Member Functions

virtual bool  handle (IConnection *connection)=0
  Handles a request coming in on a connection. More...
 

Additional Inherited Members

- Public Types inherited from mi::base::Interface_declare< 0xa7fe482e, 0x65f8, 0x4a4c, 0x87, 0x21, 0xff, 0x19, 0x21, 0x36, 0xda, 0xe0 >
typedef Interface_declare< id1,
id2, id3, id4, id5, id6, id7,
id8, id9, id10, id11,
IInterface
Self
  Own type. More...
 
typedef Uuid_t< id1, id2, id3,
id4, id5, id6, id7, id8, id9,
id10, id11 > 
IID
  Declares the interface ID (IID) of this interface. More...
 
- Static Public Member Functions inherited from mi::base::Interface_declare< 0xa7fe482e, 0x65f8, 0x4a4c, 0x87, 0x21, 0xff, 0x19, 0x21, 0x36, 0xda, 0xe0 >
static bool  compare_iid (const Uuid &iid)
  Compares the interface ID iid against the interface ID of this interface and of its ancestors. More...
 

Detailed Description

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.

See Also
mi::http::IServer::install(ICGIRequest_handler*), mi::http::IServer::remove(ICGIRequest_handler*)

Member Function Documentation

virtual bool mi::http::ICGIRequest_handler::handle ( IConnection connection)
pure virtual

Handles a request coming in on a connection.

Returns true, if the reuquest 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.

Parameters
connection The connection on which the request came in.
Returns
true, if the request was completely handled, or false otherwise.