Source code for httpstan.routes
"""Routes for httpstan.
Routes for the HTTP server are defined here.
"""
import aiohttp.web
import httpstan.views as views
[docs]def setup_routes(app: aiohttp.web.Application) -> None:
"""Add routes to Application.
Arguments:
app (aiohttp.Application): Application to which routes should be added.
"""
# Note: changes here must be mirrored in `openapi.py`.
app.router.add_get("/v1/health", views.handle_health)
app.router.add_post("/v1/models", views.handle_create_model)
app.router.add_get("/v1/models", views.handle_list_models)
app.router.add_delete("/v1/models/{model_id}", views.handle_delete_model)
app.router.add_post("/v1/models/{model_id}/params", views.handle_show_params)
app.router.add_post("/v1/models/{model_id}/log_prob", views.handle_log_prob)
app.router.add_post("/v1/models/{model_id}/log_prob_grad", views.handle_log_prob_grad)
app.router.add_post("/v1/models/{model_id}/write_array", views.handle_write_array)
app.router.add_post("/v1/models/{model_id}/transform_inits", views.handle_transform_inits)
app.router.add_post("/v1/models/{model_id}/fits", views.handle_create_fit)
app.router.add_get("/v1/models/{model_id}/fits/{fit_id}", views.handle_get_fit)
app.router.add_delete("/v1/models/{model_id}/fits/{fit_id}", views.handle_delete_fit)
app.router.add_get("/v1/operations/{operation_id}", views.handle_get_operation)