Download Install Tutorial Docs FAQ Tools WikiLicense Team IRC Planet Involvement Shop Book

Changeset 1663

Show
Ignore:
Timestamp:
06/14/07 13:34:20
Author:
fumanchu
Message:

Allow non-xmlrpc methods on an XMLRPCController.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/cherrypy/_cptools.py

    r1662 r1663  
    278278    _cp_config = {'tools.xmlrpc.on': True} 
    279279     
    280     def __call__(self, *vpath, **params): 
     280    def default(self, *vpath, **params): 
    281281        rpcparams, rpcmethod = _xmlrpc.process_body() 
    282282         
     
    300300                        conf.get('allow_none', 0)) 
    301301        return cherrypy.response.body 
    302     __call__.exposed = True 
    303      
    304     index = __call__ 
     302    default.exposed = True 
    305303 
    306304 
  • trunk/cherrypy/test/test_xmlrpc.py

    r1540 r1663  
    1616 
    1717    class XmlRpc(_cptools.XMLRPCController): 
     18         
     19        def foo(self): 
     20            return "Hello world!" 
     21        foo.exposed = True 
    1822         
    1923        def return_single_item_list(self): 
     
    9498         
    9599        # load the appropriate xmlrpc proxy 
    96         if getattr(self.harness, "scheme", "http") == "https": 
     100        scheme = "http" 
     101        try: 
     102            scheme = self.harness.scheme 
     103        except AttributeError: 
     104            pass 
     105         
     106        if scheme == "https": 
    97107            url = 'https://%s:%s/xmlrpc/' % (self.HOST, self.PORT) 
    98108            proxy = xmlrpclib.ServerProxy(url, transport=HTTPSTransport()) 
     
    102112         
    103113        # begin the tests ... 
     114        self.getPage("/xmlrpc/foo") 
     115        self.assertBody("Hello world!") 
     116         
    104117        self.assertEqual(proxy.return_single_item_list(), [42]) 
    105118        self.assertNotEqual(proxy.return_single_item_list(), 'one bazillion') 

Hosted by WebFaction

Log in as guest/cpguest to create tickets