From fc0abbdf71700b2414ba012f9863f7dfaf514b91 Mon Sep 17 00:00:00 2001
From: Garrett D'Amore <garrett@damore.org>
Date: Fri, 2 Feb 2018 12:46:02 -0800
Subject: Document HTTP request/reply structures and handling.

---
 docs/libnng.adoc | 45 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

(limited to 'docs/libnng.adoc')

diff --git a/docs/libnng.adoc b/docs/libnng.adoc
index 57337f47..b23383cc 100644
--- a/docs/libnng.adoc
+++ b/docs/libnng.adoc
@@ -171,6 +171,51 @@ universal resource locators (URLS).
 | <<nng_url_parse#,nng_url_parse(3)>>|create URL structure from string
 |===
 
+
+=== HTTP Support
+
+The library may be configured with support for HTTP, and this will
+be the case if WebSocket support is configured as well.  In this case,
+it is possible to access functionality to support the creation of
+HTTP (and HTTP/S if TLS support is present) servers and clients.
+
+==== Common HTTP Functions
+
+The following functions are used to work with HTTP requests, responses,
+and connections.
+
+|===
+| <<nng_http_req_add_header#,nng_http_req_add_header(3)>>|add HTTP request header
+| <<nng_http_req_alloc#,nng_http_req_alloc(3)>>|allocate HTTP request structure
+| <<nng_http_req_copy_data#,nng_http_req_copy_data(3)>>|copy HTTP request body
+| <<nng_http_req_del_header#,nng_http_req_del_header(3)>>|delete HTTP request header
+| <<nng_http_req_free#,nng_http_req_free(3)>>|free HTTP request structure
+| <<nng_http_req_get_header#,nng_http_req_get_header(3)>>|return HTTP request header
+| <<nng_http_req_get_method#,nng_http_req_get_method(3)>>|return HTTP request method
+| <<nng_http_req_get_uri#,nng_http_req_get_uri(3)>>|return HTTP request URI
+| <<nng_http_req_get_version#,nng_http_req_get_version(3)>>|return HTTP request protocol version
+| <<nng_http_req_set_data#,nng_http_req_set_data(3)>>|set HTTP request body
+| <<nng_http_req_set_header#,nng_http_req_set_header(3)>>|set HTTP request header
+| <<nng_http_req_set_method#,nng_http_req_set_method(3)>>|set HTTP request method
+| <<nng_http_req_set_uri#,nng_http_req_set_uri(3)>>|set HTTP request URI
+| <<nng_http_req_set_version#,nng_http_req_set_version(3)>>|set HTTP request protocol version
+| <<nng_http_res_add_header#,nng_http_res_add_header(3)>>|add HTTP response header
+| <<nng_http_res_alloc#,nng_http_res_alloc(3)>>|allocate HTTP response structure
+| <<nng_http_res_alloc_error#,nng_http_res_alloc_error(3)>>|allocate HTTP error response
+| <<nng_http_res_copy_data#,nng_http_res_copy_data(3)>>|copy HTTP response body
+| <<nng_http_res_del_header#,nng_http_res_del_header(3)>>|delete HTTP response header
+| <<nng_http_res_free#,nng_http_res_free(3)>>|free HTTP response structure
+| <<nng_http_res_set_data#,nng_http_res_set_data(3)>>|set HTTP response body
+| <<nng_http_res_get_header#,nng_http_res_get_header(3)>>|return HTTP response header
+| <<nng_http_res_get_reason#,nng_http_res_get_reason(3)>>|return HTTP response reason
+| <<nng_http_res_get_status#,nng_http_res_get_status(3)>>|return HTTP response status
+| <<nng_http_res_get_version#,nng_http_res_get_version(3)>>|return HTTP response protocol version
+| <<nng_http_res_set_header#,nng_http_res_set_header(3)>>|set HTTP response header
+| <<nng_http_res_set_reason#,nng_http_res_set_reason(3)>>|set HTTP response reason
+| <<nng_http_res_set_status#,nng_http_res_set_status(3)>>|set HTTP response status
+| <<nng_http_res_set_version#,nng_http_res_set_version(3)>>|set HTTP response protocol version
+|===
+
 === TLS Configuration Objects
 
 The following functions are used to manipulate transport layer security
-- 
cgit v1.2.3-70-g09d2

