from __future__ import annotations import typing as t from http import HTTPStatus from flask import Flask from flask import jsonify from flask import stream_template from flask.templating import render_template from flask.views import View from flask.wrappers import Response app = Flask(__name__) @app.route("/str") def hello_str() -> str: return "
Hello, World!
" @app.route("/bytes") def hello_bytes() -> bytes: return b"Hello, World!
" @app.route("/json") def hello_json() -> Response: return jsonify({"response": "Hello, World!"}) @app.route("/generator") def hello_generator() -> t.Generator[str, None, None]: def show() -> t.Generator[str, None, None]: for x in range(100): yield f"data:{x}\n\n" return show() @app.route("/generator-expression") def hello_generator_expression() -> t.Iterator[bytes]: return (f"data:{x}\n\n".encode() for x in range(100)) @app.route("/iterator") def hello_iterator() -> t.Iterator[str]: return iter([f"data:{x}\n\n" for x in range(100)]) @app.route("/status") @app.route("/status/