Commit Diff


commit - 718ba070f68cb1ae4db463b489cff7edfe75526f
commit + 40d8332ed5a0e67312b7d44c97d8c004967916e6
blob - /dev/null
blob + cf3cc8e7bc8d78d6cef48c0eb83329498b3fe743 (mode 644)
--- /dev/null
+++ TODO
@@ -0,0 +1,37 @@
+There's lots of stuff yet to do!  This is just scratching the surface:
+
+ev:
+ - rework the internals; two queues is maybe too much
+ - write more 'backends' for kqueue and epoll
+
+fcgi:
+ - I'm a sucker for running stuff behind httpd.
+
+http:
+ - find a way to associate custom data to a request for asynchronous
+   re-entering (and eventually free the custom data too!)
+ - notify unexpected disconnection when re-entering?  (i.e. notify the
+   route function when they set res.done = false)
+ - http keepalive?
+ - actually parsing headers.  do we want to expose all of them?
+ - parse body contents.
+
+http::session:
+ - a custom module for session handling would be nice.  Or just use
+   Authorization header and be done with it?
+
+http::websocket:
+ - another would be nice to have :)
+
+gemini:
+ - Yes, I'm serious!  A gemini module to serve stuff via gemini (w/
+   libtls bindings?) would be cool and probably fit shinsha well.
+
+sqlite:
+ - write the bindings.  Maybe drawing some inspiration from
+   https://github.com/crawshaw/sqlite (and the sqlitex subpackage)
+   which is my favourite sqlite binding for Go.
+
+template:
+ - write (how?) some kind of template processor with the asynchronous
+   http module in mind?