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 Attributes

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

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.


Member Data Documentation

const char* const PHTTP::AllowTag [static]

const char* const PHTTP::AuthorizationTag [static]

const char* const PHTTP::ContentEncodingTag [static]

const char* const PHTTP::ContentLengthTag [static]

const char* const PHTTP::ContentTypeTag [static]

const char* const PHTTP::DateTag [static]

const char* const PHTTP::ExpiresTag [static]

const char* const PHTTP::FromTag [static]

const char* const PHTTP::IfModifiedSinceTag [static]

const char* const PHTTP::LastModifiedTag [static]

const char* const PHTTP::LocationTag [static]

const char* const PHTTP::PragmaTag [static]

const char* const PHTTP::PragmaNoCacheTag [static]

const char* const PHTTP::RefererTag [static]

const char* const PHTTP::ServerTag [static]

const char* const PHTTP::UserAgentTag [static]

const char* const PHTTP::WWWAuthenticateTag [static]

const char* const PHTTP::MIMEVersionTag [static]

const char* const PHTTP::ConnectionTag [static]

const char* const PHTTP::KeepAliveTag [static]

const char* const PHTTP::TransferEncodingTag [static]

const char* const PHTTP::ChunkedTag [static]

const char* const PHTTP::ProxyConnectionTag [static]

const char* const PHTTP::ProxyAuthorizationTag [static]

const char* const PHTTP::ProxyAuthenticateTag [static]

const char* const PHTTP::ForwardedTag [static]

const char* const PHTTP::SetCookieTag [static]

const char* const PHTTP::CookieTag [static]


The documentation for this class was generated from the following file:
Generated on Fri Sep 21 14:40:13 2007 for PWLib by  doxygen 1.5.3