github.com/micro/go-micro/examples@v0.0.0-20210105173217-bf4ab679e18b/proxy/python/rpc_server.py (about)

     1  from werkzeug.wrappers import Request, Response
     2  from werkzeug.serving import run_simple
     3  
     4  from jsonrpc import JSONRPCResponseManager, dispatcher
     5  
     6  import uuid
     7  import requests
     8  import proxy
     9  
    10  service = {
    11      "name": "go.micro.srv.greeter",
    12      "nodes": [{
    13          "id": "go.micro.srv.greeter-" + str(uuid.uuid4()),
    14          "address": "127.0.0.1",
    15          "port": 4000,
    16      }],
    17  }
    18  
    19  @Request.application
    20  def application(request):
    21      dispatcher["Say.Hello"] = lambda s: "Hello " + s["name"] + "!"
    22      response = JSONRPCResponseManager.handle(request.data, dispatcher)
    23      return Response(response.json, mimetype='application/json')
    24  
    25  if __name__ == '__main__':
    26      proxy.register(service)
    27      run_simple('localhost', 4000, application)
    28      proxy.deregister(service)