PTLib  Version 2.14.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PSOAPServerResource Class Reference

This resource will bind the methods to an http resource (a url) More...

#include <psoap.h>

Inheritance diagram for PSOAPServerResource:
Collaboration diagram for PSOAPServerResource:

Public Member Functions

 PSOAPServerResource ()
 
 PSOAPServerResource (const PHTTPAuthority &auth)
 
 PSOAPServerResource (const PURL &url)
 
 PSOAPServerResource (const PURL &url, const PHTTPAuthority &auth)
 
PBoolean LoadHeaders (PHTTPRequest &request)
 Get the headers for block of data (eg HTML) that the resource contains. More...
 
PBoolean OnPOSTData (PHTTPRequest &request, const PStringToString &data)
 Send the data associated with a POST command. More...
 
virtual PBoolean OnSOAPRequest (const PString &body, PString &reply)
 
virtual PBoolean SetMethod (const PString &methodName, const PNotifier &func)
 
PBoolean OnSOAPRequest (const PString &methodName, PSOAPMessage &request, PString &reply)
 
virtual PSOAPMessage FormatFault (PINDEX code, const PString &str)
 
void SetSOAPAction (PString saction)
 Use this method to have the server check for SOAPAction field in HTTP header. More...
 
- Public Member Functions inherited from PHTTPResource
virtual ~PHTTPResource ()
 
const PURLGetURL () const
 Get the URL for this resource. More...
 
PString GetHotLink () const
 Get relative hot link for this resouce. More...
 
const PStringGetContentType () const
 Get the current content type for the resource. More...
 
PHTTPAuthorityGetAuthority () const
 Get the current authority for the resource. More...
 
void SetAuthority (const PHTTPAuthority &auth)
 Set the current authority for the resource. More...
 
void ClearAuthority ()
 Set the current authority for the resource to unrestricted. More...
 
DWORD GetHitCount () const
 Get the current hit count for the resource. More...
 
void ClearHitCount ()
 Clear the hit count for the resource. More...
 
virtual bool OnWebSocket (PHTTPServer &server, PHTTPConnectionInfo &connectInfo)
 Called when a request indicates a swtch to WebSocket protocol. More...
 
virtual PBoolean OnGET (PHTTPServer &server, const PURL &url, const PMIMEInfo &info, const PHTTPConnectionInfo &conInfo)
 Handle the GET command passed from the HTTP socket. More...
 
virtual PBoolean OnGETData (PHTTPServer &server, const PURL &url, const PHTTPConnectionInfo &connectInfo, PHTTPRequest &request)
 Send the data associated with a GET command. More...
 
virtual PBoolean OnHEAD (PHTTPServer &server, const PURL &url, const PMIMEInfo &info, const PHTTPConnectionInfo &conInfo)
 Handle the HEAD command passed from the HTTP socket. More...
 
virtual PBoolean OnPOST (PHTTPServer &server, const PURL &url, const PMIMEInfo &info, const PStringToString &data, const PHTTPConnectionInfo &conInfo)
 Handle the POST command passed from the HTTP socket. More...
 
virtual PBoolean IsModifiedSince (const PTime &when)
 Check to see if the resource has been modified since the date specified. More...
 
virtual PBoolean GetExpirationDate (PTime &when)
 Get a block of data (eg HTML) that the resource contains. More...
 
virtual PHTTPRequestCreateRequest (const PURL &url, const PMIMEInfo &inMIME, const PMultiPartList &multipartFormInfo, PHTTPServer &socket)
 Create a new request block for this type of resource. More...
 
virtual void SendData (PHTTPRequest &request)
 Send the data associated with a command. More...
 
virtual PBoolean LoadData (PHTTPRequest &request, PCharArray &data)
 Get a block of data that the resource contains. More...
 
virtual PString LoadText (PHTTPRequest &request)
 Get a block of text data (eg HTML) that the resource contains. More...
 
virtual void OnLoadedText (PHTTPRequest &request, PString &text)
 This is called after the text has been loaded and may be used to customise or otherwise mangle a loaded piece of text. More...
 
virtual PBoolean Post (PHTTPRequest &request, const PStringToString &data, PHTML &replyMessage)
 Get a block of data (eg HTML) that the resource contains. More...
 
- Public Member Functions inherited from PObject
unsigned GetTraceContextIdentifier () const
 Get PTRACE context identifier. More...
 
void SetTraceContextIdentifier (unsigned id)
 
void GetTraceContextIdentifier (PObject &obj)
 
void GetTraceContextIdentifier (PObject *obj)
 
void SetTraceContextIdentifier (const PObject &obj)
 
void SetTraceContextIdentifier (const PObject *obj)
 
virtual ~PObject ()
 
virtual PObjectClone () const
 Create a copy of the class on the heap. More...
 
template<class CLS >
CLS * CloneAs () const
 As for Clone() but converts to specified type. More...
 
virtual PINDEX HashFunction () const
 This function yields a hash value required by the PDictionary class. More...
 
