On 06/11/04 16:56, Remy C. Cool wrote:
On Friday 11 June 2004 16:35, Itamar Shtull-Trauring wrote:
On Fri, 2004-06-11 at 09:34, Remy C. Cool wrote:
I'm currently in the process of changing from a customized SimpleXMLRPCServer to a twisted XMLRPC server solution and I need to insert the client IP into the attributes passed to the called xmlrpc method. Anyone who knows the answer and is willing to share the info?
The render() method of the XMLRPC class has access to the request object, which may have request.getPeer() or request.transport.getPeer().
Thanks for the answer.
The following works, but is this a 'twisted' way to go?
class Examle(xmlrpc.XMLRPC): """An example object to be published."""
def _getPeerAddress(self): return self.request.getClientIP() def render(self, request): self.request = request xmlrpc.XMLRPC.render(self, request)
Just for the record, this is the way to go (guess it was implemented later):
from twisted.web import xmlrpc class Examle(xmlrpc.XMLRPC): @xmlrpc.withRequest def xmlrpc_whatIsMyAddress(self,request): return request.transport.getPeer().host