trunk 20080912
[gitenigma.git] / include / lib / system / http_dyn.h
blobe1639a0646b6cd842f5c74078a9b6ce454db6d2b
1 #ifndef __http_dyn_h_
2 #define __http_dyn_h_
3 #include "httpd.h"
4 #include <lib/base/estring.h>
6 class eHTTPDyn: public eHTTPDataSource
8 eString result;
9 int wptr, size;
10 public:
11 eHTTPDyn(eHTTPConnection *c, eString result);
12 ~eHTTPDyn();
13 int doWrite(int);
16 class eHTTPDynPathResolver: public eHTTPPathResolver
18 struct eHTTPDynEntry
20 eString request, path;
21 eString (*function)(eString request, eString path, eString opt, eHTTPConnection *content);
22 bool mustAuth;
24 eHTTPDynEntry(eString request, eString path, eString (*function)(eString, eString, eString, eHTTPConnection *), bool auth)
25 : request(request), path(path), function(function), mustAuth(auth)
29 ePtrList<eHTTPDynEntry> dyn;
30 public:
31 void addDyn(eString request, eString path, eString (*function)(eString, eString, eString, eHTTPConnection *conn), bool mustAuth=false );
32 eHTTPDynPathResolver();
33 eHTTPDataSource *getDataSource(eString request, eString path, eHTTPConnection *conn);
36 #endif