From 0222b75e8554796548e079aa3393c512ae30ac24 Mon Sep 17 00:00:00 2001 From: Xavier Del Campo Romero Date: Tue, 10 Oct 2023 23:21:35 +0200 Subject: [PATCH] Rename project from slweb to libweb 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. --- CMakeLists.txt | 12 ++--- Makefile | 10 ++-- README.md | 50 +++++++++--------- doc/man3/handler_add.3 | 10 ++-- doc/man3/handler_alloc.3 | 14 ++--- doc/man3/handler_free.3 | 6 +-- doc/man3/handler_listen.3 | 8 +-- doc/man3/html_node_add_attr.3 | 8 +-- doc/man3/html_node_add_child.3 | 10 ++-- doc/man3/html_node_add_sibling.3 | 6 +-- doc/man3/html_node_alloc.3 | 8 +-- doc/man3/html_node_free.3 | 6 +-- doc/man3/html_node_set_value.3 | 8 +-- doc/man3/html_node_set_value_unescaped.3 | 8 +-- doc/man3/html_serialize.3 | 6 +-- doc/man3/http_alloc.3 | 16 +++--- doc/man3/http_cookie_create.3 | 8 +-- doc/man3/http_encode_url.3 | 6 +-- doc/man3/http_free.3 | 6 +-- doc/man3/http_response_add_header.3 | 6 +-- doc/man3/http_update.3 | 8 +-- doc/man7/Makefile | 6 +-- .../{slweb_handler.7 => libweb_handler.7} | 30 +++++------ doc/man7/{slweb_html.7 => libweb_html.7} | 18 +++---- doc/man7/{slweb_http.7 => libweb_http.7} | 52 +++++++++---------- examples/hello/CMakeLists.txt | 2 +- examples/hello/Makefile | 10 ++-- examples/hello/README.md | 4 +- examples/hello/main.c | 8 +-- examples/html/CMakeLists.txt | 2 +- examples/html/Makefile | 10 ++-- examples/html/README.md | 2 +- examples/html/main.c | 4 +- handler.c | 8 +-- html.c | 2 +- http.c | 2 +- include/{slweb => libweb}/handler.h | 2 +- include/{slweb => libweb}/html.h | 0 include/{slweb => libweb}/http.h | 0 include/{slweb => libweb}/server.h | 0 include/{slweb => libweb}/wildcard_cmp.h | 0 slweb.pc => libweb.pc | 6 +-- server.c | 2 +- wildcard_cmp.c | 2 +- 44 files changed, 196 insertions(+), 196 deletions(-) rename doc/man7/{slweb_handler.7 => libweb_handler.7} (90%) rename doc/man7/{slweb_html.7 => libweb_html.7} (92%) rename doc/man7/{slweb_http.7 => libweb_http.7} (97%) rename include/{slweb => libweb}/handler.h (96%) rename include/{slweb => libweb}/html.h (100%) rename include/{slweb => libweb}/http.h (100%) rename include/{slweb => libweb}/server.h (100%) rename include/{slweb => libweb}/wildcard_cmp.h (100%) rename slweb.pc => libweb.pc (68%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 41d2c8c..1a8bf44 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.13.5) option(BUILD_EXAMPLES "Build examples" ON) -project(slweb C) +project(web C) add_library(${PROJECT_NAME} handler.c html.c @@ -11,12 +11,12 @@ add_subdirectory(dynstr) target_include_directories(${PROJECT_NAME} PUBLIC include) target_link_libraries(${PROJECT_NAME} PUBLIC dynstr) install(TARGETS ${PROJECT_NAME}) -install(DIRECTORY include/slweb TYPE INCLUDE) -file(READ ${CMAKE_CURRENT_LIST_DIR}/slweb.pc slweb_pc) -string(REPLACE /usr/local ${CMAKE_INSTALL_PREFIX} slweb_repl_pc ${slweb_pc}) -file(WRITE ${CMAKE_BINARY_DIR}/slweb.pc ${slweb_repl_pc}) +install(DIRECTORY include/libweb TYPE INCLUDE) +file(READ ${CMAKE_CURRENT_LIST_DIR}/libweb.pc libweb_pc) +string(REPLACE /usr/local ${CMAKE_INSTALL_PREFIX} libweb_repl_pc ${libweb_pc}) +file(WRITE ${CMAKE_BINARY_DIR}/libweb.pc ${libweb_repl_pc}) include(GNUInstallDirs) -install(FILES ${CMAKE_BINARY_DIR}/slweb.pc +install(FILES ${CMAKE_BINARY_DIR}/libweb.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) add_subdirectory(doc) diff --git a/Makefile b/Makefile index 246efdf..ceb27f6 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ .POSIX: -PROJECT = libslweb.a +PROJECT = libweb.a PREFIX = /usr/local DST = $(PREFIX)/lib PC_DST = $(DST)/pkgconfig @@ -17,10 +17,10 @@ OBJECTS = \ all: $(PROJECT) -install: all $(PC_DST)/slweb.pc +install: all $(PC_DST)/libweb.pc mkdir -p $(PREFIX)/include - cp -R include/slweb $(PREFIX)/include - chmod 0644 $(PREFIX)/include/slweb/*.h + cp -R include/libweb $(PREFIX)/include + chmod 0644 $(PREFIX)/include/libweb/*.h mkdir -p $(DST) cp $(PROJECT) $(DST) chmod 0755 $(DST)/$(PROJECT) @@ -38,7 +38,7 @@ examples: FORCE $(PROJECT): $(OBJECTS) $(AR) $(ARFLAGS) $@ $(OBJECTS) -$(PC_DST)/slweb.pc: slweb.pc +$(PC_DST)/libweb.pc: libweb.pc mkdir -p $(PC_DST) sed -e 's,/usr/local,$(PREFIX),' $< > $@ chmod 0644 $@ diff --git a/README.md b/README.md index b608629..7fba559 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ -# slweb, a simple and lightweight web framework +# libweb, a simple and lightweight web framework -`slweb` is a simple and lightweight implementation of a web server, written in +`libweb` is a simple and lightweight implementation of a web server, written in C99 plus POSIX.1-2008 extensions, that can be integrated into applications. ## Disclaimer -Intentionally, `slweb` does not share some of the philosophical views from the +Intentionally, `libweb` does not share some of the philosophical views from the [suckless project](https://suckless.org). However, it still strives towards portability, minimalism, simplicity and efficiency. @@ -22,18 +22,18 @@ the operation (see example below). - Supports [`multiform/form-data`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST) , which makes it useful to transfer large amounts of data, such as binary files. -- [A library](include/slweb/html.h) to write HTML programmatically. +- [A library](include/libweb/html.h) to write HTML programmatically. ### TLS -In order to maintain simplicity and reduce the risk for security bugs, `slweb` +In order to maintain simplicity and reduce the risk for security bugs, `libweb` does **not** implement TLS support. Instead, this should be provided by a reverse proxy, such as [`caddy`](https://caddyserver.com/). ### Root permissions -`slweb` does not require root permissions. So, in order to avoid the -risk for security bugs, **please do not run `slweb` as `root`**. +`libweb` does not require root permissions. So, in order to avoid the +risk for security bugs, **please do not run `libweb` as `root`**. ## Requirements @@ -59,13 +59,13 @@ sudo apt install cmake ## How to use ### Build -Two build environments are provided for `slweb` - feel free to choose any of +Two build environments are provided for `libweb` - feel free to choose any of them: - A mostly POSIX-compliant [`Makefile`](Makefile). - A [`CMakeLists.txt`](CMakeLists.txt). -`slweb` can be built using the standard build process: +`libweb` can be built using the standard build process: #### Make @@ -73,21 +73,21 @@ them: $ make ``` -This would generate a static library, namely `libslweb.a`, on the project +This would generate a static library, namely `libweb.a`, on the project top-level directory. Applications can then call the top-level `Makefile` by -the use of recursive `make`. For example, assuming `slweb` is contained on a +the use of recursive `make`. For example, assuming `libweb` is contained on a subdirectory: ```make -slweb/libslweb.a: - +cd slweb && $(MAKE) +libweb/libweb.a: + +cd libweb && $(MAKE) ``` -Additionally, `slweb` can be installed using the `install` target. A +Additionally, `libweb` can be installed using the `install` target. A custom prefix can be assigned via the `PREFIX` variable: ```sh -$ make PREFIX=$HOME/slweb-prefix install +$ make PREFIX=$HOME/libweb-prefix install ``` By default, `PREFIX` is assigned to `/usr/local`. @@ -101,28 +101,28 @@ $ cmake .. $ cmake --build . ``` -A CMake target, also called `slweb`, is created. This makes it possible -to integrate `slweb` into CMake projects via `add_subdirectory` and +A CMake target, also called `libweb`, is created. This makes it possible +to integrate `libweb` into CMake projects via `add_subdirectory` and `target_link_libraries`. For example: ```cmake project(example) add_executable(${PROJECT_NAME} main.c) -add_subdirectory(slweb) -target_link_libraries(${PROJECT_NAME} PRIVATE slweb) +add_subdirectory(libweb) +target_link_libraries(${PROJECT_NAME} PRIVATE libweb) ``` -Additionally, `slweb` can be installed using the standard procedure +Additionally, `libweb` can be installed using the standard procedure in CMake. As usual, a custom prefix can be assigned via the `CMAKE_INSTALL_PREFIX` variable: ```sh -$ cmake --install build/ -DCMAKE_INSTALL_PREFIX=$HOME/slweb-prefix +$ cmake --install build/ -DCMAKE_INSTALL_PREFIX=$HOME/libweb-prefix ``` ### Examples -[A directory](examples) with examples shows how `slweb` can be used by +[A directory](examples) with examples shows how `libweb` can be used by applications. These can be built from the top-level directory with: ```sh @@ -141,7 +141,7 @@ $ cmake --build . ## Why this project? -Originally, `slweb` was part of the +Originally, `libweb` was part of the [`slcl`](https://gitea.privatedns.org/xavi92/slcl) project, a lightweight cloud solution also written in C99 plus POSIX extensions. However, there always was a clear separation between application logic and the underlying @@ -170,14 +170,14 @@ interface called simple as possible for administrators. - The [`onion`](https://github.com/davidmoreno/onion) project, which does follow the HTTP library concept, was initially considered for -`slcl`, but has a larger scope than `slweb`, and again simplicity was +`slcl`, but has a larger scope than `libweb`, and again simplicity was essential for `slcl`. - And, after all, it was a good excuse to learn about HTTP/1.1. ## License ``` -slweb, a simple and lightweight web framework. +libweb, a simple and lightweight web framework. Copyright (C) 2023 Xavier Del Campo Romero This program is free software: you can redistribute it and/or modify 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 +#include .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 +#include .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 +#include .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 +#include .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 +#include .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 +#include .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 -#include +#include #include #include @@ -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 +#include .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 +#include .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 +#include .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 +#include .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 +#include .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 +#include .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 +#include .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 +#include .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 +#include .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 +#include .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 +#include .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 +#include .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 similarity index 90% rename from doc/man7/slweb_handler.7 rename to 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 +#include .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 -#include +#include +#include #include #include @@ -142,7 +142,7 @@ static int hello(const struct http_payload *const pl, { static const char page[] = { - "

Hello from slweb!

" + "

Hello from libweb!

" }; *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 similarity index 92% rename from doc/man7/slweb_html.7 rename to 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 +#include .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 +#include #include #include #include @@ -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 - testing slweb + testing libweb .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 similarity index 97% rename from doc/man7/slweb_http.7 rename to 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 +#include .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 diff --git a/examples/hello/CMakeLists.txt b/examples/hello/CMakeLists.txt index c22ab33..7d14ac6 100644 --- a/examples/hello/CMakeLists.txt +++ b/examples/hello/CMakeLists.txt @@ -1,4 +1,4 @@ cmake_minimum_required(VERSION 3.13) project(hello C) add_executable(hello main.c) -target_link_libraries(${PROJECT_NAME} PRIVATE slweb dynstr) +target_link_libraries(${PROJECT_NAME} PRIVATE web dynstr) diff --git a/examples/hello/Makefile b/examples/hello/Makefile index 217bccb..275fa5a 100644 --- a/examples/hello/Makefile +++ b/examples/hello/Makefile @@ -3,10 +3,10 @@ PROJECT = hello DEPS = \ main.o -SLWEB = ../../libslweb.a +LIBWEB = ../../libweb.a DYNSTR = ../../dynstr/libdynstr.a CFLAGS = -I ../../include -I ../../dynstr/include -SLWEB_FLAGS = -L ../../ -l slweb +LIBWEB_FLAGS = -L ../../ -l libweb DYNSTR_FLAGS = -L ../../dynstr -l dynstr all: $(PROJECT) @@ -16,10 +16,10 @@ clean: FORCE: -$(PROJECT): $(DEPS) $(SLWEB) $(DYNSTR) - $(CC) $(LDFLAGS) $(DEPS) $(SLWEB_FLAGS) $(DYNSTR_FLAGS) -o $@ +$(PROJECT): $(DEPS) $(LIBWEB) $(DYNSTR) + $(CC) $(LDFLAGS) $(DEPS) $(LIBWEB_FLAGS) $(DYNSTR_FLAGS) -o $@ -$(SLWEB): FORCE +$(LIBWEB): FORCE +cd ../../ && $(MAKE) $(DYNSTR): FORCE diff --git a/examples/hello/README.md b/examples/hello/README.md index 7c7cf74..24b747b 100644 --- a/examples/hello/README.md +++ b/examples/hello/README.md @@ -1,8 +1,8 @@ # "Hello world" example -This example shows a minimal setup for an application using `slweb`. When +This example shows a minimal setup for an application using `libweb`. When executed, it starts a HTTP/1.1 server on port `8080` and returns an example -website reading "Hello from slweb!" when either `/` or `/index.html` are +website reading "Hello from libweb!" when either `/` or `/index.html` are accessed by clients. ## How to build diff --git a/examples/hello/main.c b/examples/hello/main.c index d1a3206..59643ec 100644 --- a/examples/hello/main.c +++ b/examples/hello/main.c @@ -1,7 +1,7 @@ #include -#include -#include -#include +#include +#include +#include #include #include #include @@ -30,7 +30,7 @@ static int hello(const struct http_payload *const pl, fprintf(stderr, "%s: html_node_add_child p failed\n", __func__); goto end; } - else if (html_node_set_value(p, "Hello from slweb!")) + else if (html_node_set_value(p, "Hello from libweb!")) { fprintf(stderr, "%s: html_node_set_value p failed\n", __func__); goto end; diff --git a/examples/html/CMakeLists.txt b/examples/html/CMakeLists.txt index bc4202d..410663b 100644 --- a/examples/html/CMakeLists.txt +++ b/examples/html/CMakeLists.txt @@ -1,4 +1,4 @@ cmake_minimum_required(VERSION 3.13) project(html C) add_executable(html main.c) -target_link_libraries(${PROJECT_NAME} PRIVATE slweb dynstr) +target_link_libraries(${PROJECT_NAME} PRIVATE web dynstr) diff --git a/examples/html/Makefile b/examples/html/Makefile index 77d94f8..87d27aa 100644 --- a/examples/html/Makefile +++ b/examples/html/Makefile @@ -3,10 +3,10 @@ PROJECT = html DEPS = \ main.o -SLWEB = ../../libslweb.a +LIBWEB = ../../libweb.a DYNSTR = ../../dynstr/libdynstr.a CFLAGS = -I ../../include -I ../../dynstr/include -SLWEB_FLAGS = -L ../../ -l slweb +LIBWEB_FLAGS = -L ../../ -l libweb DYNSTR_FLAGS = -L ../../dynstr -l dynstr all: $(PROJECT) @@ -16,10 +16,10 @@ clean: FORCE: -$(PROJECT): $(DEPS) $(SLWEB) $(DYNSTR) - $(CC) $(LDFLAGS) $(DEPS) $(SLWEB_FLAGS) $(DYNSTR_FLAGS) -o $@ +$(PROJECT): $(DEPS) $(LIBWEB) $(DYNSTR) + $(CC) $(LDFLAGS) $(DEPS) $(LIBWEB_FLAGS) $(DYNSTR_FLAGS) -o $@ -$(SLWEB): FORCE +$(LIBWEB): FORCE +cd ../../ && $(MAKE) $(DYNSTR): FORCE diff --git a/examples/html/README.md b/examples/html/README.md index ac89287..4d7544f 100644 --- a/examples/html/README.md +++ b/examples/html/README.md @@ -20,6 +20,6 @@ should be written to the standard output: - testing slweb + testing libweb ``` diff --git a/examples/html/main.c b/examples/html/main.c index c29e360..858aff7 100644 --- a/examples/html/main.c +++ b/examples/html/main.c @@ -1,4 +1,4 @@ -#include +#include #include #include #include @@ -9,7 +9,7 @@ int main() struct dynstr d; struct html_node *const html = html_node_alloc("html"), *head, *meta, *body; - static const char text[] = "testing slweb"; + static const char text[] = "testing libweb"; dynstr_init(&d); diff --git a/handler.c b/handler.c index 49b9af9..61a2806 100644 --- a/handler.c +++ b/handler.c @@ -1,9 +1,9 @@ #define _POSIX_C_SOURCE 200809L -#include "slweb/handler.h" -#include "slweb/http.h" -#include "slweb/server.h" -#include "slweb/wildcard_cmp.h" +#include "libweb/handler.h" +#include "libweb/http.h" +#include "libweb/server.h" +#include "libweb/wildcard_cmp.h" #include #include #include diff --git a/html.c b/html.c index 482f133..5a92d77 100644 --- a/html.c +++ b/html.c @@ -1,6 +1,6 @@ #define _POSIX_C_SOURCE 200809L -#include "slweb/html.h" +#include "libweb/html.h" #include #include #include diff --git a/http.c b/http.c index 5bf5251..a475c64 100644 --- a/http.c +++ b/http.c @@ -1,6 +1,6 @@ #define _POSIX_C_SOURCE 200809L -#include "slweb/http.h" +#include "libweb/http.h" #include #include #include diff --git a/include/slweb/handler.h b/include/libweb/handler.h similarity index 96% rename from include/slweb/handler.h rename to include/libweb/handler.h index 84a8073..9cde129 100644 --- a/include/slweb/handler.h +++ b/include/libweb/handler.h @@ -1,7 +1,7 @@ #ifndef HANDLER_H #define HANDLER_H -#include "slweb/http.h" +#include "libweb/http.h" #include typedef int (*handler_fn)(const struct http_payload *p, diff --git a/include/slweb/html.h b/include/libweb/html.h similarity index 100% rename from include/slweb/html.h rename to include/libweb/html.h diff --git a/include/slweb/http.h b/include/libweb/http.h similarity index 100% rename from include/slweb/http.h rename to include/libweb/http.h diff --git a/include/slweb/server.h b/include/libweb/server.h similarity index 100% rename from include/slweb/server.h rename to include/libweb/server.h diff --git a/include/slweb/wildcard_cmp.h b/include/libweb/wildcard_cmp.h similarity index 100% rename from include/slweb/wildcard_cmp.h rename to include/libweb/wildcard_cmp.h diff --git a/slweb.pc b/libweb.pc similarity index 68% rename from slweb.pc rename to libweb.pc index 3d79911..8d3f0b9 100644 --- a/slweb.pc +++ b/libweb.pc @@ -3,9 +3,9 @@ exec_prefix=${prefix} includedir=${prefix}/include libdir=${exec_prefix}/lib -Name: slweb -Url: https://gitea.privatedns.org/xavi/slweb +Name: libweb +Url: https://gitea.privatedns.org/xavi/libweb Description: A simple and lightweight web framework Version: 0.1.0 Cflags: -I${includedir} -Libs: -L${libdir} -lslweb +Libs: -L${libdir} -llibweb diff --git a/server.c b/server.c index b86a912..8cea044 100644 --- a/server.c +++ b/server.c @@ -6,7 +6,7 @@ #define _POSIX_C_SOURCE 200809L #endif -#include "slweb/server.h" +#include "libweb/server.h" #include #include #include diff --git a/wildcard_cmp.c b/wildcard_cmp.c index 1fcd451..e450190 100644 --- a/wildcard_cmp.c +++ b/wildcard_cmp.c @@ -1,4 +1,4 @@ -#include "slweb/wildcard_cmp.h" +#include "libweb/wildcard_cmp.h" #include #include #include