1
0
mirror of https://github.com/go-micro/go-micro.git synced 2025-01-29 18:04:17 +02:00
go-micro/examples/proxy/python/rpc_server.py
2020-12-26 15:17:20 +00:00

29 lines
757 B
Python

from werkzeug.wrappers import Request, Response
from werkzeug.serving import run_simple
from jsonrpc import JSONRPCResponseManager, dispatcher
import uuid
import requests
import proxy
service = {
"name": "go.micro.srv.greeter",
"nodes": [{
"id": "go.micro.srv.greeter-" + str(uuid.uuid4()),
"address": "127.0.0.1",
"port": 4000,
}],
}
@Request.application
def application(request):
dispatcher["Say.Hello"] = lambda s: "Hello " + s["name"] + "!"
response = JSONRPCResponseManager.handle(request.data, dispatcher)
return Response(response.json, mimetype='application/json')
if __name__ == '__main__':
proxy.register(service)
run_simple('localhost', 4000, application)
proxy.deregister(service)