virtual const char * GetClass (unsigned ancestor=0) const
 Get the current dynamic type of the object instance. More...
 
PBoolean IsClass (const char *cls) const
 
virtual PBoolean InternalIsDescendant (const char *clsName) const
 Determine if the dynamic type of the current instance is a descendent of the specified class. More...
 
__inline const PObjectPTraceObjectInstance () const
 
virtual Comparison Compare (const PObject &obj) const
 Compare the two objects and return their relative rank. More...
 
virtual Comparison CompareObjectMemoryDirect (const PObject &obj) const
 Determine the byte wise comparison of two objects. More...
 
bool operator== (const PObject &obj) const
 Compare the two objects. More...
 
bool operator!= (const PObject &obj) const
 Compare the two objects. More...
 
bool operator< (const PObject &obj) const
 Compare the two objects. More...
 
bool operator> (const PObject &obj) const
 Compare the two objects. More...
 
bool operator<= (const PObject &obj) const
 Compare the two objects. More...
 
bool operator>= (const PObject &obj) const
 Compare the two objects. More...
 
virtual void PrintOn (ostream &strm) const
 Output the contents of the object to the stream. More...
 
virtual void ReadFrom (istream &strm)
 Input the contents of the object from the stream. More...
 

Protected Attributes

PMutex methodMutex
 
PSOAPServerMethodList methodList
 
- Protected Attributes inherited from PHTTPResource
PURL baseURL
 Base URL for the resource, may accept URLS with a longer hierarchy. More...
 
PString contentType
 MIME content type for the resource. More...
 
PHTTPAuthorityauthority
 Authorisation method for the resource. More...
 
volatile DWORD hitCount
 COunt of number of times resource was accessed. More...
 
- Protected Attributes inherited from PObject
unsigned m_traceContextIdentifier
 

Additional Inherited Members

- Public Types inherited from PObject
enum  Comparison { LessThan = -1, EqualTo = 0, GreaterThan = 1 }
 Result of the comparison operation performed by the Compare() function. More...
 
- Static Public Member Functions inherited from PObject
static const char * Class ()
 Get the name of the class as a C string. More...
 
static __inline const PObjectPTraceObjectInstance (const char *)
 
static __inline const PObjectPTraceObjectInstance (const PObject *obj)
 
static Comparison InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size)
 Internal function caled from CompareObjectMemoryDirect() More...
 
- Protected Member Functions inherited from PHTTPResource
 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)
 See if the resource is authorised given the mime info. More...
 
virtual PBoolean OnGETOrHEAD (PHTTPServer &server, const PURL &url, const PMIMEInfo &info, const PHTTPConnectionInfo &conInfo, PBoolean isGet)
 common code for GET and HEAD commands More...
 
- Static Protected Member Functions inherited from PHTTPResource
static PBoolean CheckAuthority (PHTTPAuthority &authority, PHTTPServer &server, const PHTTPRequest &request, const PHTTPConnectionInfo &connectInfo)
 
- Friends inherited from PObject

Detailed Description

This resource will bind the methods to an http resource (a url)

Constructor & Destructor Documentation

PSOAPServerResource::PSOAPServerResource ( )
PSOAPServerResource::PSOAPServerResource ( const PHTTPAuthority auth)
Parameters
authAuthorisation for the resource.
PSOAPServerResource::PSOAPServerResource ( const PURL url)
Parameters
urlName of the resource in URL space.
PSOAPServerResource::PSOAPServerResource ( const PURL url,
const PHTTPAuthority auth 
)
Parameters
urlName of the resource in URL space.
authAuthorisation for the resource.

Member Function Documentation

virtual PSOAPMessage PSOAPServerResource::FormatFault ( PINDEX  code,
const PString str 
)
virtual
PBoolean PSOAPServerResource::LoadHeaders ( PHTTPRequest request)
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.

Returns
true if all OK, false if an error occurred.

Reimplemented from PHTTPResource.

PBoolean PSOAPServerResource::OnPOSTData ( PHTTPRequest request,
const PStringToString data 
)
virtual

Send the data associated with a POST command.

The default action calls Post().

Returns
true if the connection may persist, false if the connection must close. If there is no ContentLength field in the response, this value must be false for correct operation.

Reimplemented from PHTTPResource.

virtual PBoolean PSOAPServerResource::OnSOAPRequest ( const PString body,
PString reply 
)
virtual
PBoolean PSOAPServerResource::OnSOAPRequest ( const PString methodName,
PSOAPMessage request,
PString reply 
)
virtual PBoolean PSOAPServerResource::SetMethod ( const PString methodName,
const PNotifier func 
)
virtual
void PSOAPServerResource::SetSOAPAction ( PString  saction)
inline

Use this method to have the server check for SOAPAction field in HTTP header.

Default is " ", which means don't care, more or less. Anything else means the header has to be filled in with something meaningful. It has to exist anyway.

Member Data Documentation

PSOAPServerMethodList PSOAPServerResource::methodList
protected
PMutex PSOAPServerResource::methodMutex
protected

The documentation for this class was generated from the following file: