It’s been a little while since I’ve posted last, and there’s a lot that’s new, so I’ll enumerate the points:
- The WSGI code is close to being complete. There are a couple of caveats though. First of all, there is no support for the write() callable. This is important for legacy app support as well as for streaming. Secondly, the wsgi.errors object still directs to stderr. There’s not necessarily anything wrong with this, but it’s certainly a good idea to have some kind of custom error log (see the next bullet point for more info on how I plan to achieve this). And lastly, my implementation of wsgi.input can be prone to DOS attacks. This is definitely something that needs to be fixed, but isn’t necessarily a first priority for me.
- I’ve written a logging component for Kamaelia. It essentially uses a backplane to register itself to a service. The idea being that you won’t necessarily need a reference to any kind of object in order to post messages to a log. What I’m working on at the moment is an adapter for this component to act as a wsgi.errors object.
- I’ve set up the basic structure of how I think the Descartes server will be. It’s far from being distribution ready, but it should be enough to give you the basic idea. For now, I’m placing some of the components (like the ServerCore) in my sketches directory as I’m not sure if any modifications I make to them will necessarily be a good fit for Kamaelia as a whole.
And that’s it for now. I think I may spend a little bit of time reading my start of program present, Beautiful Code.