PHTTP Class Reference

#include <http.h>

Inheritance diagram for PHTTP:

PInternetProtocol PIndirectChannel PChannel PObject PHTTPClient List of all members.

Public Types

enum  Commands {
  GET, HEAD, POST, PUT,
  DELETE, TRACE, OPTIONS, CONNECT,
  NumCommands
}
enum  StatusCode {
  Continue = 100, SwitchingProtocols, RequestOK = 200, Created,
  Accepted, NonAuthoritativeInformation, NoContent, ResetContent,
  PartialContent, MultipleChoices = 300, MovedPermanently, MovedTemporarily,
  SeeOther, NotModified, UseProxy, BadRequest = 400,
  UnAuthorised, PaymentRequired, Forbidden, NotFound,
  MethodNotAllowed, NoneAcceptable, ProxyAuthenticationRequired, RequestTimeout,
  Conflict, Gone, LengthRequired, UnlessTrue,
  InternalServerError = 500, NotImplemented, BadGateway, ServiceUnavailable,
  GatewayTimeout
}

Static Public Member Functions

static const PStringAllowTag ()
static const PStringAuthorizationTag ()
static const PStringContentEncodingTag ()
static const PStringContentLengthTag ()
static const PStringContentTypeTag ()
static const PStringDateTag ()
static const PStringExpiresTag ()
static const PStringFromTag ()
static const PStringIfModifiedSinceTag ()
static const PStringLastModifiedTag ()
static const PStringLocationTag ()
static const PStringPragmaTag ()
static const PStringPragmaNoCacheTag ()
static const PStringRefererTag ()
static const PStringServerTag ()
static const PStringUserAgentTag ()
static const PStringWWWAuthenticateTag ()
static const PStringMIMEVersionTag ()
static const PStringConnectionTag ()
static const PStringKeepAliveTag ()
static const PStringTransferEncodingTag ()
static const PStringChunkedTag ()
static const PStringProxyConnectionTag ()
static const PStringProxyAuthorizationTag ()
static const PStringProxyAuthenticateTag ()
static const PStringForwardedTag ()
static const PStringSetCookieTag ()
static const PStringCookieTag ()

Protected Member Functions

 PHTTP ()
virtual PINDEX ParseResponse (const PString &line)

Detailed Description

A common base class for TCP/IP socket for the HyperText Transfer Protocol version 1.0 client and server.


Member Enumeration Documentation

enum PHTTP::Commands

Enumerator:
GET 
HEAD 
POST 
PUT 
DELETE 
TRACE 
OPTIONS 
CONNECT 
NumCommands 

enum PHTTP::StatusCode

Enumerator:
Continue  100 - Continue
SwitchingProtocols  101 - upgrade allowed
RequestOK  200 - request has succeeded
Created  201 - new resource created: entity body contains URL
Accepted  202 - request accepted, but not yet completed
NonAuthoritativeInformation  203 - not definitive entity header
NoContent  204 - no new information
ResetContent  205 - contents have been reset
PartialContent  206 - partial GET succeeded
MultipleChoices  300 - requested resource available elsewehere
MovedPermanently  301 - resource moved permanently: location field has new URL
MovedTemporarily  302 - resource moved temporarily: location field has new URL
SeeOther  303 - see other URL
NotModified  304 - document has not been modified
UseProxy  305 - proxy redirect
BadRequest  400 - request malformed or not understood
UnAuthorised  401 - request requires authentication
PaymentRequired  402 - reserved
Forbidden  403 - request is refused due to unsufficient authorisation
NotFound  404 - resource cannot be found
MethodNotAllowed  405 - not allowed on this resource
NoneAcceptable  406 - encoding not acceptable
ProxyAuthenticationRequired  407 - must authenticate with proxy first
RequestTimeout  408 - server timeout on request
Conflict  409 - resource conflict on action
Gone  410 - resource gone away
LengthRequired  411 - no Content-Length
UnlessTrue  412 - no Range header for TRUE Unless
InternalServerError  500 - server has encountered an unexpected error
NotImplemented  501 - server does not implement request
BadGateway  502 - error whilst acting as gateway
ServiceUnavailable  503 - server temporarily unable to service request
GatewayTimeout  504 - timeout whilst talking to gateway


Constructor & Destructor Documentation

PHTTP::PHTTP (  )  [protected]

Create a TCP/IP HTTP protocol channel.


Member Function Documentation

static const PString& PHTTP::AllowTag (  )  [static]

static const PString& PHTTP::AuthorizationTag (  )  [static]

static const PString& PHTTP::ContentEncodingTag (  )  [static]

static const PString& PHTTP::ContentLengthTag (  )  [static]

static const PString& PHTTP::ContentTypeTag (  )  [static]

static const PString& PHTTP::DateTag (  )  [static]

static const PString& PHTTP::ExpiresTag (  )  [static]

static const PString& PHTTP::FromTag (  )  [static]

static const PString& PHTTP::IfModifiedSinceTag (  )  [static]

static const PString& PHTTP::LastModifiedTag (  )  [static]

static const PString& PHTTP::LocationTag (  )  [static]

static const PString& PHTTP::PragmaTag (  )  [static]

static const PString& PHTTP::PragmaNoCacheTag (  )  [static]

static const PString& PHTTP::RefererTag (  )  [static]

static const PString& PHTTP::ServerTag (  )  [static]

static const PString& PHTTP::UserAgentTag (  )  [static]

static const PString& PHTTP::WWWAuthenticateTag (  )  [static]

static const PString& PHTTP::MIMEVersionTag (  )  [static]

static const PString& PHTTP::ConnectionTag (  )  [static]

static const PString& PHTTP::KeepAliveTag (  )  [static]

static const PString& PHTTP::TransferEncodingTag (  )  [static]

static const PString& PHTTP::ChunkedTag (  )  [static]

static const PString& PHTTP::ProxyConnectionTag (  )  [static]

static const PString& PHTTP::ProxyAuthorizationTag (  )  [static]

static const PString& PHTTP::ProxyAuthenticateTag (  )  [static]

static const PString& PHTTP::ForwardedTag (  )  [static]

static const PString& PHTTP::SetCookieTag (  )  [static]

static const PString& PHTTP::CookieTag (  )  [static]

virtual PINDEX PHTTP::ParseResponse ( const PString line  )  [protected, virtual]

Parse a response line string into a response code and any extra info on the line. Results are placed into the member variables lastResponseCode and lastResponseInfo.

The default bahaviour looks for a space or a '-' and splits the code and info either side of that character, then returns FALSE.

Returns:
Position of continuation character in response, 0 if no continuation lines are possible.
Parameters:
line  Input response line to be parsed

Reimplemented from PInternetProtocol.


The documentation for this class was generated from the following file:
Generated on Fri Mar 7 06:25:05 2008 for PTLib by  doxygen 1.5.1