#include <http.h>
Inheritance diagram for PHTTPResource:
Public Member Functions | |
virtual | ~PHTTPResource () |
const PURL & | GetURL () const |
const PString & | GetContentType () const |
PHTTPAuthority * | GetAuthority () const |
void | SetAuthority (const PHTTPAuthority &auth) |
void | ClearAuthority () |
DWORD | GetHitCount () const |
void | ClearHitCount () |
virtual PBoolean | OnGET (PHTTPServer &server, const PURL &url, const PMIMEInfo &info, const PHTTPConnectionInfo &conInfo) |
virtual PBoolean | OnGETData (PHTTPServer &server, const PURL &url, const PHTTPConnectionInfo &connectInfo, PHTTPRequest &request) |
virtual PBoolean | OnHEAD (PHTTPServer &server, const PURL &url, const PMIMEInfo &info, const PHTTPConnectionInfo &conInfo) |
virtual PBoolean | OnPOST (PHTTPServer &server, const PURL &url, const PMIMEInfo &info, const PStringToString &data, const PHTTPConnectionInfo &conInfo) |
virtual PBoolean | OnPOSTData (PHTTPRequest &request, const PStringToString &data) |
virtual PBoolean | IsModifiedSince (const PTime &when) |
virtual PBoolean | GetExpirationDate (PTime &when) |
virtual PHTTPRequest * | CreateRequest (const PURL &url, const PMIMEInfo &inMIME, const PMultipartFormInfoArray &multipartFormInfo, PHTTPServer &socket) |
virtual PBoolean | LoadHeaders (PHTTPRequest &request)=0 |
virtual void | SendData (PHTTPRequest &request) |
virtual PBoolean | LoadData (PHTTPRequest &request, PCharArray &data) |
virtual PString | LoadText (PHTTPRequest &request) |
virtual void | OnLoadedText (PHTTPRequest &request, PString &text) |
virtual PBoolean | Post (PHTTPRequest &request, const PStringToString &data, PHTML &replyMessage) |
Protected Member Functions | |
PHTTPResource (const PURL &url) | |
PHTTPResource (const PURL &url, const PHTTPAuthority &auth) | |
PHTTPResource (const PURL &url, const PString &contentType) | |
PHTTPResource (const PURL &url, const PString &contentType, const PHTTPAuthority &auth) | |
virtual PBoolean | CheckAuthority (PHTTPServer &server, const PHTTPRequest &request, const PHTTPConnectionInfo &conInfo) |
virtual PBoolean | OnGETOrHEAD (PHTTPServer &server, const PURL &url, const PMIMEInfo &info, const PHTTPConnectionInfo &conInfo, PBoolean IsGet) |
Static Protected Member Functions | |
static PBoolean | CheckAuthority (PHTTPAuthority &authority, PHTTPServer &server, const PHTTPRequest &request, const PHTTPConnectionInfo &connectInfo) |
Protected Attributes | |
PURL | baseURL |
Base URL for the resource, may accept URLS with a longer hierarchy. | |
PString | contentType |
MIME content type for the resource. | |
PHTTPAuthority * | authority |
Authorisation method for the resource. | |
volatile DWORD | hitCount |
COunt of number of times resource was accessed. |
PHTTPResource::PHTTPResource | ( | const PURL & | url | ) | [protected] |
url | Name of the resource in URL space. |
PHTTPResource::PHTTPResource | ( | const PURL & | url, | |
const PHTTPAuthority & | auth | |||
) | [protected] |
url | Name of the resource in URL space. |
auth | Authorisation for the resource. |
url | Name of the resource in URL space. |
contentType | MIME content type for the resource. |
PHTTPResource::PHTTPResource | ( | const PURL & | url, | |
const PString & | contentType, | |||
const PHTTPAuthority & | auth | |||
) | [protected] |
url | Name of the resource in URL space. |
contentType | MIME content type for the resource. |
auth | Authorisation for the resource. |
virtual PHTTPResource::~PHTTPResource | ( | ) | [virtual] |
const PURL& PHTTPResource::GetURL | ( | ) | const [inline] |
Get the URL for this resource.
const PString& PHTTPResource::GetContentType | ( | ) | const [inline] |
Get the current content type for the resource.
PHTTPAuthority* PHTTPResource::GetAuthority | ( | ) | const [inline] |
Get the current authority for the resource.
void PHTTPResource::SetAuthority | ( | const PHTTPAuthority & | auth | ) |
Set the current authority for the resource.
auth | authority to set |
void PHTTPResource::ClearAuthority | ( | ) |
Set the current authority for the resource to unrestricted.
DWORD PHTTPResource::GetHitCount | ( | ) | const [inline] |
Get the current hit count for the resource. This is the total number of times the resource was asked for by a remote client.
void PHTTPResource::ClearHitCount | ( | ) | [inline] |
virtual PBoolean PHTTPResource::OnGET | ( | PHTTPServer & | server, | |
const PURL & | url, | |||
const PMIMEInfo & | info, | |||
const PHTTPConnectionInfo & | conInfo | |||
) | [virtual] |
Handle the GET command passed from the HTTP socket.
The default action is to check the authorisation for the resource and call the virtuals LoadHeaders()# and OnGETData()# to get a resource to be sent to the socket.
server | HTTP server that received the request |
url | Universal Resource Locator for document. |
info | Extra MIME information in command. |
conInfo | HTTP connection information |
virtual PBoolean PHTTPResource::OnGETData | ( | PHTTPServer & | server, | |
const PURL & | url, | |||
const PHTTPConnectionInfo & | connectInfo, | |||
PHTTPRequest & | request | |||
) | [virtual] |
Send the data associated with a GET command.
The default action calls SendData()#.
server | HTTP server that received the request |
url | Universal Resource Locator for document |
connectInfo | HTTP connection information |
request | request state information |
virtual PBoolean PHTTPResource::OnHEAD | ( | PHTTPServer & | server, | |
const PURL & | url, | |||
const PMIMEInfo & | info, | |||
const PHTTPConnectionInfo & | conInfo | |||
) | [virtual] |
Handle the HEAD command passed from the HTTP socket.
The default action is to check the authorisation for the resource and call the virtual LoadHeaders()# to get the header information to be sent to the socket.
server | HTTP server that received the request |
url | Universal Resource Locator for document. |
info | Extra MIME information in command. |
conInfo | HTTP connection information |
virtual PBoolean PHTTPResource::OnPOST | ( | PHTTPServer & | server, | |
const PURL & | url, | |||
const PMIMEInfo & | info, | |||
const PStringToString & | data, | |||
const PHTTPConnectionInfo & | conInfo | |||
) | [virtual] |
Handle the POST command passed from the HTTP socket.
The default action is to check the authorisation for the resource and call the virtual Post()# function to handle the data being received.
server | HTTP server that received the request |
url | Universal Resource Locator for document. |
info | Extra MIME information in command. |
data | Variables in the POST data. |
conInfo | HTTP connection information |
Reimplemented in PConfigPage, and PConfigSectionsPage.
virtual PBoolean PHTTPResource::OnPOSTData | ( | PHTTPRequest & | request, | |
const PStringToString & | data | |||
) | [virtual] |
Send the data associated with a POST command.
The default action calls Post()#.
request | request information |
data | Variables in the POST data. |
Reimplemented in PXMLRPCServerResource.
Check to see if the resource has been modified since the date specified.
when | Time to see if modified later than |
Get a block of data (eg HTML) that the resource contains.
when | Time that the resource expires |
Reimplemented in PConfigPage, PConfigSectionsPage, PServiceHTTPString, PServiceHTTPFile, and PServiceHTTPDirectory.
virtual PHTTPRequest* PHTTPResource::CreateRequest | ( | const PURL & | url, | |
const PMIMEInfo & | inMIME, | |||
const PMultipartFormInfoArray & | multipartFormInfo, | |||
PHTTPServer & | socket | |||
) | [virtual] |
Create a new request block for this type of resource.
The default behaviour is to create a new PHTTPRequest instance.
url | Universal Resource Locator for document. |
inMIME | Extra MIME information in command. |
multipartFormInfo | additional information for multi-part posts |
socket | socket used for request |
Reimplemented in PHTTPFile, and PHTTPDirectory.
virtual PBoolean PHTTPResource::LoadHeaders | ( | PHTTPRequest & | request | ) | [pure virtual] |
Get the headers for block of data (eg HTML) that the resource contains. This will fill in all the fields of the outMIME
parameter required by the resource and return the status for the load.
request | Information on this request. |
Implemented in PHTTPString, PHTTPFile, PHTTPTailFile, PHTTPDirectory, and PXMLRPCServerResource.
virtual void PHTTPResource::SendData | ( | PHTTPRequest & | request | ) | [virtual] |
Send the data associated with a command.
The default action is to call the virtual LoadData()# to get a resource to be sent to the socket.
request | information for this request |
virtual PBoolean PHTTPResource::LoadData | ( | PHTTPRequest & | request, | |
PCharArray & | data | |||
) | [virtual] |
Get a block of data that the resource contains.
The default behaviour is to call the LoadText()# function and if successful, call the OnLoadedText()# function.
request | Information on this request. |
data | Data used in reply. |
Reimplemented in PHTTPFile, and PHTTPTailFile.
virtual PString PHTTPResource::LoadText | ( | PHTTPRequest & | request | ) | [virtual] |
Get a block of text data (eg HTML) that the resource contains.
The default behaviour is to assert, one of LoadText()# or LoadData()# functions must be overridden for correct operation.
request | Information on this request. |
Reimplemented in PHTTPString, PHTTPFile, PHTTPDirectory, PRegisterPage, and PServiceHTTPString.
virtual void PHTTPResource::OnLoadedText | ( | PHTTPRequest & | request, | |
PString & | text | |||
) | [virtual] |
This is called after the text has been loaded and may be used to customise or otherwise mangle a loaded piece of text. Typically this is used with HTML responses.
The default action for this function is to do nothing.
request | Information on this request. |
text | Data used in reply. |
Reimplemented in PHTTPForm, PHTTPConfig, PHTTPConfigSectionList, PConfigPage, PConfigSectionsPage, PRegisterPage, PServiceHTTPFile, and PServiceHTTPDirectory.
virtual PBoolean PHTTPResource::Post | ( | PHTTPRequest & | request, | |
const PStringToString & | data, | |||
PHTML & | replyMessage | |||
) | [virtual] |
Get a block of data (eg HTML) that the resource contains.
The default action for this function is to do nothing and return success.
request | Information on this request. |
data | Variables in the POST data. |
replyMessage | Reply message for post. |
Reimplemented in PHTTPForm, PHTTPConfig, PHTTPConfigSectionList, PConfigPage, PConfigSectionsPage, and PRegisterPage.
virtual PBoolean PHTTPResource::CheckAuthority | ( | PHTTPServer & | server, | |
const PHTTPRequest & | request, | |||
const PHTTPConnectionInfo & | conInfo | |||
) | [protected, virtual] |
See if the resource is authorised given the mime info
server | Server to send response to. |
request | Information on this request. |
conInfo | Information on the connection |
Reimplemented in PHTTPDirectory.
static PBoolean PHTTPResource::CheckAuthority | ( | PHTTPAuthority & | authority, | |
PHTTPServer & | server, | |||
const PHTTPRequest & | request, | |||
const PHTTPConnectionInfo & | connectInfo | |||
) | [static, protected] |
virtual PBoolean PHTTPResource::OnGETOrHEAD | ( | PHTTPServer & | server, | |
const PURL & | url, | |||
const PMIMEInfo & | info, | |||
const PHTTPConnectionInfo & | conInfo, | |||
PBoolean | IsGet | |||
) | [protected, virtual] |
common code for GET and HEAD commands
server | HTTP server that received the request |
url | Universal Resource Locator for document. |
info | Extra MIME information in command. |
PURL PHTTPResource::baseURL [protected] |
Base URL for the resource, may accept URLS with a longer hierarchy.
PString PHTTPResource::contentType [protected] |
MIME content type for the resource.
PHTTPAuthority* PHTTPResource::authority [protected] |
Authorisation method for the resource.
volatile DWORD PHTTPResource::hitCount [protected] |
COunt of number of times resource was accessed.