Beispiel #1
0
functions = {
	'add': lambda a, b: a + b,
	'subtract': lambda a, b: a - b,
	'multiply': lambda a, b: a * b,
	'divide': lambda a, b: a / b,
	'square': lambda a: a * a,
	'squareRoot': lambda a: math.sqrt(a),
	'sum': lambda a: sum(a),
	'average': lambda a: sum(a) / len(a),
}

xmlrpc_handler = XMLRPCHandler('xml-rpc')
xmlrpc_handler.connect(app, '/xml-rpc')
for name, func in functions.iteritems():
	xmlrpc_handler.register(func, name)

class JSONRPCHandler(simplejsonrpc.JsonrpcHandler):
	def dispatch(self, method_name):
		return functions.get(method_name, None);
@app.route("/json-rpc", methods=['GET', 'POST', 'OPTIONS'])
def jsonrpc():
	result = ''
	if request.headers["CONTENT_LENGTH"]:
		handler = JSONRPCHandler()
		result = handler.handle(request.data)
	response = make_response(result, 200)
	# add CORS headers
	hdr = 'Access-Control-Allow-%s'
	response.headers[hdr % 'Origin'] = '*'
	response.headers[hdr % 'Headers'] = "Content-Type, Authentication"
Beispiel #2
0
            ticket = binascii.a2b_base64(ticket)
            if ticket is None:
                return False

            cip = str(request.remote_addr)
            if isinstance(TICKET, SignedTicket):
                data = ticket
            else:
                data = ticket, cip
            ticket_data = TICKET.validateTkt(data)

            validuntil = int(time.time()) + TIMEOUT
            ticket = TICKET.createTkt(ticket_data[0], ticket_data[1], ticket_data[2], cip=cip, validuntil=validuntil)
            ticket_b64 = base64.b64encode(ticket)
            return ticket_b64

        return False
    except Exception, e:
        return False

############################################################################
# register xmlrpc callback    
handler.register(rpc_validate_tkt, "validate_tkt")
handler.register(rpc_login, "rpc_login")
handler.register(rpc_refresh_tkt, "refresh_tkt")
############################################################################

if __name__ == "__main__":
    app.run(port=6623, host='0.0.0.0', debug=True)
    #pass