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

Enumerator:
GET 
HEAD 
POST 
PUT 
DELETE 
TRACE 
OPTIONS 
CONNECT 
NumCommands 
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::ChunkedTag [static]
const char* const PHTTP::ConnectionTag [static]
const char* const PHTTP::ContentEncodingTag [static]
const char* const PHTTP::ContentLengthTag [static]
const char* const PHTTP::ContentTypeTag [static]
const char* const PHTTP::CookieTag [static]
const char* const PHTTP::DateTag [static]
const char* const PHTTP::ExpiresTag [static]
const char* const PHTTP::ForwardedTag [static]
const char* const PHTTP::FromTag [static]
const char* const PHTTP::IfModifiedSinceTag [static]
const char* const PHTTP::KeepAliveTag [static]
const char* const PHTTP::LastModifiedTag [static]
const char* const PHTTP::LocationTag [static]
const char* const PHTTP::MIMEVersionTag [static]
const char* const PHTTP::PragmaNoCacheTag [static]
const char* const PHTTP::PragmaTag [static]
const char* const PHTTP::ProxyAuthenticateTag [static]
const char* const PHTTP::ProxyAuthorizationTag [static]
const char* const PHTTP::ProxyConnectionTag [static]
const char* const PHTTP::RefererTag [static]
const char* const PHTTP::ServerTag [static]
const char* const PHTTP::SetCookieTag [static]
const char* const PHTTP::TransferEncodingTag [static]
const char* const PHTTP::UserAgentTag [static]
const char* const PHTTP::WWWAuthenticateTag [static]

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

Generated on Sun Sep 6 03:50:36 2009 for PWLib by  doxygen 1.6.1