CL_HTTPServerConnection Class Reference
[clanNetwork Web]

HTTP server connection. More...

#include <http_server_connection.h>

Inheritance diagram for CL_HTTPServerConnection:
Inheritance graph
[legend]

List of all members.

Public Types

Enumerations

enum  SeekMode { seek_set, seek_cur, seek_end }
 

Seeking modes.

More...

Public Member Functions

Construction

 CL_HTTPServerConnection ()
 Construct a null instance.
 CL_HTTPServerConnection (const CL_SharedPtr< CL_HTTPServerConnection_Impl > &impl)
 Constructs a HTTPServerConnection.
 ~CL_HTTPServerConnection ()
Attributes

bool is_null () const
 Returns true if this object is invalid.
void throw_if_null () const
 Throw an exception if this object is invalid.
CL_StringRef8 get_request_type ()
 Get Request type.
CL_StringRef8 get_request_url ()
 Get Request url.
CL_StringRef8 get_request_headers ()
 Get Request headers.
Operations

CL_DataBuffer read_request_data ()
 Read request data.
void write_response_status (int status_code, const CL_StringRef8 &status_text=CL_StringRef8())
 Write response status.
void write_response_headers (const CL_StringRef8 &headers)
 Write response headers.
void write_response_data (const CL_DataBuffer &data)
 Write response data.
Attributes

int get_size () const
 Returns the size of data stream.
int get_position () const
 Returns the position in the data stream.
bool is_little_endian () const
 Returns true if the input source is in little endian mode.
const CL_IODeviceProviderget_provider () const
 Returns the provider for this object.
CL_IODeviceProviderget_provider ()
 Returns the provider for this object.
Operations

int send (const void *data, int len, bool send_all=true)
 Send data to device.
int receive (void *data, int len, bool receive_all=true)
 Receive data from device.
int peek (void *data, int len)
 Peek data from device (data is left in the buffer).
bool seek (int position, SeekMode mode=seek_set)
 Seek in data stream.
int read (void *data, int len, bool receive_all=true)
 Alias for receive(data, len, receive_all).
int write (const void *data, int len, bool send_all=true)
 Alias for send(data, len, send_all).
void set_system_mode ()
 Changes input data endianess to the local systems mode.
void set_big_endian_mode ()
 Changes input data endianess to big endian mode. (Default is little endian).
void set_little_endian_mode ()
 Changes input data endianess to little endian mode. This is the default setting.
void write_int64 (cl_byte64 data)
 Writes a signed 64 bit integer to output source.
void write_uint64 (cl_ubyte64 data)
 Writes an unsigned 64 bit integer to output source.
void write_int32 (cl_byte32 data)
 Writes a signed 32 bit integer to output source.
void write_uint32 (cl_ubyte32 data)
 Writes an unsigned 32 bit integer to output source.
void write_int16 (cl_byte16 data)
 Writes a signed 16 bit integer to output source.
void write_uint16 (cl_ubyte16 data)
 Writes an unsigned 16 bit integer to output source.
void write_int8 (cl_byte8 data)
 Writes a signed 8 bit integer to output source.
void write_uint8 (cl_ubyte8 data)
 Writes an unsigned 8 bit integer to output source.
void write_float (float data)
 Writes a float to output source.
void write_string_a (const CL_StringRef8 &str)
 Writes a string to the output source.
void write_string_nul (const CL_StringRef8 &str)
 Writes a nul terminated string to the output source.
void write_string_text (const CL_StringRef8 &str)
 Writes a text string to the output source.
cl_byte64 read_int64 ()
 Reads a signed 64 bit integer from input source.
cl_ubyte64 read_uint64 ()
 Reads an unsigned 64 bit integer from input source.
cl_byte32 read_int32 ()
 Reads a signed 32 bit integer from input source.
cl_ubyte32 read_uint32 ()
 Reads an unsigned 32 bit integer from input source.
cl_byte16 read_int16 ()
 Reads a signed 16 bit integer from input source.
cl_ubyte16 read_uint16 ()
 Reads an unsigned 16 bit integer from input source.
cl_byte8 read_int8 ()
 Reads a signed 8 bit integer from input source.
cl_ubyte8 read_uint8 ()
 Reads an unsigned 8 bit integer from input source.
float read_float ()
 Reads a float from input source.
CL_String8 read_string_a ()
 Reads a string from the input source.
CL_String8 read_string_nul ()
 Reads a nul terminated string from the input source.
CL_String8 read_string_text (const char *skip_initial_chars, const char *read_until_chars, bool allow_eof=true)
 Reads a string from the input source where the source is a text file.
CL_IODevice duplicate ()
 Create a new CL_IODevice referencing the same resource.

Detailed Description

HTTP server connection.


Member Enumeration Documentation

