Как добавить заголовок Access-Control-Allow-Origin для представления метода колбы? - PullRequest
0 голосов
/ 27 июня 2019

У меня есть колба MethodView следующим образом

class Ping(MethodView):
    """
    Ping point implementation
    """

    def get(self) -> Response:
        """
        Checks the server's health
        :return: a json as status = 200
        """
        return jsonify(status=200)

Я хочу добавить Access-Control-Allow-Origin для этой конечной точки.

def create_app() -> Flask:
    """
    Creates the flask application.
    :return: returns an app instance.
    """

    app: Flask = Flask(__name__, instance_relative_config=True)

    # db config
    app.config["db"] = os.environ.get("APP_DB_NAME")
    app.config["host"] = os.environ.get("APP_DB_HOST")
    app.config["password"] = os.environ.get("APP_DB_PASSWORD")
    app.config["port"] = os.environ.get("APP_DB_PORT")
    app.config["user"] = os.environ.get("APP_DB_USER")

    # secret key config
    app.config.from_mapping(SECRET_KEY=os.environ.get("SECRET"))

    add_urls(app)

    return app


def add_urls(app: Flask) -> None:
    """
    Add urls to app
    :param app: Flask app instance
    """

    # TODO: Declare end-points in a dictionary and iterate.
    app.add_url_rule(
        f"{END_POINT}/ping", view_func=Ping.as_view("ping")
    )

Метод return jsonify() не имеет возможности передавать заголовки. Как установить заголовок «Access-Control-Allow-Origin»?

1 Ответ

1 голос
/ 30 июня 2019
  1. Установка пакета Flask-Cors
  2. И импортировать его как: - из flask_cors импортируйте CORS

    В методе create_app () после инициализации приложения Flask, то есть

    app: Flask = Flask(__name__, instance_relative_config=True)

  3. Объявить эту строку -> CORS (приложение)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...