* [WIP] Replace the HTTP call to /api/predict with a function call
* Extract shared logics into route_utils.*
* Fix Queue.call_prediction() to return the output dict and raise exceptions
* Remove run_predict()
* Create route_utils.call_process_api()
* Check Blocks.api_open and return 404 if it's false
* Refactoring on queueing.py
* Refactoring on queueing.py, renaming data to body
* Fix the if block of availability check in the predict() endpoint handler
* Put the code of clearning pending streams into route_utils.call_process_api
* Format gradio/routes.py
* Fix queueing.Queue.reset_iterators() not to call an HTTP endpoint
* Remove ququeing.Queue.queue_client, which is no longer used
* Fix with static type analysis
* Remove gradio.utils.AsyncRequest, which is no longer used
* add changeset
* Remove PEP604-syntax which is not supported by Python<3.10
* Fix gradio/queueing.py
* Remove AsyncRequest test cases
* Fix queueing and routes test cases
* Fix
* Replace Queue.server_url with .server_app and remove methods related to the old .server_url
* Revert `gradio_api_url` because building the document fails
* Add __future__.annotations to route_utils.py
* Update gradio/queueing.py
Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
* Format
* Mark the `gradio_api_url` parameter of `mount_gradio_app()` deprecated
* Fix Queue.call_prediction to convert the output to a plain object
* Add a `except asyncio.CancelledError` handler to avoid printing stack trace for task cancellation
* Move the call of `route_utils.restore_session_state` into `route_utils.call_process_api`
* exception class
---------
Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
Co-authored-by: Abubakar Abid <abubakar@huggingface.co>