On Tue, Nov 09, 2010 at 06:58:05AM -0500, Neal Becker wrote: > Thanks for the suggestions. > > I'd also like to add authentication, but it seems rather daunting.
You should not. Add basic or digest authentication is really easy. Take a look at Calderone's Twisted Web in 60 seconds: HTTP authentication[1], I read the series time ago and I don't remember exactly the content but the serie is really well written, the best 60 seconds (per episode) spent to learn the bases of twisted web. > Maybe I could just restrict the xmlrpc to listen only on connection from the > local host? yes, you could and twisted tap plugin system helps you on this. Just create a tap plugin with the options you need. An simple example: from twisted.python import usage from twisted.plugin import IPlugin from twisted.application import strports, service class Options(usage.Options): optParameters = [ ['port', 'p', '80', 'Listen port.', int], ['interface', 'i', None, 'Interface to which to bind.'], ] class ProcessXMLRPCServiceMaker(object): implements(service.IServiceMaker, IPlugin) tapname = "processxmlrpc" description = "Remote process control in xmlrpc" options = Options def makeService(self, options): factory = ... # XXX description = 'tcp:' + str(config['port']) if config['interface']: description += ':interface=' + config['interface'] return strports.service(description, factory) You can setup the server to listen to localhost and prepare a reverse proxy that require authentication and that accept connections from all interfaces, as example. m. -- Dalle virtù che si esigono in un domestico, l'Eccellenza Vostra conosce molti padroni degni d'esser servitori? -- Pierre Augustin Caron de Beaumarchais _______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python