enum CL_IODevice::SeekMode [inherited]

Seeking modes.

Enumerator:
seek_set 

Set to a specific value from the start.

seek_cur 

Set relative to the current position.

seek_end 

Set to a specific value from the end (use negative position).


Constructor & Destructor Documentation

CL_HTTPServerConnection::CL_HTTPServerConnection (  ) 

Construct a null instance.

CL_HTTPServerConnection::CL_HTTPServerConnection ( const CL_SharedPtr< CL_HTTPServerConnection_Impl > &  impl  ) 

Constructs a HTTPServerConnection.

Parameters:
impl = Shared Ptr
CL_HTTPServerConnection::~CL_HTTPServerConnection (  ) 

Member Function Documentation

CL_IODevice CL_IODevice::duplicate (  )  [inherited]

Create a new CL_IODevice referencing the same resource.

int CL_IODevice::get_position (  )  const [inherited]

Returns the position in the data stream.

Returns -1 if the position is unknown.

Returns:
The size (-1 if position is unknown)
const CL_IODeviceProvider* CL_IODevice::get_provider (  )  const [inherited]

Returns the provider for this object.

CL_IODeviceProvider* CL_IODevice::get_provider (  )  [inherited]

Returns the provider for this object.

CL_StringRef8 CL_HTTPServerConnection::get_request_headers (  ) 

Get Request headers.

Returns:
request_headers
CL_StringRef8 CL_HTTPServerConnection::get_request_type (  ) 

Get Request type.

Returns:
request_type
CL_StringRef8 CL_HTTPServerConnection::get_request_url (  ) 

Get Request url.

Returns:
request_url
int CL_IODevice::get_size (  )  const [inherited]

Returns the size of data stream.

Returns -1 if the size is unknown.

Returns:
The size (-1 if size is unknown)
bool CL_IODevice::is_little_endian (  )  const [inherited]

Returns true if the input source is in little endian mode.

Returns:
true if little endian
bool CL_HTTPServerConnection::is_null (  )  const [inline]

Returns true if this object is invalid.

Reimplemented from CL_IODevice.

int CL_IODevice::peek ( void *  data,
int  len 
) [inherited]

Peek data from device (data is left in the buffer).

Parameters:
data Data to receive
len Maximum length of data to receive
Returns:
size of data received.
int CL_IODevice::read ( void *  data,
int  len,
bool  receive_all = true 
) [inherited]

Alias for receive(data, len, receive_all).

Parameters:
data Data to receive
len Length to receive
receive_all true to receive all the data. false = receive part of the data, if it would block
Returns:
size of data received
float CL_IODevice::read_float (  )  [inherited]

Reads a float from input source.

Warning, this is not portable

Returns:
The float read.
cl_byte16 CL_IODevice::read_int16 (  )  [inherited]

Reads a signed 16 bit integer from input source.

Returns:
The integer read.
cl_byte32 CL_IODevice::read_int32 (  )  [inherited]

Reads a signed 32 bit integer from input source.

Returns:
The integer read.
cl_byte64 CL_IODevice::read_int64 (  )  [inherited]

Reads a signed 64 bit integer from input source.

Returns:
The integer read.
cl_byte8 CL_IODevice::read_int8 (  )  [inherited]

Reads a signed 8 bit integer from input source.

Returns:
The integer read.
CL_DataBuffer CL_HTTPServerConnection::read_request_data (  ) 

Read request data.

Returns:
Data Buffer
CL_String8 CL_IODevice::read_string_a (  )  [inherited]

Reads a string from the input source.

The binary format expected in the input source is first an uint32 telling the length of the string, and then the string itself.

Returns:
The string read.
CL_String8 CL_IODevice::read_string_nul (  )  [inherited]

Reads a nul terminated string from the input source.

The binary format expected in the input source is a nul terminated string. (The NUL termintor is read, so that the file position is set after the NUL)

Returns:
The string read.
CL_String8 CL_IODevice::read_string_text ( const char *  skip_initial_chars,
const char *  read_until_chars,
bool  allow_eof = true 
) [inherited]

Reads a string from the input source where the source is a text file.

After reading the input source up to "read_until_chars", the file position is set to the first character that was not read. If the file contains NUL characters, then the input is read up to the NUL character, and the file position is set AFTER the NUL)

Parameters:
skip_initial_chars Ignore any of these characters at the start of the string. NULL = Do not ignore any characters
read_until_chars Read from the input until any of these characters are found. NULL = Read until the end of the file
allow_eof Allow EOF
Returns:
The string read.
cl_ubyte16 CL_IODevice::read_uint16 (  )  [inherited]

Reads an unsigned 16 bit integer from input source.

Returns:
The integer read.
cl_ubyte32 CL_IODevice::read_uint32 (  )  [inherited]

