code: def handle_POST(self, environ, start_response):
          
  
          try:
              # Get arguments by reading body of request.
              # We read this in chunks to avoid straining
              # socket.read(); around the 10 or 15Mb mark, some platforms
              # begin to have problems (bug #792570).
  
              length = int(environ['CONTENT_LENGTH'])
              data = environ['wsgi.input'].read(length)
  
              # In previous versions of SimpleXMLRPCServer, _dispatch
              # could be overridden in this class, instead of in
              # SimpleXMLRPCDispatcher. To maintain backwards compatibility,
              # check to see if a subclass implements _dispatch and
              # using that method if present.
              response = self.dispatcher._marshaled_dispatch(
                  data, getattr(self.dispatcher, '_dispatch', None)
              )
              response += b'\n'
          except Exception as e:  # This should only happen if the module is buggy
              # internal error, report as HTTP server error
              logger.exception(e)
              start_response("500 Server error", [('Content-Type', 'text/plain')])
              return []
          else:
              # got a valid XML RPC response
              start_response("200 OK", [('Content-Type', 'text/xml'), ('Content-Length', str(len(response)),)])
              return [response]
docs: Handles the HTTP POST request.
  
          Attempts to interpret all HTTP POST requests as XML-RPC calls,
          which are forwarded to the server's _dispatch method for handling.
  
          Most code taken from SimpleXMLRPCServer with modifications for wsgi and my custom dispatcher.