Remove xmlrpc demo -- it duplicates the SimpleXMLRPCServer module.
This commit is contained in:
parent
7b1ddca380
commit
65ff561b50
|
@ -1,75 +0,0 @@
|
|||
#
|
||||
# XML-RPC SERVER
|
||||
# $Id$
|
||||
#
|
||||
# a simple XML-RPC server for Python
|
||||
#
|
||||
# History:
|
||||
# 1999-02-01 fl added to xmlrpclib distribution
|
||||
#
|
||||
# written by Fredrik Lundh, January 1999.
|
||||
#
|
||||
# Copyright (c) 1999 by Secret Labs AB.
|
||||
# Copyright (c) 1999 by Fredrik Lundh.
|
||||
#
|
||||
# fredrik@pythonware.com
|
||||
# http://www.pythonware.com
|
||||
#
|
||||
# --------------------------------------------------------------------
|
||||
# Permission to use, copy, modify, and distribute this software and
|
||||
# its associated documentation for any purpose and without fee is
|
||||
# hereby granted. This software is provided as is.
|
||||
# --------------------------------------------------------------------
|
||||
#
|
||||
|
||||
import SocketServer, BaseHTTPServer
|
||||
import xmlrpclib
|
||||
import sys
|
||||
|
||||
class RequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
|
||||
|
||||
def do_POST(self):
|
||||
try:
|
||||
# get arguments
|
||||
data = self.rfile.read(int(self.headers["content-length"]))
|
||||
params, method = xmlrpclib.loads(data)
|
||||
|
||||
# generate response
|
||||
try:
|
||||
response = self.call(method, params)
|
||||
# wrap response in a singleton tuple
|
||||
response = (response,)
|
||||
except:
|
||||
# report exception back to server
|
||||
response = xmlrpclib.dumps(
|
||||
xmlrpclib.Fault(1, "%s:%s" % sys.exc_info()[:2])
|
||||
)
|
||||
else:
|
||||
response = xmlrpclib.dumps(
|
||||
response,
|
||||
methodresponse=1
|
||||
)
|
||||
except:
|
||||
# internal error, report as HTTP server error
|
||||
self.send_response(500)
|
||||
self.end_headers()
|
||||
else:
|
||||
# got a valid XML RPC response
|
||||
self.send_response(200)
|
||||
self.send_header("Content-type", "text/xml")
|
||||
self.send_header("Content-length", str(len(response)))
|
||||
self.end_headers()
|
||||
self.wfile.write(response)
|
||||
|
||||
# shut down the connection (from Skip Montanaro)
|
||||
self.wfile.flush()
|
||||
self.connection.shutdown(1)
|
||||
|
||||
def call(self, method, params):
|
||||
# override this method to implement RPC methods
|
||||
print "CALL", method, params
|
||||
return params
|
||||
|
||||
if __name__ == '__main__':
|
||||
server = SocketServer.TCPServer(('', 8000), RequestHandler)
|
||||
server.serve_forever()
|
Loading…
Reference in New Issue