# 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:

List of all members.

## Public Types

| GET
| HEAD
| POST
| PUT
| DELETE
| TRACE
| OPTIONS
| CONNECT
| NumCommands
| Continue = 100
| 100 - Continue
| SwitchingProtocols
| 101 - upgrade allowed
| RequestOK = 200
| 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
| 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
| 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
| 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
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

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 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:

  line | Input 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:

- http.h