12 #ifndef _HttpServer_h_ 13 #define _HttpServer_h_ 19 #include <utl/UtlInt.h> 20 #include <utl/UtlHashMap.h> 21 #include <utl/UtlHashBag.h> 22 #include <os/OsTask.h> 23 #include <os/OsConfigDb.h> 27 #define MAX_PERSISTENT_HTTP_CONNECTIONS 5 39 class OsConnectionSocket;
54 HttpServer(OsServerSocket *pSocket, OsConfigDb* userPasswordDb,
55 const char* realm, OsConfigDb* validIpAddressDB = NULL,
56 bool bPersistentConnection =
false);
65 virtual int run(
void* runArg);
91 const char* text = 0);
100 static UtlBoolean
mapUri(OsConfigDb& configDb,
const char* uri, UtlString& mappedUri);
102 void addUriMap(
const char* fromUri,
const char* toUri);
118 UtlString& userPasswordDigest);
126 void getDigest(
const char* user,
const char* password,
127 UtlString& userPasswordDigest) ;
131 void removeUser(
const char* user,
const char* password) ;
133 static void constructFileList(UtlString & indexText, UtlString uri, UtlString uriFilename) ;
148 const OsConnectionSocket* connection
184 OsServerSocket* mpServerSocket;
185 OsConfigDb * mpUserPasswordDigestDb;
186 OsConfigDb * mpUserPasswordBasicDb;
187 OsConfigDb * mpValidIpAddressDB;
189 OsConfigDb * mpNonceDb;
191 UtlHashMap mRequestProcessorMethods;
192 UtlHashMap mHttpServices;
193 bool mAllowMappedFiles;
194 UtlHashBag mValidIpAddrList;
195 UtlBoolean mbPersistentConnection;
196 int mHttpConnections;
197 UtlSList* mpHttpConnectionList;
202 #endif // _HttpServer_h_ HttpServer(OsServerSocket *pSocket, OsConfigDb *userPasswordDb, const char *realm, OsConfigDb *validIpAddressDB=NULL, bool bPersistentConnection=false)
Definition: HttpServer.cpp:87
static void processUserNotAuthorized(const HttpRequestContext &requestContext, const HttpMessage &request, HttpMessage *&response, const char *text=0)
Definition: HttpServer.cpp:1359
static void constructFileList(UtlString &indexText, UtlString uri, UtlString uriFilename)
Definition: HttpServer.cpp:863
static void testCgiRequest(const HttpRequestContext &requestContext, const HttpMessage &request, HttpMessage *&response)
Definition: HttpServer.cpp:1392
virtual int run(void *runArg)
Definition: HttpServer.cpp:226
static void processFileNotFound(const HttpRequestContext &requestContext, const HttpMessage &request, HttpMessage *&response)
Definition: HttpServer.cpp:1343
void setPasswordDigest(const char *user, const char *password, UtlString &userPasswordDigest)
Definition: HttpServer.cpp:1523
void addRequestProcessor(const char *fileUrl, RequestProcessor *requestProcessor)
Definition: HttpServer.cpp:1497
static void processFileRequest(const HttpRequestContext &requestContext, const HttpMessage &request, HttpMessage *&response)
Definition: HttpServer.cpp:697
static void processPostFile(const HttpRequestContext &requestContext, const HttpMessage &request, HttpMessage *&response)
Definition: HttpServer.cpp:1019
HTTP message container.
Definition: HttpMessage.h:191
void setPasswordBasic(const char *user, const char *password)
void removeUser(const char *user, const char *password)
Definition: HttpServer.cpp:1577
Definition: HttpConnection.h:31
void processPutRequest(const HttpRequestContext &requestContext, const HttpMessage &request, HttpMessage *&response)
Definition: HttpServer.cpp:1011
void getFile(const char *fileName, HttpBody *&body)
void putFile(const char *fileName, HttpBody &body)
static void createHtmlResponse(int responseCode, const char *responseCodeText, const char *htmlBodyText, HttpMessage *&response)
Definition: HttpServer.cpp:1475
Definition: HttpServer.h:46
UtlBoolean findRequestProcessor(const char *fileUri, RequestProcessor *&requestProcessor)
Definition: HttpServer.cpp:1597
virtual ~HttpServer()
Definition: HttpServer.cpp:153
UtlBoolean findHttpService(const char *fileUri, HttpService *&service)
Definition: HttpServer.cpp:1615
Definition: HttpRequestContext.h:37
void addUriMap(const char *fromUri, const char *toUri)
Definition: HttpServer.cpp:1489
static int doPostFile(const HttpRequestContext &requestContext, const HttpMessage &request, HttpMessage *&response, UtlString &status)
Definition: HttpServer.cpp:1027
static void processNotSupportedRequest(const HttpRequestContext &requestContext, const HttpMessage &request, HttpMessage *&response)
Definition: HttpServer.cpp:1326
void processRequest(const HttpMessage &request, HttpMessage *&response, const OsConnectionSocket *connection)
Definition: HttpServer.cpp:581
void allowFileAccess(bool fileAccess)
set permission for access to mapped file names
Definition: HttpServer.cpp:691
class to contain an HTTP body
Definition: HttpBody.h:55
A HttpService is a dynamically loaded object that is invoked by the HttpServer during the runtime...
Definition: HttpService.h:40
OsStatus getStatus()
Definition: HttpServer.cpp:221
void getDigest(const char *user, const char *password, UtlString &userPasswordDigest)
Definition: HttpServer.cpp:1567
void loadValidIpAddrList()
Definition: HttpServer.cpp:120
void RequestProcessor(const HttpRequestContext &requestContext, const HttpMessage &request, HttpMessage *&response)
Definition: HttpServer.h:104
UtlBoolean processRequestIpAddr(const UtlString &remoteIp, const HttpMessage &request, HttpMessage *&response)
Definition: HttpServer.cpp:556
static UtlBoolean mapUri(OsConfigDb &configDb, const char *uri, UtlString &mappedUri)
Definition: HttpServer.cpp:1630
void addHttpService(const char *fileUrl, HttpService *service)
Definition: HttpServer.cpp:1511
UtlBoolean isRequestAuthorized(const HttpMessage &request, HttpMessage *&response, UtlString &userId)
Definition: HttpServer.cpp:351