Source code in src/prefect/server/api/csrf_token.py
16171819202122232425262728293031323334
@router.get("")asyncdefcreate_csrf_token(db:PrefectDBInterface=Depends(provide_database_interface),client:str=Query(...,description="The client to create a CSRF token for"),)->schemas.core.CsrfToken:"""Create or update a CSRF token for a client"""ifPREFECT_SERVER_CSRF_PROTECTION_ENABLED.value()isFalse:raiseHTTPException(status_code=status.HTTP_422_UNPROCESSABLE_ENTITY,detail="CSRF protection is disabled.",)asyncwithdb.session_context(begin_transaction=True)assession:token=awaitmodels.csrf_token.create_or_update_csrf_token(session=session,client=client)awaitmodels.csrf_token.delete_expired_tokens(session=session)returntoken