Reads an unsigned 32 bit integer from input source.

Returns:
The integer read.
cl_ubyte64 CL_IODevice::read_uint64 (  )  [inherited]

Reads an unsigned 64 bit integer from input source.

Returns:
The integer read.
cl_ubyte8 CL_IODevice::read_uint8 (  )  [inherited]

Reads an unsigned 8 bit integer from input source.

Returns:
The integer read.
int CL_IODevice::receive ( void *  data,
int  len,
bool  receive_all = true 
) [inherited]

Receive data from device.

Parameters:
data Data to receive
len Length to receive
receive_all true to receive all the data. false = receive part of the data, if it would block
Returns:
size of data received
bool CL_IODevice::seek ( int  position,
SeekMode  mode = seek_set 
) [inherited]

Seek in data stream.

Parameters:
position Position to use (usage depends on the seek mode)
mode Seek mode
Returns:
false = Failed
int CL_IODevice::send ( const void *  data,
int  len,
bool  send_all = true 
) [inherited]

Send data to device.

If the device databuffer is too small, it will be extended (ie grow memory block size or file size)

Parameters:
data Data to send
len Length to send
send_all true to send all the data. false = send part of the data, if it would block
Returns:
size of data sent
void CL_IODevice::set_big_endian_mode (  )  [inherited]

Changes input data endianess to big endian mode. (Default is little endian).

void CL_IODevice::set_little_endian_mode (  )  [inherited]

Changes input data endianess to little endian mode. This is the default setting.

void CL_IODevice::set_system_mode (  )  [inherited]

Changes input data endianess to the local systems mode.

void CL_HTTPServerConnection::throw_if_null (  )  const

Throw an exception if this object is invalid.

Reimplemented from CL_IODevice.

int CL_IODevice::write ( const void *  data,
int  len,
bool  send_all = true 
) [inherited]

Alias for send(data, len, send_all).

Parameters:
data Data to send
len Length to send
send_all true to send all the data. false = send part of the data, if it would block
Returns:
size of data sent
void CL_IODevice::write_float ( float  data  )  [inherited]

Writes a float to output source.

Parameters:
data = Float to write

Warning, this is not portable.

void CL_IODevice::write_int16 ( cl_byte16  data  )  [inherited]

Writes a signed 16 bit integer to output source.

Parameters:
data Integer to write
void CL_IODevice::write_int32 ( cl_byte32  data  )  [inherited]

Writes a signed 32 bit integer to output source.

Parameters:
data Integer to write
void CL_IODevice::write_int64 ( cl_byte64  data  )  [inherited]

Writes a signed 64 bit integer to output source.

Parameters:
data Integer to write
void CL_IODevice::write_int8 ( cl_byte8  data  )  [inherited]

Writes a signed 8 bit integer to output source.

Parameters:
data Integer to write
void CL_HTTPServerConnection::write_response_data ( const CL_DataBuffer data  ) 

Write response data.

Parameters:
data = Data Buffer
void CL_HTTPServerConnection::write_response_headers ( const CL_StringRef8 headers  ) 

Write response headers.

Parameters:
headers = String Ref8
void CL_HTTPServerConnection::write_response_status ( int  status_code,
const CL_StringRef8 status_text = CL_StringRef8() 
)

Write response status.

Parameters:
status_code = value
status_text = String Ref8
void CL_IODevice::write_string_a ( const CL_StringRef8 str  )  [inherited]

Writes a string to the output source.

Parameters:
str String to write

The binary format written to the output source is first an uint32 telling the length of the string, and then the string itself.

void CL_IODevice::write_string_nul ( const CL_StringRef8 str  )  [inherited]

Writes a nul terminated string to the output source.

Parameters:
str String to write

The binary format written to the output source is the string content followed by the NUL character.

void CL_IODevice::write_string_text ( const CL_StringRef8 str  )  [inherited]

Writes a text string to the output source.

Parameters:
str String to write

The binary format written to the output source is the string content appended with a native newline. On Windows the newline is CR+LF sequence and on other platforms it is only LF character. This function is intended for use with text files.

void CL_IODevice::write_uint16 ( cl_ubyte16  data  )  [inherited]

Writes an unsigned 16 bit integer to output source.

Parameters:
data Integer to write
void CL_IODevice::write_uint32 ( cl_ubyte32  data  )  [inherited]

Writes an unsigned 32 bit integer to output source.

Parameters:
data Integer to write
void CL_IODevice::write_uint64 ( cl_ubyte64  data  )  [inherited]

Writes an unsigned 64 bit integer to output source.

Parameters:
data Integer to write
void CL_IODevice::write_uint8 ( cl_ubyte8  data  )  [inherited]

Writes an unsigned 8 bit integer to output source.

Parameters:
data Integer to write

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