Zen API

- Home
- Topics
- Types
- Files

All Classes Files Functions Variables Typedefs Friends Macros Modules Pages
Public Member Functions
kHttpServer Class Reference
kApi/Io

## Description

Implements a simple HTTP server.

The kHttpServer class implements a simple HTTP 1.1 server framework. The kHttpServer_SetHandler function can be used to register a callback function to process remote requests. The 'args' parameter to this callback receives a kHttpServerChannel instance, which can be used to access kHttpServerRequest and kHttpServerResponse objects. These request/response objects can be used to parse an incoming request and to format an outgoing response, respectively.

kHttpServer uses a simple thread-per-connection model, where the maximum number of simultaneous connections can be configured using the kHttpServer_SetMaxConnections function. Accordingly, kHttpServer is better suited to small/embedded applications than large-scale web applications.

Inheritance diagram for kHttpServer:

## Public Member Functions
kStatus | kHttpServer_Construct (kHttpServer *server, kAlloc allocator)
| Constructs a kHttpServer object. More...
kStatus | kHttpServer_LocalEndPoint (kHttpServer server, kIpEndPoint *endPoint)
| Reports the local end-point for a running server. More...
kStatus | kHttpServer_SetAddress (kHttpServer server, kIpAddress address)
| Sets the local address to which the server should bind. More...
kStatus | kHttpServer_SetHandler (kHttpServer server, kCallbackFx function, kPointer receiver)
| Sets the callback that will be invoked to process remote requests. More...
kStatus | kHttpServer_SetMaxConnections (kHttpServer server, kSize capacity)
| Sets the maximum number of simultaneous connections supported by the server. More...
kStatus | kHttpServer_SetPort (kHttpServer server, k32u port)
| Sets the local port to which the server should bind. More...
kStatus | kHttpServer_SetReadBuffers (kHttpServer server, kSSize socketSize, kSSize clientSize)
| Sets the size of connection read buffers. More...
kStatus | kHttpServer_SetWriteBuffers (kHttpServer server, kSSize socketSize, kSSize clientSize)
| Sets the size of connection write buffers. More...
kStatus | kHttpServer_Start (kHttpServer server)
| Starts the server. More...
kStatus | kHttpServer_Stop (kHttpServer server)
| Stops the server. More...
Public Member Functions inherited from kObject
kAlloc | kObject_Alloc (kObject object)
| Gets the memory allocator associated with this object. More...
kStatus | kObject_Clone (kObject *object, kObject source, kAlloc allocator)
| Constructs a new object by copying an existing object, including any aggregated child elements. More...
kStatus | kObject_Destroy (kObject object)
| Destroys the object. More...
kStatus | kObject_Dispose (kObject object)
| Destroys the object and any aggregated child elements. More...
kBool | kObject_Equals (kObject object, kObject other)
| Determines whether the object is equal to another object. More...
kSize | kObject_HashCode (kObject object)
| Gets a hash code representing the state of this object. More...
kBool | kObject_Is (kObject object, kType type)
| Determines whether this object is an instance of the specified type. More...
kBool | kObject_IsShared (kObject object)
| Reports whether the object is currently shared (reference count greater than one). More...
kStatus | kObject_SetPool (kObject object, kObjectPool pool)
| Sets the object pool associated with this object. More...
kStatus | kObject_Share (kObject object)
| Increments the reference count associated with this object. More...
kSize | kObject_Size (kObject object)
| Estimates the memory consumed by this object, including any aggregated child elements. More...
kType | kObject_Type (kObject object)
| Returns the type of the object. More...

## Additional Inherited Members
Related inherited from kObject
#define | kObject_Type_(OBJ) kxObject_Type_(OBJ)
| Macro version of kObject_Type.
#define | kObject_Is_(OBJ, TYPE) kxObject_Is_(OBJ, TYPE)
| Macro version of kObject_Is.
#define | kObject_Alloc_(OBJ) kxObject_Allocator_(OBJ)
| Macro version of kObject_Alloc.

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

- Io/kHttpServer.h