Commit graph

31 commits

Author SHA1 Message Date
a8beded518 Fix occasional "Bad Request" response by waiting for data to be sent.
This also makes UtilGetDelim() and UtilGetLine() thread safe in that it
isn't setting a global errno. Of course, errno should be thread safe
already, but this makes it much less ambiguous.
2022-11-02 16:21:03 +00:00
92cc2206a1 Fix a few things to make Telodendria compile and run on Cygwin. 2022-11-02 15:20:37 +00:00
6992f36c86 Fix segfault in fclose() on Linux. 2022-11-02 00:35:05 +00:00
5af229a86e Apply #31 2022-11-02 00:18:13 +00:00
82d460da6f Fix some sneaky memory bugs and resource leaks. 2022-11-01 09:04:15 -04:00
63dbf9ae35 Fix a few more memory bugs. Still have some to tackle. 2022-10-31 19:52:37 -04:00
fd50fd83fb Misc changes throughout the codebase during testing. 2022-10-31 08:12:42 -04:00
5ca5ec7dd4 Complete parameter parsing 2022-10-15 19:17:49 -04:00
b645a0b2c1 Hook param parsing into the request logic. 2022-10-15 16:28:32 -04:00
648ce5c4cc Remove NonPosix.h; it seems to be causing more trouble than it's worth. 2022-10-15 11:45:23 -04:00
887c4e4d5b Fix some warnings generated by Cygwin's GCC. 2022-10-15 10:28:03 -04:00
4707f0f4c8 Clean up some NonPosix.h stuff so we can build on Linux.
It appears that SOCK_NONBLOCK is not actually POSIX. According to the
OpenBSD man page, it will be soon, and according to the Linux man page,
it is a Linux extension. However, fcntl() with O_NONBLOCK seems to be
portable across both systems.
2022-10-15 10:08:52 -04:00
65dad27902 Fix some server context memory leaks. 2022-10-13 12:34:17 -04:00
8cb86e8f67 Use new Memory API for all memory allocations. 2022-10-13 12:18:42 -04:00
c607ba05a9 Implement URL encoding and decoding. 2022-09-06 20:48:27 -04:00
c0474982a6 Fix compile warnings and errors on Linux 2022-08-28 16:05:11 -04:00
47338fd001 Initialize the server response code 2022-08-28 15:48:58 -04:00
4cd24a6e97 Finally getting into Matrix territory 2022-08-28 15:45:24 -04:00
d7d960b77d Parse HTTP requests and invoke the request handler. 2022-08-28 14:30:15 -04:00
d3e8886b69 Add some functions. 2022-08-26 21:02:53 -04:00
275d06c127 Begin prototyping the HttpServer API 2022-08-26 11:07:54 -04:00
9378a4d369 Implement basic thread pool with dummy 500 messages. 2022-08-24 19:31:28 -04:00
de00c3cb37 Fix fdopen() file mode. 2022-08-24 16:28:50 -04:00
665da9d33e Fix port binding error. 2022-08-24 14:37:32 -04:00
8801afaeb2 Properly initialize and destroy the mutex 2022-08-24 11:25:16 -04:00
be001fb17a Make HttpServer utilize Queue. 2022-08-24 10:06:14 -04:00
315589cd1b Accept #29 2022-08-21 12:35:16 -04:00
538412d1c2 Apply #26 2022-08-12 21:30:03 -04:00
af03988db7 Poll the socket for data events. 2022-08-11 21:19:52 -04:00
d9c944871a Abstract socket creation and binding behind the HttpServer API. 2022-08-11 20:13:10 -04:00
e94212b080 Bind to socket; HTTP server event thread; signal handling. 2022-08-11 19:40:13 -04:00