[ python-Feature Requests-1745722 ] please add wsgi to SimpleXMLRPCServer

SourceForge.net noreply at sourceforge.net
Sat Jun 30 15:31:58 CEST 2007


Feature Requests item #1745722, was opened at 2007-06-30 13:31
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=355470&aid=1745722&group_id=5470

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: XML
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Helmut Grohne (gnarfk)
Assigned to: Nobody/Anonymous (nobody)
Summary: please add wsgi to SimpleXMLRPCServer

Initial Comment:
There should be a simple wsgi xmlrpc application and in fact it is not difficult. You could for instance take this one and append it to SimpleXMLRPCServer.py.

class WSGIXMLRPCRequestHandler(SimpleXMLRPCDispatcher):
    def __init__(self, allow_none=False, encoding=None):
        SimpleXMLRPCDispatcher.__init__(self, allow_none, encoding)
    def __call__(self, environ, start_response):
        """WSGI interface"""
        if environ["REQUEST_METHOD"] != "POST":
            status = "400 Bad request"
            headers = [("Content-type", "text/html")]
            data = "<html><head><title>400 Bad request</title></head><body><h1>400 Bad request</h1></body></html>"
            headers.append(("Content-length", str(len(data))))
            start_response(status, headers)
            if environ["REQUEST_METHOD"] == "HEAD":
                return []
            return [data]
        l = int(environ["CONTENT_LENGTH"])
        request = environ["wsgi.input"].read(l)
        response = self._marshaled_dispatch(request)
        headers = [("Content-type", "text/xml")]
        headers.append(("Content-length", str(len(response))))
        start_response("200 OK", headers)
        return [response]


----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=355470&aid=1745722&group_id=5470


More information about the Python-bugs-list mailing list