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.