Hi, I'm experimenting with using Mongrel to serve XMLRPC, and I'm having trouble passing the XMLRPC errors on to the client.
In my webrick implementation, I just raise the XMLRPC error and the client receives it and can handle it like a normal exception. With Mongrel, when I raise the error, Mongrel catches it and just closes the client connection, which means the client gets a very uninformative EOF instead of a useful error message. Has anyone on the list found a way to effectively pass the error on to the client? If not, can someone recommend a place for me to start looking at how to do it? It looks like I could try overriding the 'process_client' method in the HttpServer class, but I'd still need to know how to convert the error into a valid XMLRPC error, which somehow the webrick stuff just does for me. Clearly this might be a necessity, but I'm hoping I can leave the error handling to the libraries instead of doing it myself. If anyone is interested in how I'm doing it right now, you can check the source of the mongrel class I've written[1] and the xmlrpc_server class[2]. I'm not going to say any of this code is "good", but I've seen a dearth of examples and I'm doing what I can. Any help is muchly appreciated. 1 - https://reductivelabs.com/trac/puppet/browser/branches/ webserver_portability/lib/puppet/network/server/mongrel.rb 2 - https://reductivelabs.com/trac/puppet/browser/branches/ webserver_portability/lib/puppet/network/xmlrpc_server.rb -- Sometimes I think we're alone. Sometimes I think we're not. In either case, the thought is staggering. --R. Buckminster Fuller --------------------------------------------------------------------- Luke Kanies | http://reductivelabs.com | http://madstop.com _______________________________________________ Mongrel-users mailing list Mongrel-users@rubyforge.org http://rubyforge.org/mailman/listinfo/mongrel-users