예제 #1
0
파일: app.py 프로젝트: zhenxingdev/molten
def setup_app():
    get_schema = OpenAPIHandler(
        metadata=Metadata(
            title="Pet Store",
            description=__doc__,
            version="0.0.0",
        ),
        security_schemes=[HTTPSecurityScheme("Bearer", "bearer")],
        default_security_scheme="Bearer",
    )

    get_schema = annotate(no_auth=True)(get_schema)
    get_docs = annotate(no_auth=True)(OpenAPIUIHandler())

    return App(
        components=[
            DatabaseComponent(),
            categories.CategoryManagerComponent(),
            tags.TagManagerComponent(),
            pets.PetManagerComponent(),
        ],
        middleware=[
            ResponseRendererMiddleware(),
            auth_middleware,
        ],
        routes=[
            Include("/v1/categories", categories.routes),
            Include("/v1/pets", pets.routes),
            Include("/v1/tags", tags.routes),
            Route("/_docs", get_docs),
            Route("/_schema", get_schema),
        ],
    )
예제 #2
0
파일: app.py 프로젝트: gdvalle/molten
    ResponseRendererMiddleware([
        JSONRenderer(),
    ]),
    AuthorizationMiddleware,
]

get_docs = OpenAPIUIHandler()

get_schema = OpenAPIHandler(
    metadata=Metadata(
        title="Todo API",
        description="An API for managing todos.",
        version="0.0.0",
    ),
    security_schemes=[
        HTTPSecurityScheme("default", "bearer"),
    ],
    default_security_scheme="default",
)

routes: List[Union[Route, Include]] = [
    Include("/v1/todos", [
        Route("/", list_todos),
        Route("/", create_todo, method="POST"),
        Route("/{todo_id}", get_todo),
        Route("/{todo_id}", delete_todo, method="DELETE"),
    ]),
    Route("/_docs", get_docs),
    Route("/_schema", get_schema),
]
예제 #3
0
@annotate(
    openapi_tags=["users"],
)
def update_settings(settings: Settings) -> Settings:
    return settings


get_schema = OpenAPIHandler(
    metadata=Metadata(
        title="Pet Store",
        description="An example application that generates OpenAPI schema.",
        version="0.1.0",
    ),
    security_schemes=[
        HTTPSecurityScheme("Bearer Authorization", "bearer")
    ],
    default_security_scheme="Bearer Authorization",
)

app = App(
    routes=[
        Include("/v0/pets", [
            Route("", add_pet_deprecated, method="POST"),
        ]),
        Include("/v1/pets", [
            Route("", list_pets),
            Route("", add_pet, method="POST"),
            Include("/{pet_id}", [
                Route("", update_pet, method="PUT"),
                Route("", delete_pet, method="DELETE"),
예제 #4
0
    return HTTP_201, Photo(1, "http://example.com/example.png")


@annotate(
    openapi_tags=["users"], )
def update_settings(settings: Settings) -> Settings:
    return settings


get_schema = OpenAPIHandler(
    metadata=Metadata(
        title="Pet Store",
        description="An example application that generates OpenAPI schema.",
        version="0.1.0",
    ),
    security_schemes=[HTTPSecurityScheme("Bearer Authorization", "bearer")],
    default_security_scheme="Bearer Authorization",
)

app = App(routes=[
    Include("/v0/pets", [
        Route("", add_pet_deprecated, method="POST"),
    ]),
    Include("/v1/pets", [
        Route("", list_pets),
        Route("", add_pet, method="POST"),
        Include("/{pet_id}", [
            Route("", update_pet, method="PUT"),
            Route("", delete_pet, method="DELETE"),
            Route("/photos", add_photo, method="POST"),
        ]),