from flask import Flask, send_from_directory
from sonora.wsgi import grpcWSGI
import helloworld_pb2
import helloworld_pb2_grpc
FORMAT_STRING = "Hello, {request.name}"
app = Flask(__name__)
class Greeter(helloworld_pb2_grpc.GreeterServicer):
def SayHello(self, request, context):
print(f"We are saying hello to {request.name}")
return helloworld_pb2.HelloReply(message=FORMAT_STRING.format(request=request))
def SayRepeatHello(self, request, context):
return helloworld_pb2.HelloReply(
message=FORMAT_STRING.format(request=request) * request.count
)
@app.route("/")
def index():
return send_from_directory(".", "index.html")
@app.route("/")
def foo(path):
if path == "/":
path = "index.html"
# This appears to filter ../ for us.
return send_from_directory(".", path)
if __name__ == "__main__":
app.wsgi_app = grpcWSGI(app.wsgi_app)
helloworld_pb2_grpc.add_GreeterServicer_to_server(Greeter(), app.wsgi_app)
app.run()