Skip to content

shortcuts high level public api expose #465

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jan 18, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 7 additions & 17 deletions README.rst
Original file line number Diff line number Diff line change
@@ -77,15 +77,10 @@ Now you can use it to validate against requests

.. code-block:: python

from openapi_core import openapi_request_validator
from openapi_core import validate_request

result = openapi_request_validator.validate(spec, request)

# raise errors if request invalid
result.raise_for_errors()

# get list of errors
errors = result.errors
# raise error if request is invalid
result = validate_request(request, spec=spec)

and unmarshal request data from validation result

@@ -111,15 +106,10 @@ You can also validate against responses

.. code-block:: python

from openapi_core import openapi_response_validator

result = openapi_response_validator.validate(spec, request, response)

# raise errors if response invalid
result.raise_for_errors()
from openapi_core import validate_response

# get list of errors
errors = result.errors
# raise error if response is invalid
result = validate_response(request, response, spec=spec)

and unmarshal response data from validation result

@@ -142,7 +132,7 @@ In order to explicitly validate a:

from openapi_core import openapi_v31_response_validator

result = openapi_v31_response_validator.validate(spec, request, response)
result = validate_response(request, response, spec=spec, validator=openapi_v31_response_validator)

You can also explicitly import ``openapi_v3_request_validator`` or ``openapi_v3_response_validator`` which is a shortcut to the latest v3 release.

44 changes: 22 additions & 22 deletions docs/integrations.rst
Original file line number Diff line number Diff line change
@@ -56,21 +56,21 @@ You can use ``DjangoOpenAPIRequest`` as a Django request factory:

.. code-block:: python

from openapi_core import openapi_request_validator
from openapi_core import validate_request
from openapi_core.contrib.django import DjangoOpenAPIRequest

openapi_request = DjangoOpenAPIRequest(django_request)
result = openapi_request_validator.validate(spec, openapi_request)
result = validate_request(openapi_request, spec=spec)

You can use ``DjangoOpenAPIResponse`` as a Django response factory:

.. code-block:: python

from openapi_core import openapi_response_validator
from openapi_core import validate_response
from openapi_core.contrib.django import DjangoOpenAPIResponse

openapi_response = DjangoOpenAPIResponse(django_response)
result = openapi_response_validator.validate(spec, openapi_request, openapi_response)
result = validate_response(openapi_request, openapi_response, spec=spec)


Falcon
@@ -115,21 +115,21 @@ You can use ``FalconOpenAPIRequest`` as a Falcon request factory:

.. code-block:: python

from openapi_core import openapi_request_validator
from openapi_core import validate_request
from openapi_core.contrib.falcon import FalconOpenAPIRequest

openapi_request = FalconOpenAPIRequest(falcon_request)
result = openapi_request_validator.validate(spec, openapi_request)
result = validate_request(openapi_request, spec=spec)

You can use ``FalconOpenAPIResponse`` as a Falcon response factory:

.. code-block:: python

from openapi_core import openapi_response_validator
from openapi_core import validate_response
from openapi_core.contrib.falcon import FalconOpenAPIResponse

openapi_response = FalconOpenAPIResponse(falcon_response)
result = openapi_response_validator.validate(spec, openapi_request, openapi_response)
result = validate_response(openapi_request, openapi_response, spec=spec)


Flask
@@ -196,11 +196,11 @@ You can use ``FlaskOpenAPIRequest`` as a Flask request factory:

.. code-block:: python

from openapi_core import openapi_request_validator
from openapi_core import validate_request
from openapi_core.contrib.flask import FlaskOpenAPIRequest

openapi_request = FlaskOpenAPIRequest(flask_request)
result = openapi_request_validator.validate(spec, openapi_request)
result = validate_request(openapi_request, spec=spec)

For response factory see `Werkzeug`_ integration.

@@ -223,21 +223,21 @@ You can use ``RequestsOpenAPIRequest`` as a Requests request factory:

.. code-block:: python

from openapi_core import openapi_request_validator
from openapi_core import validate_request
from openapi_core.contrib.requests import RequestsOpenAPIRequest

