Include simple example of usage in README.

* README.md
This commit is contained in:
Dale Mellor 2025-10-27 16:06:43 +00:00
commit c0fe40ee4f
Signed by: khleedril
GPG key ID: CA471FD501618A49

View file

@ -19,6 +19,82 @@ been brought up to our expectations of full production-quality code yet
still regard it as beta-quality software.
## Simplest example
The following is provided as the simplest code to demonstrate use of the
dmbcs-micro-server library, not to inform of any coding style or quality
system approach. We assume a standard GNU system with recent
`make`, `bash`, `gcc`, etc.
Start with the HTML file `calc.html`
```html
<html>
<head><title>Multiplier</title></head>
<body><h1>Multiplier</h1>
<form action="compute" method="GET" id="calc">
<input type="text" name="arg_1"/> x <input type="text" name="arg_2"/>
= <input type="text" id="result" value="[result/]"></input>
<br>
<input type="submit">CALCULATE</input>
</form>
</body>
</html>
```
And the C++ source file `calc.cc`
```c++
#include <dmbcs-micro-server.h>
using namespace DMBCS::Micro_Server;
/* This function both serves up the basic HTML page, and
* performs the multiplication and injects the result into the
* HTML. */
void home_page (Query_String const &query, int const socket)
{
Hyper_Tags tags;
tags.add ("result",
query.get ("arg_1", 0) * query.get ("arg_2", 0));
Http_Server::return_html (socket,
substitute (tags,
slurp_file ("calc.html")));
}
int main ()
{
auto server = Http_Server {2022,
{ {"", home_page},
{"compute", home_page} }};
for (;;) tick (server, 1000000);
return 0;
}
```
then the `makefile`
CXXFLAGS = `pkg-config --cflags dmbcs-micro-server`
LDFLAGS = `pkg-config --libs dmbcs-micro-server`
Then at the command line type
make calc
./calc
then point a browser at `http://localhost:2022/` and use the simple
calculator (donʼt try to do anything funny: the code has been kept
deliberately simple and doesnʼt do any error checking). Note that an
answer can be obtained directly with a URL like
`http://localhost:2022/compute?arg_1=3&arg_2=4`.
## Download
The *dmbcs-micro-server* source code is managed with *GIT* (configured
@ -61,4 +137,5 @@ If you use this application please consider a bitcoin donation if you
can. A small amount informs us that there is interest and that we are
providing a useful service to the community; it will keep us motivated to
continue to make open source software. Donations can be made by bitcoin to
the address 1PWHez4zT2xt6PoyuAwKPJsgRznAKwTtF9, or by Ethereum to 0xd306277ef68026a64bdd8c99ac7f19f21b3da6fb.
the address 1PWHez4zT2xt6PoyuAwKPJsgRznAKwTtF9, or by Ethereum to
0xd306277ef68026a64bdd8c99ac7f19f21b3da6fb.