Starlette introduced some new changes to how the `root_path` is handled,
which broke our `ReverseProxied` example and test.
This PR fixes both and adds documentation on how to run behind a proxy.
Fixes#1820.
Correct error handling in response to CORS.
Changes proposed in this pull request:
- Add a MiddlewarePosition before Exception handling so CORS is always
returned
- Add ServerError Middleware to handle unhandled errors between the
ServerError- and ExceptionMiddleware
- Update corresponding docs
---------
Co-authored-by: Robbe Sneyders <robbe.sneyders@ml6.eu>
Updates the import statements on
https://connexion.readthedocs.io/en/stable/cookbook.html
A few of the import statements were missing, or didn't match the example
code because they imported at the wrong depth.
This should make the code in the cookbook copy-pasteable.
---------
Co-authored-by: Robbe Sneyders <robbe.sneyders@gmail.com>
Resolved error since flask cors was moved to its own project: `ExtDeprecationWarning: Importing flask.ext.cors is deprecated, use flask_cors instead.`
Will also require installation `pip install -U flask-cors`
removed test_decorators and test_parameter (this test is useless now);
removed the request/response containers and add new request response classes;
created a abstract api class and a api flask class;
derived classes will implements the get_response/get_request methods that will convert framework req/resp types to connexion req/resp types;
moved the jsonifier from produces to flask api;
created a abstract app class and a app flask class;
changed all validators to use the ConnexionRequest instead flask request;
changed the problem function to generate a ConnexionRequest;
created a new user variables container called context (this is a property of ConnexionRequest). this will be passed as kwargs to all operations functions;
this context is used on authentication;
fixed all tests to new API;
some changes that I did may not be documented in this commit.