<feed xmlns='http://www.w3.org/2005/Atom'>
<title>xavi/libweb/doc, branch master</title>
<subtitle>Small and lightweight web framework written in C99 and POSIX.1-2008.
</subtitle>
<id>https://gitea.privatedns.org/xavi/libweb/atom?h=master</id>
<link rel='self' href='https://gitea.privatedns.org/xavi/libweb/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/libweb/'/>
<updated>2026-02-27T15:29:06+00:00</updated>
<entry>
<title>Add http_strcasecmp(3)</title>
<updated>2026-02-27T15:29:06+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2026-02-27T14:28:17+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/libweb/commit/?id=6353beb60ceafbc743bde96684d666582195192f'/>
<id>urn:sha1:6353beb60ceafbc743bde96684d666582195192f</id>
<content type='text'>
POSIX.1-2008 does not any locale-specific version of strcasecmp(3), so
conversions to lowercase depend on the system locale.

Since HTTP header fields must be checked without case sensitivity and
not depend on the system locale, a specialised function that forces the
"POSIX" locale is required.
</content>
</entry>
<entry>
<title>Add http_strncasecmp(3)</title>
<updated>2026-02-27T15:28:52+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2026-02-27T11:30:45+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/libweb/commit/?id=d783e794c2fa6a9e6bffff9f41cdb7e8033bf3c3'/>
<id>urn:sha1:d783e794c2fa6a9e6bffff9f41cdb7e8033bf3c3</id>
<content type='text'>
POSIX.1-2008 does not any locale-specific version of strncasecmp(3), so
conversions to lowercase depend on the system locale.

Since HTTP header fields must be checked without case sensitivity and
not depend on the system locale, a specialised function that forces the
"POSIX" locale is required.
</content>
</entry>
<entry>
<title>Add HTTP op and resource to length callback</title>
<updated>2026-02-12T15:59:55+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2026-02-12T15:59:55+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/libweb/commit/?id=87807c690947f4636dc4dd7fddca15f944719f0c'/>
<id>urn:sha1:87807c690947f4636dc4dd7fddca15f944719f0c</id>
<content type='text'>
Users might want to know which HTTP operation (i.e., POST or PUT) and/or
resource is being requested before determining whether the request
should be accepted or not.
</content>
</entry>
<entry>
<title>Add optional expiration date to http_cookie_create</title>
<updated>2026-02-12T15:10:37+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2026-02-12T14:55:13+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/libweb/commit/?id=1b2a52d214d92f543c9e0651f56c3292b23655a5'/>
<id>urn:sha1:1b2a52d214d92f543c9e0651f56c3292b23655a5</id>
<content type='text'>
So far, libweb had been arbitrarily appending a 1-year expiration date
to all HTTP cookies. While good enough for some contexts, libweb should
allow users to set up their own, if any, so this arbitary decision has
been eventually removed.
</content>
</entry>
<entry>
<title>Add man3 pages for the form API</title>
<updated>2025-10-09T09:28:59+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2025-10-09T09:18:03+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/libweb/commit/?id=de7f4b2ffcd92dfeada9235ce857b801a4851da7'/>
<id>urn:sha1:de7f4b2ffcd92dfeada9235ce857b801a4851da7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Free chunk/step user data on context free</title>
<updated>2025-10-07T23:57:42+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2025-10-07T23:51:15+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/libweb/commit/?id=e85d90fbf37cbd5a3264a2debd9b51438836c729'/>
<id>urn:sha1:e85d90fbf37cbd5a3264a2debd9b51438836c729</id>
<content type='text'>
So far, users had no way to free user-defined data allocated inside the
chunk/step function pointers whenever an error occurred.

Now, the free callback can be also used in conjunction with chunk/step,
so that user-defined data is now deallocated when the operation
finishes (in the case of chunk-encoded data) or an error occurs.
</content>
</entry>
<entry>
<title>libweb_http.7: Remove obsolete information</title>
<updated>2025-10-07T23:57:42+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2025-10-07T21:33:20+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/libweb/commit/?id=594917d7b2170f7e946e2cc7e9c5de3f6e4775be'/>
<id>urn:sha1:594917d7b2170f7e946e2cc7e9c5de3f6e4775be</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement HTTP chunk encoding</title>
<updated>2025-10-07T23:57:42+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2025-10-06T21:01:42+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/libweb/commit/?id=e77bd93693a74ce872d4c13fb45537c34518d84f'/>
<id>urn:sha1:e77bd93693a74ce872d4c13fb45537c34518d84f</id>
<content type='text'>
A new function pointer, namely chunk, has been added to struct
http_response so that library users can generate their message bodies
dynamically.
</content>
</entry>
<entry>
<title>Allow custom backlog connections</title>
<updated>2025-10-06T19:03:59+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2025-10-06T19:03:59+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/libweb/commit/?id=db9cb051c4ee05c07ab32dfed5bae8b7dc0916bd'/>
<id>urn:sha1:db9cb051c4ee05c07ab32dfed5bae8b7dc0916bd</id>
<content type='text'>
libweb calls listen(2) when setting up the HTTP server, and its backlog
argument was hardcoded to 10. While probably not an issue for some
applications, it can be too limiting for some others.

Therefore, it is desirable to allow library users to set up their own
limits. Otherwise, 10 is still chosen as a sane default.
</content>
</entry>
<entry>
<title>libweb_http.7: Add note about HTTP responses</title>
<updated>2025-10-06T14:27:21+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2025-10-06T14:27:21+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/libweb/commit/?id=4918cf87d3cf5d3dd8425fe10d97a06282472df6'/>
<id>urn:sha1:4918cf87d3cf5d3dd8425fe10d97a06282472df6</id>
<content type='text'>
</content>
</entry>
</feed>
