48 Commits
Author SHA1 Message Date
kristapsdz 2f1aedd1a9 Merge https://github.com/kristapsdz/kcgi/pull/37, thanks! 2018-06-09 09:38:37 +00:00
kristapsdz 1a35e2b326 Repair as noted in https://github.com/kristapsdz/kcgi/issues/27 --- thanks! 2018-03-23 16:17:12 +00:00
kristapsdz a2baaad453 Clean up the sample quite a lot: use schwarze@'s headers instead of the
existing ones, don't call khttp_free on khttp_parse (oops!), simplify
documentation, and add a general documentation to the top of the file.
2017-09-20 19:19:05 +00:00
kristapsdz 10508f46d3 Bring up to date with kcgihtml. 2016-10-12 01:29:46 +00:00
kristapsdz 2a7c50b61f Clean up the sample CGI source. 2016-03-15 11:36:20 +00:00
kristapsdz 73ce92027c Add an error condition report. 2016-03-12 08:54:36 +00:00
kristapsdz 61a2b963b9 Have Makefile compile config.h for regressions.
Make samples more Linux friendly.
2016-03-10 06:05:46 +00:00
kristapsdz 377f71937f Add initial version notes.
Set meaningful (?) defaults for buffer size.
2016-02-08 22:36:38 +00:00
kristapsdz d4ebc1b5d7 Add support for a send buffer.
This will buffer writes (from khttp_write) into a pre-allocated buffer
that flushes when the buffer is full or at exit.
This change requires khttp_parsex() and khttp_fcgi_initx() to accept a
new parameter, a structure consisting of (right now) just the send buffer size,
which will later be filled in with tunables.
2016-02-08 21:55:29 +00:00
kristapsdz 1447563988 Tutorials. No functional changes. 2015-07-07 20:30:13 +00:00
kristapsdz 8d8ad02a75 Improve the documentation as suggested by Jan Schreiber--thanks! 2015-05-11 08:25:00 +00:00
kristapsdz 46d037a957 Add httpauth to install, switch khtml_text to khtml_puts in sample. 2015-04-10 09:38:24 +00:00
kristapsdz 06135db2e3 Default to application/octet-stream for parsed bodies. 2015-03-14 03:30:23 +00:00
kristapsdz f233bbcfe1 Allow for opaque HTTP message bodies.
I.e., if the content-type is not a key-value pair, we assume that the key
is the empty string and read it as a MIME object.
This allows for validation of PUT and such.
2015-03-14 01:55:47 +00:00
kristapsdz e2da7ad9fe Add remaining HTTP methods. 2015-03-13 15:33:45 +00:00
kristapsdz c554c635e2 Document change from int -> enum kcgi_err. 2014-12-03 11:54:42 +00:00
kristapsdz 11cba6bf23 Push remote host into input.c. 2014-11-23 23:58:33 +00:00
kristapsdz 917d51a1d9 Split kcgi into kcgi and kcgihtml.
Split kcgi.3 into many manpages.
2014-11-23 16:18:23 +00:00
kristapsdz 999255f839 Add khttp_parsex and simplify khttp_parse. 2014-07-03 09:17:52 +00:00
kristapsdz 3e77536751 Have the parsed MIME content-type passed to the parent. 2014-07-02 22:38:27 +00:00
kristapsdz f3a1007866 Add some more standard MIME types and better name the kmime enum.
Add some experimental (unused) stuff in sandbox.c.
Remove "struct req" argument from the kvalidator.
2014-07-02 08:51:59 +00:00
kristapsdz f71cb9e763 Abstracting MIME map into interfacing application. 2014-06-21 12:40:03 +00:00
kristapsdz 8e415fec5b Moving pname into struct kreq. 2014-06-21 12:16:14 +00:00
kristapsdz cac2b2a505 Split out sandbox code. 2014-05-24 13:02:15 +00:00
kristapsdz 2879027018 Wrappers for reporting errors and warnings. 2014-05-23 14:49:48 +00:00
kristapsdz 435fbc0738 Add argfree to khttp_parse (for freeing arg in child context).
Documentation.
Get version ready.
2014-05-12 00:25:34 +00:00
kristapsdz d6aca3387e Switch khtml_template -> khttp_template (it's not HTML-specific). 2014-05-10 19:15:18 +00:00
kristapsdz ad973291a9 Fix some LLVM static check nits. 2014-05-10 12:41:43 +00:00
kristapsdz 7099d6b595 Add HTTP response headers.
Make kvalid functions be passed the kreq, just for future-proofing.
2014-05-04 22:26:20 +00:00
kristapsdz 8434b1e747 Add all HTML5 attributes and khtml_attrx, and rename khtml_int64 as khtml_int. 2014-05-03 14:02:07 +00:00
kristapsdz 983c41f7c6 Sync with HTML5 standard. Remove html_decl() in favour of a single element. 2014-05-03 12:02:48 +00:00
kristapsdz 5bcf2c8648 Remove khtml_input(), which was not quite useful, but complicated the
header and interface enough to warrant removal.
Also add some notes regarding locale.
2014-04-23 09:34:43 +00:00
kristapsdz 9a4f49a411 Completely re-write the multipart form handler.
It's now much safer and operates on a pure memory image.
2014-04-16 16:22:29 +00:00
kristapsdz bfdf73d62d Simplify field input reading by dumping into a buffer. 2014-04-15 13:12:55 +00:00
kristapsdz 12e878f209 Make sample use kasprintf(). 2014-04-14 23:28:35 +00:00
kristapsdz bb9ed1a99b Renaming some functions for clarity. 2014-04-13 18:50:32 +00:00
kristapsdz 8729d0ccc2 Prefix "khtml" to all HTML functions and "khttp" to all HTTP functions.
This disambiguates.
2014-04-13 18:44:50 +00:00
kristapsdz c3e66b8eec Add HTTP compression for the 'gzip' option via zlib. 2014-04-12 21:25:03 +00:00
kristapsdz e0ef92d865 Variadic args for khead(). 2014-04-10 13:39:53 +00:00
kristapsdz fe9d1cd071 Extremely simple templating system. 2014-04-09 15:17:29 +00:00
kristapsdz 648f666efb Re-add kinput() for automated fields.
Add hooks to see file-upload information.
2014-04-09 09:26:07 +00:00
kristapsdz e2de1523a1 Save keys and pages in struct kreq. 2014-04-08 15:46:25 +00:00
kristapsdz 810fb680df Adding more convenience functions.
Some small memory cleanups.
2014-04-08 15:10:43 +00:00
kristapsdz a15cd1f016 Route validators through kvalid_string. 2014-04-08 10:00:43 +00:00
kristapsdz c2fc14b49a Re-added kreq to HTML output in anticipation of eventual piping through gzip.
Stripped down sample.c.
Put lots of documentation into form reading.
Audit forms for binary data handling.
2014-04-07 21:30:38 +00:00
kristapsdz 7dc0363243 Namespace cleansing. 2014-04-07 13:52:11 +00:00
kristapsdz ad5931ca90 Framework -> library. 2014-04-07 13:02:48 +00:00
kristapsdz 098d0b7b0b 2014-04-05 00:01:39 +00:00