XmlRpc ISO substrate

Ok, an XmlRpc library is pretty useless without a substrate protocol. So I’ve split off from there and started working on a simple http library which will be implemented separate from all the networking code so I can run tests off a command line or through some other streamed medium.

This gives me a very nicely decoupled set of libraries:

  • XmlRpc library – which takes takes serialized methodCall object, parses it and runs it against the dispatch table to generate the methodResponse which is spit out as a simple return value (serialized.)
  • Streamed Http library – full toolkit for accepting and building http requests over a stream, includes full web-server and web-client functionality without including or depending on networking code (great for CGIs and console-mode tests, for instance: in perl.)
  • Stream Socket library – A series of simple classes to manage server and client TCP/IP connections (UDP support forthcoming) with adapters to provide a simple stream interface for the above libraries.

With all this in place (it’s at about %80) some extremely powerful work can finally get done.