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 PCaselessStringAllowTag ()
static const PCaselessStringAuthorizationTag ()
static const PCaselessStringContentEncodingTag ()
static const PCaselessStringContentLengthTag ()
static const PCaselessStringContentTypeTag ()
static const PCaselessStringDateTag ()
static const PCaselessStringExpiresTag ()
static const PCaselessStringFromTag ()
static const PCaselessStringIfModifiedSinceTag ()
static const PCaselessStringLastModifiedTag ()
static const PCaselessStringLocationTag ()
static const PCaselessStringPragmaTag ()
static const PCaselessStringPragmaNoCacheTag ()
static const PCaselessStringRefererTag ()
static const PCaselessStringServerTag ()
static const PCaselessStringUserAgentTag ()
static const PCaselessStringWWWAuthenticateTag ()
static const PCaselessStringMIMEVersionTag ()
static const PCaselessStringConnectionTag ()
static const PCaselessStringKeepAliveTag ()
static const PCaselessStringTransferEncodingTag ()
static const PCaselessStringChunkedTag ()
static const PCaselessStringProxyConnectionTag ()
static const PCaselessStringProxyAuthorizationTag ()
static const PCaselessStringProxyAuthenticateTag ()
static const PCaselessStringForwardedTag ()
static const PCaselessStringSetCookieTag ()
static const PCaselessStringCookieTag ()

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