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 PString & AllowTag ()
static const PString & AuthorizationTag ()
static const PString & ContentEncodingTag ()
static const PString & ContentLengthTag ()
static const PString & ContentTypeTag ()
static const PString & DateTag ()
static const PString & ExpiresTag ()
static const PString & FromTag ()
static const PString & IfModifiedSinceTag ()
static const PString & LastModifiedTag ()
static const PString & LocationTag ()
static const PString & PragmaTag ()
static const PString & PragmaNoCacheTag ()
static const PString & RefererTag ()
static const PString & ServerTag ()
static const PString & UserAgentTag ()
static const PString & WWWAuthenticateTag ()
static const PString & MIMEVersionTag ()
static const PString & ConnectionTag ()
static const PString & KeepAliveTag ()
static const PString & TransferEncodingTag ()
static const PString & ChunkedTag ()
static const PString & ProxyConnectionTag ()
static const PString & ProxyAuthorizationTag ()
static const PString & ProxyAuthenticateTag ()
static const PString & ForwardedTag ()
static const PString & SetCookieTag ()
static const PString & CookieTag ()

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