text: from sanic import Sanic, response
  from sanic.blueprints import Blueprint
  
  
  # Usage
  # curl -H "Host: example.com" localhost:8000
  # curl -H "Host: sub.example.com" localhost:8000
  # curl -H "Host: bp.example.com" localhost:8000/question
  # curl -H "Host: bp.example.com" localhost:8000/answer
  
  app = Sanic(__name__)
  bp = Blueprint("bp", host="bp.example.com")
  
  
  @app.route(
      "/", host=["example.com", "somethingelse.com", "therestofyourdomains.com"]
  )
  async def hello_0(request):
      return response.text("Some defaults")
  
  
  @app.route("/", host="sub.example.com")
  async def hello_1(request):
      return response.text("42")
  
  
  @bp.route("/question")
  async def hello_2(request):
      return response.text("What is the meaning of life?")
  
  
  @bp.route("/answer")
  async def hello_3(request):
      return response.text("42")
  
  
  @app.get("/name")
  def name(request):
      return response.text(request.app.url_for("name", _external=True))
  
  
  app.blueprint(bp)
  
  if __name__ == "__main__":
      app.run(host="0.0.0.0", port=8000)
  