11.21.2 CGIXMLRPCRequestHandler

La classe CGIXMLRPCRequestHandler può essere usata per gestire richieste XML-RPC inviate a script CGI Python.

register_function( function[, name])
Registra una funzione che può rispondere ad una richiesta XML-RPC. Se name viene passato, sarà il nome del metodo associato alla funzione, altrimenti verrà usata function.__name__. name può essere una normale stringa Unicode, e può contenere caratteri non legali negli identificatori Python, incluso un carattere virgola.

register_instance( instance)
Registra un oggetto che viene usato per esporre nomi di metodi che non sono stati registrati usando register_function(). Se istance contiene un metodo _dispatch(), viene chiamato con il nome del metodo richiesto ed il parametro della richiesta; il valore restituito viene inviato al client come risultato. Se instance non ha un metodo _dispatch(), viene cercato un attributo che corrisponde al nome del metodo richiesto; se il nome del metodo richiesto contiene virgole, ogni componente del nome del metodo viene cercato individualmente eseguendo una semplice ricerca gerarchica. Il valore trovato da questa richiesta viene quindi chiamato con il parametro indicato dalla richiesta ed il valore restituito viene rispedito al client.

register_introspection_functions( )
Registra le funzioni di introspezione XML-RPC system.listMethods, system.methodHelp e system.methodSignature.

register_multicall_functions( )
Registra la funzione multichiamata XML-RPC system.multicall.

handle_request( [request_text = None])
Gestisce una richiesta XML-RPC. Se request_test viene indicato, deve essere il dato POST fornito dal server HTTP, altrimenti viene utilizzato il contenuto di stdin.

Esempio:

class MyFuncs:
    def div(self, x, y) : return div(x,y)


handler = CGIXMLRPCRequestHandler()
handler.register_function(pow)
handler.register_function(lambda x,y: x+y, 'add')
handler.register_introspection_functions()
handler.register_instance(MyFuncs())
handler.handle_request()
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.