openapi_request = RequestsOpenAPIRequest(requests_request)
result = openapi_request_validator.validate(spec, openapi_request)
result = validate_request(openapi_request, spec=spec)

You can use ``RequestsOpenAPIResponse`` as a Requests response factory:

.. code-block:: python

from openapi_core import openapi_response_validator
from openapi_core import validate_response
from openapi_core.contrib.requests import RequestsOpenAPIResponse

openapi_response = RequestsOpenAPIResponse(requests_response)
result = openapi_response_validator.validate(spec, openapi_request, openapi_response)
result = validate_response(openapi_request, openapi_response, spec=spec)


Starlette
@@ -252,21 +252,21 @@ You can use ``StarletteOpenAPIRequest`` as a Starlette request factory:

.. code-block:: python

from openapi_core import openapi_request_validator
from openapi_core import validate_request
from openapi_core.contrib.starlette import StarletteOpenAPIRequest

openapi_request = StarletteOpenAPIRequest(starlette_request)
result = openapi_request_validator.validate(spec, openapi_request)
result = validate_request(openapi_request, spec=spec)

You can use ``StarletteOpenAPIResponse`` as a Starlette response factory:

.. code-block:: python

from openapi_core import openapi_response_validator
from openapi_core import validate_response
from openapi_core.contrib.starlette import StarletteOpenAPIResponse

openapi_response = StarletteOpenAPIResponse(starlette_response)
result = openapi_response_validator.validate(spec, openapi_request, openapi_response)
result = validate_response(openapi_request, openapi_response, spec=spec)


Tornado
@@ -287,18 +287,18 @@ You can use ``WerkzeugOpenAPIRequest`` as a Werkzeug request factory:

.. code-block:: python

from openapi_core import openapi_request_validator
from openapi_core import validate_request
from openapi_core.contrib.werkzeug import WerkzeugOpenAPIRequest

openapi_request = WerkzeugOpenAPIRequest(werkzeug_request)
result = openapi_request_validator.validate(spec, openapi_request)
result = validate_request(openapi_request, spec=spec)

You can use ``WerkzeugOpenAPIResponse`` as a Werkzeug response factory:

.. code-block:: python

from openapi_core import openapi_response_validator
from openapi_core import validate_response
from openapi_core.contrib.werkzeug import WerkzeugOpenAPIResponse

openapi_response = WerkzeugOpenAPIResponse(werkzeug_response)
result = openapi_response_validator.validate(spec, openapi_request, openapi_response)
result = validate_response(openapi_request, openapi_response, spec=spec)
22 changes: 6 additions & 16 deletions docs/usage.rst
Original file line number Diff line number Diff line change
@@ -21,15 +21,10 @@ Now you can use it to validate against requests

.. code-block:: python

from openapi_core import openapi_request_validator
from openapi_core import validate_request

result = openapi_request_validator.validate(spec, request)

# raise errors if request invalid
result.raise_for_errors()

# get list of errors
errors = result.errors
# raise error if request is invalid
result = validate_request(request, spec=spec)

and unmarshal request data from validation result

@@ -55,15 +50,10 @@ You can also validate against responses

.. code-block:: python

from openapi_core import openapi_response_validator

result = openapi_response_validator.validate(spec, request, response)

# raise errors if response invalid
result.raise_for_errors()
from openapi_core import validate_response

# get list of errors
errors = result.errors
# raise error if response is invalid
result = validate_response(request, response, spec=spec)

and unmarshal response data from validation result

4 changes: 2 additions & 2 deletions openapi_core/validation/shortcuts.py
Original file line number Diff line number Diff line change
@@ -13,8 +13,8 @@


def validate_request(
spec: Spec,
request: Request,
spec: Spec,
base_url: Optional[str] = None,
validator: RequestValidator = openapi_request_validator,
) -> RequestValidationResult:
@@ -24,9 +24,9 @@ def validate_request(


def validate_response(
spec: Spec,
request: Request,
response: Response,
spec: Spec,
base_url: Optional[str] = None,
validator: ResponseValidator = openapi_response_validator,
) -> ResponseValidationResult:
Loading