]> code.delx.au - gnu-emacs-elpa/blob - NOTES
match more HTTP methods
[gnu-emacs-elpa] / NOTES
1 -*- org -*-
2
3 * Notes
4 * Tasks [4/8]
5 ** DONE Handle POST requests
6 1. read standard for POST data
7 2. parse multi-line headers with boundaries
8
9 For now keep this all incremental and in ews-filter.
10
11 ** DONE Makefile
12 - byte-compile
13 - package
14 - test
15 - benchmark
16 ** DONE catch errors and return an error code
17 include an easy error handler like the 404 handler
18
19 ** TODO better parsing of multipart form blocks
20 parse more than just the content-type headers.
21
22 ** DONE non-multipart form data
23 e.g., parameter strings
24
25 ** TODO some more convenience functionality [5/6]
26 - [ ] strip and parse URL query string
27 - [X] parse urlencoded post data
28 - [X] think about defaulting to (name . content) for form elements
29 - [X] maybe don't require a non-nil return to cancel the connection,
30 instead only keep open if :keep-open is returned
31 - [X] function to send a file (with mime handling)
32 - [X] send a 404 with some default text
33
34 ** TODO Lazy header processing
35 Use lazy sequence functions for header a-list to avoid parsing all
36 headers. For regexp matchers should stop when matched header is
37 encountered (often the first one when :GET), For function matchers
38 provide lazy version of assoc.
39
40 ** TODO use gnutls for https
41 I think this should work.
42 * Documentation
43 ** Writing Handlers
44 *** Matching
45 *** Handler Functions
46 At any time one can throw =close-connection= to abort the handler and
47 close the conncetion. If the keyword =:keep-open= is thrown, then the
48 handler aborts, but the connection isn't closed.
49
50 A return value of =:keep-open= will keep the connection open,
51 otherwise it is closed when the handler returns.