aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorXavier Del Campo Romero <xavi.dcr@tutanota.com>2023-10-10 23:21:35 +0200
committerXavier Del Campo Romero <xavi.dcr@tutanota.com>2023-10-11 00:07:13 +0200
commit0222b75e8554796548e079aa3393c512ae30ac24 (patch)
tree5a154258ae5c1434a211ee67537e46ef64058437 /doc
parent832e198f8c77970b5b923eb18201ba83d9c72b80 (diff)
Rename project from slweb to libwebv0.1.0-rc3
It was found out there was another project of the same name around (https://git.sr.ht/~strahinja/slweb/), also related to website generation. In order to avoid confusion, a new name has been chosen for this project. Surprisingly, libweb was not in use by any distributions (according to https://repology.org and AUR index), and it should reflect well the intention behind this project i.e., being a library to build web-related stuff.
Diffstat (limited to 'doc')
-rw-r--r--doc/man3/handler_add.310
-rw-r--r--doc/man3/handler_alloc.314
-rw-r--r--doc/man3/handler_free.36
-rw-r--r--doc/man3/handler_listen.38
-rw-r--r--doc/man3/html_node_add_attr.38
-rw-r--r--doc/man3/html_node_add_child.310
-rw-r--r--doc/man3/html_node_add_sibling.36
-rw-r--r--doc/man3/html_node_alloc.38
-rw-r--r--doc/man3/html_node_free.36
-rw-r--r--doc/man3/html_node_set_value.38
-rw-r--r--doc/man3/html_node_set_value_unescaped.38
-rw-r--r--doc/man3/html_serialize.36
-rw-r--r--doc/man3/http_alloc.316
-rw-r--r--doc/man3/http_cookie_create.38
-rw-r--r--doc/man3/http_encode_url.36
-rw-r--r--doc/man3/http_free.36
-rw-r--r--doc/man3/http_response_add_header.36
-rw-r--r--doc/man3/http_update.38
-rw-r--r--doc/man7/Makefile6
-rw-r--r--doc/man7/libweb_handler.7 (renamed from doc/man7/slweb_handler.7)30
-rw-r--r--doc/man7/libweb_html.7 (renamed from doc/man7/slweb_html.7)18
-rw-r--r--doc/man7/libweb_http.7 (renamed from doc/man7/slweb_http.7)52
22 files changed, 127 insertions, 127 deletions
diff --git a/doc/man3/handler_add.3 b/doc/man3/handler_add.3
index 4c93f7a..2ee404b 100644
--- a/doc/man3/handler_add.3
+++ b/doc/man3/handler_add.3
@@ -1,4 +1,4 @@
-.TH HANDLER_ADD 3 2023-09-13 0.1.0 "slweb Library Reference"
+.TH HANDLER_ADD 3 2023-09-13 0.1.0 "libweb Library Reference"
.SH NAME
handler_add \- add an endpoint to a web server handler object
@@ -6,7 +6,7 @@ handler_add \- add an endpoint to a web server handler object
.SH SYNOPSIS
.LP
.nf
-#include <slweb/handler.h>
+#include <libweb/handler.h>
.P
int handler_add(struct handler *\fIh\fP, const char *\fIurl\fP, enum http_op \fIop\fP, handler_fn \fIf\fP, void *\fIuser\fP);
.fi
@@ -40,13 +40,13 @@ for an exhaustive list of supported operations.
.I f
is a function pointer that shall be executed by
-.I slweb
+.I libweb
if an incoming request matches the resource and operation defined by
.I url
and
.IR op ,
respectively. See
-.IR slweb_handler (7)
+.IR libweb_handler (7)
for the definition for
.IR handler_fn .
@@ -77,7 +77,7 @@ for a list of possible errors.
.BR handler_alloc (3),
.BR handler_free (3),
.BR handler_listen (3),
-.BR slweb_handler (7).
+.BR libweb_handler (7).
.SH COPYRIGHT
Copyright (C) 2023 Xavier Del Campo Romero.
diff --git a/doc/man3/handler_alloc.3 b/doc/man3/handler_alloc.3
index e71b569..3b602dc 100644
--- a/doc/man3/handler_alloc.3
+++ b/doc/man3/handler_alloc.3
@@ -1,4 +1,4 @@
-.TH HANDLER_ALLOC 3 2023-09-13 0.1.0 "slweb Library Reference"
+.TH HANDLER_ALLOC 3 2023-09-13 0.1.0 "libweb Library Reference"
.SH NAME
handler_alloc \- allocate a web server handler object
@@ -6,7 +6,7 @@ handler_alloc \- allocate a web server handler object
.SH SYNOPSIS
.LP
.nf
-#include <slweb/handler.h>
+#include <libweb/handler.h>
.P
struct handler *handler_alloc(const struct handler_cfg *\fIcfg\fP);
.fi
@@ -17,17 +17,17 @@ The
function allocates a
.I "struct handler"
object, containing the required data by
-.I slweb
+.I libweb
to handle a web server. This object is meant to be consumed by
other functions from
-.IR slweb_handler (7).
+.IR libweb_handler (7).
.I cfg
defines the initial configuration, whose structure is defined by
-.IR slweb_handler (7).
+.IR libweb_handler (7).
.I "struct handler"
is an opaque object internal to
-.I slweb
+.I libweb
and therefore is not accessible to callers.
.SH RETURN VALUE
@@ -48,7 +48,7 @@ for a list of possible errors.
.BR handler_free (3),
.BR handler_add (3),
.BR handler_listen (3),
-.BR slweb_handler (7).
+.BR libweb_handler (7).
.SH COPYRIGHT
Copyright (C) 2023 Xavier Del Campo Romero.
diff --git a/doc/man3/handler_free.3 b/doc/man3/handler_free.3
index 1a89fa9..9a46b23 100644
--- a/doc/man3/handler_free.3
+++ b/doc/man3/handler_free.3
@@ -1,4 +1,4 @@
-.TH HANDLER_FREE 3 2023-09-14 0.1.0 "slweb Library Reference"
+.TH HANDLER_FREE 3 2023-09-14 0.1.0 "libweb Library Reference"
.SH NAME
handler_free \- free a web server handler object
@@ -6,7 +6,7 @@ handler_free \- free a web server handler object
.SH SYNOPSIS
.LP
.nf
-#include <slweb/handler.h>
+#include <libweb/handler.h>
.P
void handler_free(struct handler *\fIh\fP);
.fi
@@ -29,7 +29,7 @@ No errors are defined.
.SH SEE ALSO
.BR handler_alloc (3),
-.BR slweb_handler (7).
+.BR libweb_handler (7).
.SH COPYRIGHT
Copyright (C) 2023 Xavier Del Campo Romero.
diff --git a/doc/man3/handler_listen.3 b/doc/man3/handler_listen.3
index cc2cfbb..ce001c7 100644
--- a/doc/man3/handler_listen.3
+++ b/doc/man3/handler_listen.3
@@ -1,4 +1,4 @@
-.TH HANDLER_LISTEN 3 2023-09-14 0.1.0 "slweb Library Reference"
+.TH HANDLER_LISTEN 3 2023-09-14 0.1.0 "libweb Library Reference"
.SH NAME
handler_listen \- listen to and handle incoming connections on a web
@@ -7,7 +7,7 @@ server
.SH SYNOPSIS
.LP
.nf
-#include <slweb/handler.h>
+#include <libweb/handler.h>
.P
int handler_listen(struct handler *\fIh\fP, unsigned short \fIport\fP);
.fi
@@ -46,7 +46,7 @@ No errors are defined.
.SH FUTURE DIRECTIONS
When no configured endpoint matches the incoming request,
-.I slweb
+.I libweb
shall respond with a
.B 404 Not Found
HTTP status code with no payload. Since some library users might want
@@ -61,7 +61,7 @@ similarly to its member
.BR handler_alloc (3),
.BR handler_free (3),
.BR handler_add (3),
-.BR slweb_handler (7),
+.BR libweb_handler (7),
.BR signal (7).
.SH COPYRIGHT
diff --git a/doc/man3/html_node_add_attr.3 b/doc/man3/html_node_add_attr.3
index d6d3bf0..361a2a7 100644
--- a/doc/man3/html_node_add_attr.3
+++ b/doc/man3/html_node_add_attr.3
@@ -1,4 +1,4 @@
-.TH HTML_NODE_ADD_ATTR 3 2023-09-24 0.1.0 "slweb Library Reference"
+.TH HTML_NODE_ADD_ATTR 3 2023-09-24 0.1.0 "libweb Library Reference"
.SH NAME
html_node_add_attr \- add attribute to a HTML node
@@ -6,7 +6,7 @@ html_node_add_attr \- add attribute to a HTML node
.SH SYNOPSIS
.LP
.nf
-#include <slweb/html.h>
+#include <libweb/html.h>
.P
int html_node_add_attr(struct html_node *\fIn\fP, const char *\fIattr\fP, const char *\fIval\fP);
.fi
@@ -27,7 +27,7 @@ is a null-terminated string with the name of the attribute.
.I val
is a null-terminated string with the value for the attribute.
-.I slweb
+.I libweb
allocates copies of the null-terminated strings defined by
.I attr
and
@@ -66,7 +66,7 @@ No errors are defined.
.BR html_node_free (3),
.BR html_node_set_value (3),
.BR html_node_set_value_unescaped (3),
-.BR slweb_http (7).
+.BR libweb_http (7).
.SH COPYRIGHT
Copyright (C) 2023 Xavier Del Campo Romero.
diff --git a/doc/man3/html_node_add_child.3 b/doc/man3/html_node_add_child.3
index 360f968..964d328 100644
--- a/doc/man3/html_node_add_child.3
+++ b/doc/man3/html_node_add_child.3
@@ -1,4 +1,4 @@
-.TH HTML_NODE_ADD_CHILD 3 2023-09-25 0.1.0 "slweb Library Reference"
+.TH HTML_NODE_ADD_CHILD 3 2023-09-25 0.1.0 "libweb Library Reference"
.SH NAME
html_node_add_child \- add child to a HTML node
@@ -6,7 +6,7 @@ html_node_add_child \- add child to a HTML node
.SH SYNOPSIS
.LP
.nf
-#include <slweb/html.h>
+#include <libweb/html.h>
.P
struct html_node *html_node_add_child(struct html_node *\fIn\fP, const char *\fIelem\fP);
.fi
@@ -41,7 +41,7 @@ and one child node:
.in +4n
.EX
#include <dynstr.h>
-#include <slweb/html.h>
+#include <libweb/html.h>
#include <stdio.h>
#include <stdlib.h>
@@ -105,7 +105,7 @@ if
fails.
Internally,
-.I slweb
+.I libweb
calls
.IR html_node_add_sibling (3)
from a child node when a node already has one.
@@ -113,7 +113,7 @@ from a child node when a node already has one.
.SH SEE ALSO
.BR html_node_alloc (3),
.BR html_node_add_sibling (3),
-.BR slweb_http (7).
+.BR libweb_http (7).
.SH COPYRIGHT
Copyright (C) 2023 Xavier Del Campo Romero.
diff --git a/doc/man3/html_node_add_sibling.3 b/doc/man3/html_node_add_sibling.3
index 951242f..625f4dc 100644
--- a/doc/man3/html_node_add_sibling.3
+++ b/doc/man3/html_node_add_sibling.3
@@ -1,4 +1,4 @@
-.TH HTML_NODE_ADD_SIBLING 3 2023-09-25 0.1.0 "slweb Library Reference"
+.TH HTML_NODE_ADD_SIBLING 3 2023-09-25 0.1.0 "libweb Library Reference"
.SH NAME
html_node_add_sibling \- add sibling to a HTML node
@@ -6,7 +6,7 @@ html_node_add_sibling \- add sibling to a HTML node
.SH SYNOPSIS
.LP
.nf
-#include <slweb/html.h>
+#include <libweb/html.h>
.P
void html_node_add_sibling(struct html_node *\fIn\fP, struct html_node *\fIsibling\fP);
.fi
@@ -44,7 +44,7 @@ was still made public so as to cover possibly less common use cases.
.SH SEE ALSO
.BR html_node_alloc (3),
.BR html_node_add_child (3),
-.BR slweb_http (7).
+.BR libweb_http (7).
.SH COPYRIGHT
Copyright (C) 2023 Xavier Del Campo Romero.
diff --git a/doc/man3/html_node_alloc.3 b/doc/man3/html_node_alloc.3
index 9551bd3..260b0ee 100644
--- a/doc/man3/html_node_alloc.3
+++ b/doc/man3/html_node_alloc.3
@@ -1,4 +1,4 @@
-.TH HTML_NODE_ALLOC 3 2023-09-15 0.1.0 "slweb Library Reference"
+.TH HTML_NODE_ALLOC 3 2023-09-15 0.1.0 "libweb Library Reference"
.SH NAME
html_node_alloc \- allocate a HTML node
@@ -6,7 +6,7 @@ html_node_alloc \- allocate a HTML node
.SH SYNOPSIS
.LP
.nf
-#include <slweb/html.h>
+#include <libweb/html.h>
.P
struct html_node *html_node_alloc(const char *\fIelement\fP);
.fi
@@ -22,7 +22,7 @@ is the name of the HTML tag.
.I "struct html_node"
is an opaque object internal to
-.I slweb
+.I libweb
and therefore is not accessible to callers.
.SH RETURN VALUE
@@ -64,7 +64,7 @@ it via
.BR html_node_add_attr (3),
.BR html_node_add_child (3),
.BR html_node_add_sibling (3),
-.BR slweb_html (7).
+.BR libweb_html (7).
.SH COPYRIGHT
Copyright (C) 2023 Xavier Del Campo Romero.
diff --git a/doc/man3/html_node_free.3 b/doc/man3/html_node_free.3
index 6efc9ed..ddafb61 100644
--- a/doc/man3/html_node_free.3
+++ b/doc/man3/html_node_free.3
@@ -1,4 +1,4 @@
-.TH HTML_NODE_FREE 3 2023-09-16 0.1.0 "slweb Library Reference"
+.TH HTML_NODE_FREE 3 2023-09-16 0.1.0 "libweb Library Reference"
.SH NAME
html_node_free \- free a HTML node and its children
@@ -6,7 +6,7 @@ html_node_free \- free a HTML node and its children
.SH SYNOPSIS
.LP
.nf
-#include <slweb/html.h>
+#include <libweb/html.h>
.P
void html_node_free(struct html_node *\fIn\fP);
.fi
@@ -37,7 +37,7 @@ for a child node.
.SH SEE ALSO
.BR html_node_alloc (3),
-.BR slweb_html (7).
+.BR libweb_html (7).
.SH COPYRIGHT
Copyright (C) 2023 Xavier Del Campo Romero.
diff --git a/doc/man3/html_node_set_value.3 b/doc/man3/html_node_set_value.3
index bc6dc9c..e99cba6 100644
--- a/doc/man3/html_node_set_value.3
+++ b/doc/man3/html_node_set_value.3
@@ -1,4 +1,4 @@
-.TH HTML_NODE_SET_VALUE 3 2023-09-24 0.1.0 "slweb Library Reference"
+.TH HTML_NODE_SET_VALUE 3 2023-09-24 0.1.0 "libweb Library Reference"
.SH NAME
html_node_set_value \- set value to a HTML node
@@ -6,7 +6,7 @@ html_node_set_value \- set value to a HTML node
.SH SYNOPSIS
.LP
.nf
-#include <slweb/html.h>
+#include <libweb/html.h>
.P
int html_node_set_value(struct html_node *\fIn\fP, const char *\fIval\fP);
.fi
@@ -25,7 +25,7 @@ or
.I val
is a null-terminated string with the value to be assigned to the node.
-.I slweb
+.I libweb
allocates a copy of the null-terminated string defined by
.IR val .
@@ -69,7 +69,7 @@ No errors are defined.
.BR html_node_free (3),
.BR html_node_set_value_unescaped (3),
.BR html_node_add_attr (3),
-.BR slweb_http (7).
+.BR libweb_http (7).
.SH COPYRIGHT
Copyright (C) 2023 Xavier Del Campo Romero.
diff --git a/doc/man3/html_node_set_value_unescaped.3 b/doc/man3/html_node_set_value_unescaped.3
index 7c3a897..7f26aef 100644
--- a/doc/man3/html_node_set_value_unescaped.3
+++ b/doc/man3/html_node_set_value_unescaped.3
@@ -1,4 +1,4 @@
-.TH HTML_NODE_SET_VALUE_UNESCAPED 3 2023-09-24 0.1.0 "slweb Library Reference"
+.TH HTML_NODE_SET_VALUE_UNESCAPED 3 2023-09-24 0.1.0 "libweb Library Reference"
.SH NAME
html_node_set_value_unescaped \- set value to a HTML node
@@ -6,7 +6,7 @@ html_node_set_value_unescaped \- set value to a HTML node
.SH SYNOPSIS
.LP
.nf
-#include <slweb/html.h>
+#include <libweb/html.h>
.P
int html_node_set_value_unescaped(struct html_node *\fIn\fP, const char *\fIval\fP);
.fi
@@ -25,7 +25,7 @@ or
.I val
is a null-terminated string with the value to be assigned to the node.
-.I slweb
+.I libweb
allocates a copy of the null-terminated string defined by
.IR val .
@@ -70,7 +70,7 @@ No errors are defined.
.BR html_node_free (3),
.BR html_node_set_value (3),
.BR html_node_add_attr (3),
-.BR slweb_http (7).
+.BR libweb_http (7).
.SH COPYRIGHT
Copyright (C) 2023 Xavier Del Campo Romero.
diff --git a/doc/man3/html_serialize.3 b/doc/man3/html_serialize.3
index 59700f1..0e12c11 100644
--- a/doc/man3/html_serialize.3
+++ b/doc/man3/html_serialize.3
@@ -1,4 +1,4 @@
-.TH HTML_SERIALIZE 3 2023-09-24 0.1.0 "slweb Library Reference"
+.TH HTML_SERIALIZE 3 2023-09-24 0.1.0 "libweb Library Reference"
.SH NAME
html_serialize \- add attribute to a HTML node
@@ -6,7 +6,7 @@ html_serialize \- add attribute to a HTML node
.SH SYNOPSIS
.LP
.nf
-#include <slweb/html.h>
+#include <libweb/html.h>
.P
int html_serialize(const struct html_node *\fIn\fP, struct dynstr *\fId\fP);
.fi
@@ -41,7 +41,7 @@ No errors are defined.
.BR html_node_add_attr (3),
.BR html_node_set_value (3),
.BR html_node_set_value_unescaped (3),
-.BR slweb_http (7).
+.BR libweb_http (7).
.SH COPYRIGHT
Copyright (C) 2023 Xavier Del Campo Romero.
diff --git a/doc/man3/http_alloc.3 b/doc/man3/http_alloc.3
index 4b9e19b..a54046c 100644
--- a/doc/man3/http_alloc.3
+++ b/doc/man3/http_alloc.3
@@ -1,4 +1,4 @@
-.TH HTTP_ALLOC 3 2023-09-06 0.1.0 "slweb Library Reference"
+.TH HTTP_ALLOC 3 2023-09-06 0.1.0 "libweb Library Reference"
.SH NAME
http_alloc \- allocate a HTTP context object
@@ -6,7 +6,7 @@ http_alloc \- allocate a HTTP context object
.SH SYNOPSIS
.LP
.nf
-#include <slweb/http.h>
+#include <libweb/http.h>
.P
struct http *http_alloc(const struct http_cfg *\fIcfg\fP);
.fi
@@ -17,17 +17,17 @@ The
function allocates a
.I "struct http_ctx"
object, containing the required data by
-.I slweb
+.I libweb
to handle a HTTP connection. This object is meant to be consumed by
other functions from
-.IR slweb .
+.IR libweb .
.I cfg
defines the configuration for the HTTP context, whose structure is defined by
-.IR slweb_http (7).
+.IR libweb_http (7).
.I "struct http_ctx"
is an opaque object internal to
-.I slweb
+.I libweb
and therefore is not accessible to callers.
.SH RETURN VALUE
@@ -46,12 +46,12 @@ for a list of possible errors.
.SH NOTES
This function is designed for internal use by
-\fIslweb\fR.
+\fIlibweb\fR.
.SH SEE ALSO
.BR http_free (3),
.BR http_update (3),
-.BR slweb_http (7).
+.BR libweb_http (7).
.SH COPYRIGHT
Copyright (C) 2023 Xavier Del Campo Romero.
diff --git a/doc/man3/http_cookie_create.3 b/doc/man3/http_cookie_create.3
index 6587b24..2ad4d65 100644
--- a/doc/man3/http_cookie_create.3
+++ b/doc/man3/http_cookie_create.3
@@ -1,4 +1,4 @@
-.TH HTTP_COOKIE_CREATE 3 2023-09-07 0.1.0 "slweb Library Reference"
+.TH HTTP_COOKIE_CREATE 3 2023-09-07 0.1.0 "libweb Library Reference"
.SH NAME
http_cookie_create \- creates a HTTP/1.1 cookie
@@ -6,7 +6,7 @@ http_cookie_create \- creates a HTTP/1.1 cookie
.SH SYNOPSIS
.LP
.nf
-#include <slweb/http.h>
+#include <libweb/http.h>
.P
char *http_cookie_create(const char *\fIkey\fP, const char *\fIvalue\fP);
.fi
@@ -50,14 +50,14 @@ ExampleHeader=ExampleValue; HttpOnly; Expires Wed, 07 Sep 2023 00:00:00 GMT
.SH FUTURE DIRECTIONS
-.I slweb
+.I libweb
sets a 1-year expiration date for HTTP cookies due to arbitrary design
limitations. Future versions of this library shall allow a custom
expiration date as an additional parameter to
.IR http_cookie_create (3).
.SH SEE ALSO
-.BR slweb_http (7).
+.BR libweb_http (7).
.SH COPYRIGHT
Copyright (C) 2023 Xavier Del Campo Romero.
diff --git a/doc/man3/http_encode_url.3 b/doc/man3/http_encode_url.3
index 94bd7f8..406b2a6 100644
--- a/doc/man3/http_encode_url.3
+++ b/doc/man3/http_encode_url.3
@@ -1,4 +1,4 @@
-.TH HTTP_ENCODE_URL 3 2023-09-07 0.1.0 "slweb Library Reference"
+.TH HTTP_ENCODE_URL 3 2023-09-07 0.1.0 "libweb Library Reference"
.SH NAME
http_encode_url \- allocates a percent-encoded null-terminated string
@@ -6,7 +6,7 @@ http_encode_url \- allocates a percent-encoded null-terminated string
.SH SYNOPSIS
.LP
.nf
-#include <slweb/http.h>
+#include <libweb/http.h>
.P
char *http_encode_url(const char *\fIurl\fP);
.fi
@@ -27,7 +27,7 @@ No errors are defined.
.SH SEE ALSO
.BR http_decode_url (3),
-.BR slweb_http (7).
+.BR libweb_http (7).
.SH COPYRIGHT
Copyright (C) 2023 Xavier Del Campo Romero.
diff --git a/doc/man3/http_free.3 b/doc/man3/http_free.3
index 3b8b61d..a4f2079 100644
--- a/doc/man3/http_free.3
+++ b/doc/man3/http_free.3
@@ -1,4 +1,4 @@
-.TH HTTP_FREE 3 2023-09-06 0.1.0 "slweb Library Reference"
+.TH HTTP_FREE 3 2023-09-06 0.1.0 "libweb Library Reference"
.SH NAME
http_free \- free a HTTP context object
@@ -6,7 +6,7 @@ http_free \- free a HTTP context object
.SH SYNOPSIS
.LP
.nf
-#include <slweb/http.h>
+#include <libweb/http.h>
.P
void http_free(struct http_ctx *\fIh\fP);
.fi
@@ -30,7 +30,7 @@ No errors are defined.
.SH SEE ALSO
.BR http_alloc (3),
.BR http_update (3),
-.BR slweb_http (7).
+.BR libweb_http (7).
.SH COPYRIGHT
Copyright (C) 2023 Xavier Del Campo Romero.
diff --git a/doc/man3/http_response_add_header.3 b/doc/man3/http_response_add_header.3
index 4f033ea..4ce9132 100644
--- a/doc/man3/http_response_add_header.3
+++ b/doc/man3/http_response_add_header.3
@@ -1,4 +1,4 @@
-.TH HTTP_RESPONSE_ADD_HEADER 3 2023-09-07 0.1.0 "slweb Library Reference"
+.TH HTTP_RESPONSE_ADD_HEADER 3 2023-09-07 0.1.0 "libweb Library Reference"
.SH NAME
http_response_add_header \- adds a HTTP/1.1 header to a response
@@ -6,7 +6,7 @@ http_response_add_header \- adds a HTTP/1.1 header to a response
.SH SYNOPSIS
.LP
.nf
-#include <slweb/http.h>
+#include <libweb/http.h>
.P
int http_response_add_header(struct http_response *\fIr\fP, const char *\fIheader\fP, const char *\fIvalue\fP);
.fi
@@ -42,7 +42,7 @@ and
for a list of possible errors.
.SH SEE ALSO
-.BR slweb_http (7).
+.BR libweb_http (7).
.SH COPYRIGHT
Copyright (C) 2023 Xavier Del Campo Romero.
diff --git a/doc/man3/http_update.3 b/doc/man3/http_update.3
index 7f54608..c4537d9 100644
--- a/doc/man3/http_update.3
+++ b/doc/man3/http_update.3
@@ -1,4 +1,4 @@
-.TH HTTP_UPDATE 3 2023-09-06 0.1.0 "slweb Library Reference"
+.TH HTTP_UPDATE 3 2023-09-06 0.1.0 "libweb Library Reference"
.SH NAME
http_update \- updates a HTTP context object
@@ -6,7 +6,7 @@ http_update \- updates a HTTP context object
.SH SYNOPSIS
.LP
.nf
-#include <slweb/http.h>
+#include <libweb/http.h>
.P
int http_update(struct http_ctx *\fIh\fP, bool *\fIwrite\fP, bool *\fIclose\fP);
.fi
@@ -60,12 +60,12 @@ No errors are defined.
.SH NOTES
This function is designed for internal use by
-.IR slweb .
+.IR libweb .
.SH SEE ALSO
.BR http_free (3),
.BR http_update (3),
-.BR slweb_http (7).
+.BR libweb_http (7).
.SH COPYRIGHT
Copyright (C) 2023 Xavier Del Campo Romero.
diff --git a/doc/man7/Makefile b/doc/man7/Makefile
index 4945d1f..c4e1ca7 100644
--- a/doc/man7/Makefile
+++ b/doc/man7/Makefile
@@ -3,9 +3,9 @@
PREFIX = /usr/local
DST = $(PREFIX)/share/man/man7
OBJECTS = \
- $(DST)/slweb_handler.7 \
- $(DST)/slweb_html.7 \
- $(DST)/slweb_http.7
+ $(DST)/libweb_handler.7 \
+ $(DST)/libweb_html.7 \
+ $(DST)/libweb_http.7
all:
diff --git a/doc/man7/slweb_handler.7 b/doc/man7/libweb_handler.7
index 53fb156..5c910e0 100644
--- a/doc/man7/slweb_handler.7
+++ b/doc/man7/libweb_handler.7
@@ -1,36 +1,36 @@
-.TH SLWEB_HANDLER 7 2023-09-15 0.1.0 "slweb Library Reference"
+.TH LIBWEB_HANDLER 7 2023-09-15 0.1.0 "libweb Library Reference"
.SH NAME
-slweb_handler \- slweb high-level website configuration
+libweb_handler \- libweb high-level website configuration
.SH SYNOPSIS
.LP
.nf
-#include <slweb/handler.h>
+#include <libweb/handler.h>
.fi
.SH DESCRIPTION
This component provides abstractions that allow library users to
define the behaviour of a web server. Whereas
-.IR slweb_http (7)
+.IR libweb_http (7)
defines the HTTP/1.1 server implementation and provides a data type
(namely
.IR "struct http_ctx" )
to handle an incoming connection,
-.IR slweb_handler (7):
+.IR libweb_handler (7):
.IP \(bu 2
Defines the list of endpoints and supported operations.
.IP \(bu 2
Defines the port
-.I slweb
+.I libweb
must listen to.
.IP \(bu 2
Keeps track of all
.I struct http_ctx
objects.
-.IR slweb_handler (7)
+.IR libweb_handler (7)
provides the following functions:
.IP \(bu 2
@@ -83,7 +83,7 @@ are passed directly to the
object used to initialize a
.I struct http_ctx
object. See
-.IR slweb_http (7)
+.IR libweb_http (7)
for further reference about these members.
However, a
@@ -104,7 +104,7 @@ typedef int (*\fIhandler_fn\fP)(const struct http_payload *\fIp\fP, struct http_
.PP
Please read
-.IR slweb_http (7)
+.IR libweb_http (7)
for further refence on
.I "struct http_payload"
and
@@ -124,16 +124,16 @@ and
\fI/index.html\fP
as its endpoints. For the sake of simplicity, a static response body is
returned, instead of using
-.IR slweb_html (7)
+.IR libweb_html (7)
to generate HTML data. Please read
-.IR slweb_html (7)
+.IR libweb_html (7)
for further reference on how to generate dynamic content.
.PP
.in +4n
.EX
-#include <slweb/handler.h>
-#include <slweb/http.h>
+#include <libweb/handler.h>
+#include <libweb/http.h>
#include <stddef.h>
#include <stdlib.h>
@@ -142,7 +142,7 @@ static int hello(const struct http_payload *const pl,
{
static const char page[] =
{
- "<html><body><p>Hello from slweb!</p></body></html>"
+ "<html><body><p>Hello from libweb!</p></body></html>"
};
*r = (const struct http_response)
@@ -218,7 +218,7 @@ end:
.BR handler_alloc (3),
.BR handler_add (3),
.BR handler_free (3),
-.BR slweb_http (7).
+.BR libweb_http (7).
.SH COPYRIGHT
Copyright (C) 2023 Xavier Del Campo Romero.
diff --git a/doc/man7/slweb_html.7 b/doc/man7/libweb_html.7
index db8e224..c6f864a 100644
--- a/doc/man7/slweb_html.7
+++ b/doc/man7/libweb_html.7
@@ -1,12 +1,12 @@
-.TH SLWEB_HTML 7 2023-09-15 0.1.0 "slweb Library Reference"
+.TH LIBWEB_HTML 7 2023-09-15 0.1.0 "libweb Library Reference"
.SH NAME
-slweb_html \- slweb HTML serializer
+libweb_html \- libweb HTML serializer
.SH SYNOPSIS
.LP
.nf
-#include <slweb/html.h>
+#include <libweb/html.h>
.fi
.SH DESCRIPTION
@@ -14,7 +14,7 @@ This component allows library users to serialize HTML text from a tree
structure composed by one or more
.I struct html_node
objects.
-.IR slweb_html (7)
+.IR libweb_html (7)
provides the following functions:
.IP \(bu 2
@@ -94,13 +94,13 @@ shall free the memory used by the root node and all of its children.
.SH EXAMPLE
The example below is a minimal showcase of some of the features
provided by
-.IR slweb_html (7),
+.IR libweb_html (7),
which prints a minimal HTML file to standard output:
.PP
.in +4n
.EX
-#include <slweb/html.h>
+#include <libweb/html.h>
#include <dynstr.h>
#include <stdlib.h>
#include <stdio.h>
@@ -110,7 +110,7 @@ int main()
int ret = EXIT_FAILURE;
struct dynstr d;
struct html_node *const html = html_node_alloc("html"), *body;
- static const char text[] = "testing slweb";
+ static const char text[] = "testing libweb";
dynstr_init(&d);
@@ -152,7 +152,7 @@ This program should write the following data over standard output:
.in +4n
.EX
<html>
- <body>testing slweb</body>
+ <body>testing libweb</body>
</html>
.EE
.in
@@ -167,7 +167,7 @@ This program should write the following data over standard output:
.BR html_node_add_child (3),
.BR html_node_add_sibling (3),
.BR html_serialize (3),
-.BR slweb_html (7).
+.BR libweb_html (7).
.SH COPYRIGHT
Copyright (C) 2023 Xavier Del Campo Romero.
diff --git a/doc/man7/slweb_http.7 b/doc/man7/libweb_http.7
index 682c378..329a616 100644
--- a/doc/man7/slweb_http.7
+++ b/doc/man7/libweb_http.7
@@ -1,17 +1,17 @@
-.TH SLWEB_HTTP 7 2023-09-15 0.1.0 "slweb Library Reference"
+.TH LIBWEB_HTTP 7 2023-09-15 0.1.0 "libweb Library Reference"
.SH NAME
-slweb_http \- slweb HTTP connection handling and utilities
+libweb_http \- libweb HTTP connection handling and utilities
.SH SYNOPSIS
.LP
.nf
-#include <slweb/http.h>
+#include <libweb/http.h>
.fi
.SH DESCRIPTION
As one of its key features,
-\fIslweb\fR
+\fIlibweb\fR
provides a HTTP/1.1-compatible server implementation that can be
embedded into applications as a library. While not a complete HTTP/1.1
server implementation, the following features are supported:
@@ -42,7 +42,7 @@ The functions listed below are meant for library users:
.SS HTTP connection-related functions
The functions listed below are meant for internal use by
-.IR slweb :
+.IR libweb :
.IP \(bu 2
.IR http_alloc (3).
@@ -56,7 +56,7 @@ For example, a list of endpoints is required to define its behaviour,
and
.I struct http
objects must be stored somewhere as long as the connections are active.
-.IR slweb_handler (7)
+.IR libweb_handler (7)
is the component meant to provide the missing pieces that conform a
working web server.
@@ -127,7 +127,7 @@ On error, a negative integer is returned.
.I payload
is a function pointer called by
-.I slweb
+.I libweb
when a new HTTP request has been received.
.I p
is a read-only pointer to a
@@ -151,7 +151,7 @@ returned.
.I length
is a function pointer called by
-.I slweb
+.I libweb
when an incoming HTTP request from a client requires to store one or
more files on the server, encoded as
.IR multipart/form-data .
@@ -198,7 +198,7 @@ can be a null pointer.
.SS HTTP payload
When a client submits a request to the server,
-.I slweb
+.I libweb
prepares a high-level data structure, called
.IR "struct http_payload" ,
and passes it to the function pointer defined by
@@ -273,19 +273,19 @@ handles differently:
.IP \(bu 2
.IR application/x-www-form-urlencoded :
suggested for smaller payloads.
-.I slweb
+.I libweb
shall store the payload in memory, limiting its maximum size to
.BR "7999 octets" .
.IP \(bu 2
.IR multipart/form-data :
suggested for larger and/or binary payloads.
-.I slweb
+.I libweb
shall store each non-file name-value pair in memory, limiting the value
length to
.BR "8000 octets" .
On the other hand,
-.I slweb
+.I libweb
shall store each file into the temporary directory defined by
.I struct http_cfg
member
@@ -377,7 +377,7 @@ shall be a null pointer.
.SS HTTP responses
Some function pointers used by
-.I slweb
+.I libweb
require to initialize a
.I "struct http_response"
object that defines the response that must be sent to the client.
@@ -437,7 +437,7 @@ is a read-only opaque pointer to a buffer in memory, whose length is
defined by
.I n
(see definition below).
-.I slweb
+.I libweb
shall select
.I ro
as the output payload if both
@@ -452,7 +452,7 @@ is non-zero.
is an opaque pointer to a buffer in memory, whose length is defined by
.I n
(see definition below).
-.I slweb
+.I libweb
shall select
.I rw
as the output payload if both
@@ -471,7 +471,7 @@ is a
pointer opened for reading that defines the payload to be sent to the
client, whose length is defined by
.IR n .
-.I slweb
+.I libweb
shall select
.I f
as the output payload if
@@ -514,20 +514,20 @@ must be a null pointer.
.SS Transport Layer Security (TLS)
By design,
-.I slweb
+.I libweb
does
.BI not
implement TLS (Transport Layer Security). It is assumed this should
be provided by a reverse proxy instead, a kind of project that is
usually maintained by a larger community than
-.I slweb
+.I libweb
and audited for security vulnerabilities.
.SH NOTES
.SS Comparing against other HTTP server implementations
While it is well understood that other solutions provide fully-fledged
server implementations as standalone executables,
-.I slweb
+.I libweb
strives to be as small and easy to use as possible, intentionally
limiting its scope while covering a good range of use cases.
@@ -550,13 +550,13 @@ or
.BR -- .
This means it is not possible for
-.I slweb
+.I libweb
to determine the number of files or their lengths in a HTTP request
unless the whole request is read, which not might be possible for large
requests. Therefore, the
.B Content-Length
is the only rough estimation
-.I slweb
+.I libweb
can rely on, and therefore is the value passed to the
.I length
function pointer in
@@ -568,7 +568,7 @@ function pointer in
The handling of
.B 100-continue
requests is not done correctly:
-.I slweb
+.I libweb
calls the function pointed to by
.I "struct http_cfg"
member
@@ -581,7 +581,7 @@ headers are processed.
.SH FUTURE DIRECTIONS
.SS Limitations on the number of HTTP cookies
So far,
-.I slweb
+.I libweb
shall only append at most
.B one
HTTP cookie to a
@@ -599,12 +599,12 @@ object containing the number of HTTP cookies in the request.
.SS Handling application/x-www-form-urlencoded data
Due to historical reasons,
-.I slweb
+.I libweb
treated
.IR application/x-www-form-urlencoded -data
as a binary blob. While this was changed to a null-terminated string in
order to allow applications to avoid unnecessary memory allocations,
-.I slweb
+.I libweb
still does not decode the data, instead forcing applications to do so.
Future versions of this library shall replace
.I "struct http_post"
@@ -622,7 +622,7 @@ as a union that only holds one possible data type. While this might
look counterintuitive, this is because
.B POST
is the only HTTP/1.1 operation
-.I slweb
+.I libweb
supports that requires to store a payload. However, future versions of
this library might extend its support for other HTTP/1.1 operations
that could require to store a payload, while keeping the memory