PTLib  Version 2.10.4
PHTTP Class Reference

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

#include <http.h>

Inheritance diagram for PHTTP:
PInternetProtocol PIndirectChannel PChannel PObject PHTTPClient PHTTPServer

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

Protected Member Functions

 PHTTP ()
 Create a TCP/IP HTTP protocol channel.
virtual PINDEX ParseResponse (const PString &line)
 Parse a response line string into a response code and any extra info on the 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

static const PCaselessString& PHTTP::AllowTag ( ) [static]
static const PCaselessString& PHTTP::AuthorizationTag ( ) [static]
static const PCaselessString& PHTTP::ChunkedTag ( ) [static]
static const PCaselessString& PHTTP::ConnectionTag ( ) [static]
static const PCaselessString& PHTTP::ContentEncodingTag ( ) [static]
static const PCaselessString& PHTTP::ContentLengthTag ( ) [static]
static const PCaselessString& PHTTP::ContentTypeTag ( ) [inline, static]
static const PCaselessString& PHTTP::CookieTag ( ) [static]
static const PCaselessString& PHTTP::DateTag ( ) [static]
static const PCaselessString& PHTTP::ExpiresTag ( ) [static]
static const PCaselessString& PHTTP::ForwardedTag ( ) [static]
static const PCaselessString& PHTTP::FromTag ( ) [static]
static const PCaselessString& PHTTP::IfModifiedSinceTag ( ) [static]
static const PCaselessString& PHTTP::KeepAliveTag ( ) [static]
static const PCaselessString& PHTTP::LastModifiedTag ( ) [static]
static const PCaselessString& PHTTP::LocationTag ( ) [static]
static const PCaselessString& PHTTP::MIMEVersionTag ( ) [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:
lineInput response line to be parsed

Reimplemented from PInternetProtocol.

static const PCaselessString& PHTTP::PragmaNoCacheTag ( ) [static]
static const PCaselessString& PHTTP::PragmaTag ( ) [static]
static const PCaselessString& PHTTP::ProxyAuthenticateTag ( ) [static]
static const PCaselessString& PHTTP::ProxyAuthorizationTag ( ) [static]
static const PCaselessString& PHTTP::ProxyConnectionTag ( ) [static]
static const PCaselessString& PHTTP::RefererTag ( ) [static]
static const PCaselessString& PHTTP::ServerTag ( ) [static]
static const PCaselessString& PHTTP::SetCookieTag ( ) [static]
static const PCaselessString& PHTTP::TransferEncodingTag ( ) [static]
static const PCaselessString& PHTTP::UserAgentTag ( ) [static]
static const PCaselessString& PHTTP::WWWAuthenticateTag ( ) [static]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines