This is an automated email from the ASF dual-hosted git repository. pierrejeambrun pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push: new 102644dafa1 Improve AirflowRouter (#49712) 102644dafa1 is described below commit 102644dafa1bd6ee2ecc4f51298cc8ceb96d395b Author: Pierre Jeambrun <pierrejb...@gmail.com> AuthorDate: Thu Apr 24 17:02:14 2025 +0200 Improve AirflowRouter (#49712) --- .../src/airflow/api_fastapi/common/router.py | 58 ++-------------------- 1 file changed, 4 insertions(+), 54 deletions(-) diff --git a/airflow-core/src/airflow/api_fastapi/common/router.py b/airflow-core/src/airflow/api_fastapi/common/router.py index aeb1fb22452..12d9fca0724 100644 --- a/airflow-core/src/airflow/api_fastapi/common/router.py +++ b/airflow-core/src/airflow/api_fastapi/common/router.py @@ -17,17 +17,10 @@ from __future__ import annotations -from collections.abc import Sequence -from enum import Enum from typing import Any, Callable -from fastapi import APIRouter, params -from fastapi.datastructures import Default -from fastapi.routing import APIRoute -from fastapi.types import DecoratedCallable, IncEx -from fastapi.utils import generate_unique_id -from starlette.responses import JSONResponse, Response -from starlette.routing import BaseRoute +from fastapi import APIRouter +from fastapi.types import DecoratedCallable class AirflowRouter(APIRouter): @@ -36,58 +29,15 @@ class AirflowRouter(APIRouter): def api_route( self, path: str, - *, - response_model: Any = Default(None), - status_code: int | None = None, - tags: list[str | Enum] | None = None, - dependencies: Sequence[params.Depends] | None = None, - summary: str | None = None, - description: str | None = None, - response_description: str = "Successful Response", - responses: dict[int | str, dict[str, Any]] | None = None, - deprecated: bool | None = None, - methods: list[str] | None = None, operation_id: str | None = None, - response_model_include: IncEx | None = None, - response_model_exclude: IncEx | None = None, - response_model_by_alias: bool = True, - response_model_exclude_unset: bool = False, - response_model_exclude_defaults: bool = False, - response_model_exclude_none: bool = False, - include_in_schema: bool = True, - response_class: type[Response] = Default(JSONResponse), - name: str | None = None, - callbacks: list[BaseRoute] | None = None, - openapi_extra: dict[str, Any] | None = None, - generate_unique_id_function: Callable[[APIRoute], str] = Default(generate_unique_id), + **kwargs: Any, ) -> Callable[[DecoratedCallable], DecoratedCallable]: def decorator(func: DecoratedCallable) -> DecoratedCallable: self.add_api_route( path, func, - response_model=response_model, - status_code=status_code, - tags=tags, - dependencies=dependencies, - summary=summary, - description=description, - response_description=response_description, - responses=responses, - deprecated=deprecated, - methods=methods, operation_id=operation_id or func.__name__, - response_model_include=response_model_include, - response_model_exclude=response_model_exclude, - response_model_by_alias=response_model_by_alias, - response_model_exclude_unset=response_model_exclude_unset, - response_model_exclude_defaults=response_model_exclude_defaults, - response_model_exclude_none=response_model_exclude_none, - include_in_schema=include_in_schema, - response_class=response_class, - name=name, - callbacks=callbacks, - openapi_extra=openapi_extra, - generate_unique_id_function=generate_unique_id_function, + **kwargs, ) return func