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

Reply via email to