fastcgi++
A C++ FastCGI/Web API
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
Fastcgipp Namespace Reference

Topmost namespace for the fastcgi++ library. More...

Namespaces

 Http
 Defines classes and functions relating to the HTTP protocol.
 
 Logging
 Contains the Fastcgipp debugging/logging mechanism.
 
 Protocol
 Defines aspects of the FastCGI Protocol.
 

Classes

class  Block
 Data structure to hold a block of raw data. More...
 
class  FcgiStreambuf
 Stream buffer class for output of client data through FastCGI. More...
 
class  Manager
 General task and protocol management class. More...
 
class  Manager_base
 General task and protocol management class base. More...
 
struct  Message
 Data structure used to pass messages to requests. More...
 
class  Request
 Request handling class More...
 
class  Request_base
 De-templating base class for Request. More...
 
class  Socket
 Class for representing an OS level I/O socket. More...
 
class  SocketGroup
 Class for representing an OS level socket that listens for connections. More...
 
class  Transceiver
 Handles low level communication with "the other side". More...
 
class  WebStreambuf
 Stream buffer class for output of HTML/Web stream. More...
 

Typedefs

typedef int socket_t
 Our socket identifier type in GNU/Linux is simply an int. More...
 
typedef const int poll_t
 Our polling type using the Linux kernel is simply an int. More...
 

Enumerations

enum  Encoding { Encoding::NONE, Encoding::HTML, Encoding::URL }
 Stream manipulator for setting output encoding. More...
 

Functions

template<class charT , class traits >
std::basic_ostream< charT, traits > & operator<< (std::basic_ostream< charT, traits > &os, const Encoding &encoding)
 

Variables

const char version [] =FASTCGIPP_VERSION
 Defines the fastcgi++ version. More...
 

Detailed Description

Topmost namespace for the fastcgi++ library.

Typedef Documentation

◆ poll_t

typedef const int Fastcgipp::poll_t

Our polling type using the Linux kernel is simply an int.

Definition at line 60 of file sockets.hpp.

◆ socket_t

typedef int Fastcgipp::socket_t

Our socket identifier type in GNU/Linux is simply an int.

Definition at line 56 of file sockets.hpp.

Enumeration Type Documentation

◆ Encoding

enum Fastcgipp::Encoding
strong

Stream manipulator for setting output encoding.

This simple stream manipulator can set the output encoding of Fcgistream objects by

out << Encoding::HTML << "<not html&>" << Encoding::NONE << "<htmltag>";

When output encoding is set to NONE, no character translation takes place. HTML and URL encoding is described by the following table.

HTML

Input Output
" &quot;
> &gt;
< &lt;
& &amp;
' &apos;

URL

Input Output
! %21
] %5D
[ %5B
# %23
? %3F
/ %2F
, %2C
$ %24
+ %2B
= %3D
& %26
@ %40
: %3A
; %3B
) %29
( %28
' %27
* %2A
< %3C
> %3E
" %22
*space* %20
% %25
Date
May 2, 2016
Author
Eddie Carle <eddie.nosp@m.@isa.nosp@m.tec.c.nosp@m.a>
Enumerator
NONE 
HTML 
URL 

Definition at line 182 of file webstreambuf.hpp.

Function Documentation

◆ operator<<()

template<class charT , class traits >
std::basic_ostream< charT, traits > & Fastcgipp::operator<< ( std::basic_ostream< charT, traits > &  os,
const Encoding encoding 
)

Variable Documentation

◆ version

const char Fastcgipp::version =FASTCGIPP_VERSION