sipxtacklib  Version 3.3
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends | List of all members
HttpServer Class Reference

#include <HttpServer.h>

Inheritance diagram for HttpServer:
Inheritance graph
[legend]
Collaboration diagram for HttpServer:
Collaboration graph
[legend]

Public Types

typedef void RequestProcessor(const HttpRequestContext &requestContext, const HttpMessage &request, HttpMessage *&response)
 

Public Member Functions

 HttpServer (OsServerSocket *pSocket, OsConfigDb *userPasswordDb, const char *realm, OsConfigDb *validIpAddressDB=NULL, bool bPersistentConnection=false)
 
virtual ~HttpServer ()
 
virtual int run (void *runArg)
 
void addUriMap (const char *fromUri, const char *toUri)
 
void addRequestProcessor (const char *fileUrl, RequestProcessor *requestProcessor)
 
void addHttpService (const char *fileUrl, HttpService *service)
 
void allowFileAccess (bool fileAccess)
 set permission for access to mapped file names More...
 
void setPasswordDigest (const char *user, const char *password, UtlString &userPasswordDigest)
 
void setPasswordDigest (const char *user, const char *passwordDigest)
 added by Pradeep: This takes an already encrypted password and sets it as the new encrypted password. More...
 
void getDigest (const char *user, const char *password, UtlString &userPasswordDigest)
 
void setPasswordBasic (const char *user, const char *password)
 
void removeUser (const char *user, const char *password)
 
OsStatus getStatus ()
 

Static Public Member Functions

static void processPostFile (const HttpRequestContext &requestContext, const HttpMessage &request, HttpMessage *&response)
 
static int doPostFile (const HttpRequestContext &requestContext, const HttpMessage &request, HttpMessage *&response, UtlString &status)
 
static void processFileRequest (const HttpRequestContext &requestContext, const HttpMessage &request, HttpMessage *&response)
 
static void processNotSupportedRequest (const HttpRequestContext &requestContext, const HttpMessage &request, HttpMessage *&response)
 
static void processFileNotFound (const HttpRequestContext &requestContext, const HttpMessage &request, HttpMessage *&response)
 
static void processUserNotAuthorized (const HttpRequestContext &requestContext, const HttpMessage &request, HttpMessage *&response, const char *text=0)
 
static void createHtmlResponse (int responseCode, const char *responseCodeText, const char *htmlBodyText, HttpMessage *&response)
 
static void testCgiRequest (const HttpRequestContext &requestContext, const HttpMessage &request, HttpMessage *&response)
 
static UtlBoolean mapUri (OsConfigDb &configDb, const char *uri, UtlString &mappedUri)
 
static void constructFileList (UtlString &indexText, UtlString uri, UtlString uriFilename)
 

Protected Member Functions

void processRequest (const HttpMessage &request, HttpMessage *&response, const OsConnectionSocket *connection)
 
UtlBoolean processRequestIpAddr (const UtlString &remoteIp, const HttpMessage &request, HttpMessage *&response)
 
UtlBoolean isRequestAuthorized (const HttpMessage &request, HttpMessage *&response, UtlString &userId)
 
void processPutRequest (const HttpRequestContext &requestContext, const HttpMessage &request, HttpMessage *&response)
 
void getFile (const char *fileName, HttpBody *&body)
 
void putFile (const char *fileName, HttpBody &body)
 
UtlBoolean findRequestProcessor (const char *fileUri, RequestProcessor *&requestProcessor)
 
UtlBoolean findHttpService (const char *fileUri, HttpService *&service)
 
void loadValidIpAddrList ()
 

Friends

class HttpConnection
 

Member Typedef Documentation

typedef void RequestProcessor(const HttpRequestContext &requestContext, const HttpMessage &request, HttpMessage *&response)

Constructor & Destructor Documentation

HttpServer ( OsServerSocket *  pSocket,
OsConfigDb *  userPasswordDb,
const char *  realm,
OsConfigDb *  validIpAddressDB = NULL,
bool  bPersistentConnection = false 
)
~HttpServer ( )
virtual

Member Function Documentation

int run ( void *  runArg)
virtual
void processPostFile ( const HttpRequestContext requestContext,
const HttpMessage request,
HttpMessage *&  response 
)
static
int doPostFile ( const HttpRequestContext requestContext,
const HttpMessage request,
HttpMessage *&  response,
UtlString &  status 
)
static
void processFileRequest ( const HttpRequestContext requestContext,
const HttpMessage request,
HttpMessage *&  response 
)
static
void processNotSupportedRequest ( const HttpRequestContext requestContext,
const HttpMessage request,
HttpMessage *&  response 
)
static
void processFileNotFound ( const HttpRequestContext requestContext,
const HttpMessage request,
HttpMessage *&  response 
)
static
void processUserNotAuthorized ( const HttpRequestContext requestContext,
const HttpMessage request,
HttpMessage *&  response,
const char *  text = 0 
)
static
void createHtmlResponse ( int  responseCode,
const char *  responseCodeText,
const char *  htmlBodyText,
HttpMessage *&  response 
)
static
void testCgiRequest ( const HttpRequestContext requestContext,
const HttpMessage request,
HttpMessage *&  response 
)
static
UtlBoolean mapUri ( OsConfigDb &  configDb,
const char *  uri,
UtlString &  mappedUri 
)
static
void addUriMap ( const char *  fromUri,
const char *  toUri 
)
void addRequestProcessor ( const char *  fileUrl,
RequestProcessor requestProcessor 
)
void addHttpService ( const char *  fileUrl,
HttpService service 
)
void allowFileAccess ( bool  fileAccess)

set permission for access to mapped file names

Parameters
fileAccesstrue => allow access, false => disallow access
void setPasswordDigest ( const char *  user,
const char *  password,
UtlString &  userPasswordDigest 
)
void setPasswordDigest ( const char *  user,
const char *  passwordDigest 
)

added by Pradeep: This takes an already encrypted password and sets it as the new encrypted password.

void getDigest ( const char *  user,
const char *  password,
UtlString &  userPasswordDigest 
)
void setPasswordBasic ( const char *  user,
const char *  password 
)
void removeUser ( const char *  user,
const char *  password 
)
void constructFileList ( UtlString &  indexText,
UtlString  uri,
UtlString  uriFilename 
)
static
OsStatus getStatus ( )
void processRequest ( const HttpMessage request,
HttpMessage *&  response,
const OsConnectionSocket *  connection 
)
protected
Parameters
requestrequest to be dispatched
responsebuild response in this message
connectionfor access to security info
UtlBoolean processRequestIpAddr ( const UtlString &  remoteIp,
const HttpMessage request,
HttpMessage *&  response 
)
protected
UtlBoolean isRequestAuthorized ( const HttpMessage request,
HttpMessage *&  response,
UtlString &  userId 
)
protected
void processPutRequest ( const HttpRequestContext requestContext,
const HttpMessage request,
HttpMessage *&  response 
)
protected
void getFile ( const char *  fileName,
HttpBody *&  body 
)
protected
void putFile ( const char *  fileName,
HttpBody body 
)
protected
UtlBoolean findRequestProcessor ( const char *  fileUri,
RequestProcessor *&  requestProcessor 
)
protected
UtlBoolean findHttpService ( const char *  fileUri,
HttpService *&  service 
)
protected
void loadValidIpAddrList ( )
protected

Friends And Related Function Documentation

friend class HttpConnection
friend

sipXtackLib home page