Skip to content

Commit

Permalink
Docs integrations restructure
Browse files Browse the repository at this point in the history
  • Loading branch information
p1c2u committed Nov 22, 2023
1 parent 88c78dc commit 1952440
Show file tree
Hide file tree
Showing 5 changed files with 92 additions and 14 deletions.
4 changes: 2 additions & 2 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ openapi-core

.. toctree::
:hidden:
:maxdepth: 2
:maxdepth: 3

unmarshalling
validation
integrations
integrations/index
customizations
security
extensions
Expand Down
30 changes: 18 additions & 12 deletions docs/integrations.rst
Original file line number Diff line number Diff line change
Expand Up @@ -491,22 +491,28 @@ This section describes integration with `Werkzeug <https://werkzeug.palletsproje
Low level
~~~~~~~~~

You can use ``WerkzeugOpenAPIRequest`` as a Werkzeug request factory:
The integration defines ``WerkzeugOpenAPIRequest`` and ``WerkzeugOpenAPIResponse`` classes that convert
Werkzeug requests and responses to OpenAPI ones.

.. code-block:: python
.. md-tab-set::

from openapi_core import unmarshal_request
from openapi_core.contrib.werkzeug import WerkzeugOpenAPIRequest
.. md-tab-item:: Request

openapi_request = WerkzeugOpenAPIRequest(werkzeug_request)
result = unmarshal_request(openapi_request, spec=spec)
.. code-block:: python
You can use ``WerkzeugOpenAPIResponse`` as a Werkzeug response factory:
from openapi_core.contrib.werkzeug import WerkzeugOpenAPIRequest
.. code-block:: python
openapi_request = WerkzeugOpenAPIRequest(werkzeug_request)
from openapi_core import unmarshal_response
from openapi_core.contrib.werkzeug import WerkzeugOpenAPIResponse
result = openapi.unmarshal_request(openapi_request)
openapi_response = WerkzeugOpenAPIResponse(werkzeug_response)
result = unmarshal_response(openapi_request, openapi_response, spec=spec)
.. md-tab-item:: Response

.. code-block:: python
from openapi_core.contrib.werkzeug import WerkzeugOpenAPIRequest, WerkzeugOpenAPIResponse
openapi_request = WerkzeugOpenAPIRequest(werkzeug_request)
openapi_response = WerkzeugOpenAPIResponse(werkzeug_response)
result = openapi.unmarshal_response(openapi_request, openapi_response)
29 changes: 29 additions & 0 deletions docs/integrations/aiohttp.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
aiohttp.web
===========

This section describes integration with `aiohttp.web <https://docs.aiohttp.org/en/stable/web.html>`__ framework.

Low level
---------

You can use ``AIOHTTPOpenAPIWebRequest`` as an aiohttp request factory:

.. code-block:: python
from openapi_core import unmarshal_request
from openapi_core.contrib.aiohttp import AIOHTTPOpenAPIWebRequest
request_body = await aiohttp_request.text()
openapi_request = AIOHTTPOpenAPIWebRequest(aiohttp_request, body=request_body)
result = unmarshal_request(openapi_request, spec=spec)
You can use ``AIOHTTPOpenAPIWebRequest`` as an aiohttp response factory:

.. code-block:: python
from openapi_core import unmarshal_response
from openapi_core.contrib.starlette import AIOHTTPOpenAPIWebRequest
openapi_response = StarletteOpenAPIResponse(aiohttp_response)
result = unmarshal_response(openapi_request, openapi_response, spec=spec)
10 changes: 10 additions & 0 deletions docs/integrations/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
Integrations
============

.. toctree::
:maxdepth: 2

aiohttp
werkzeug

Openapi-core integrates with your popular libraries and frameworks. Each integration offers different levels of integration that help validate and unmarshal your request and response data.
33 changes: 33 additions & 0 deletions docs/integrations/werkzeug.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
Werkzeug
========

This section describes integration with `Werkzeug <https://werkzeug.palletsprojects.com>`__ a WSGI web application library.

Low level
~~~~~~~~~

The integration defines ``WerkzeugOpenAPIRequest`` and ``WerkzeugOpenAPIResponse`` classes that convert
Werkzeug requests and responses to OpenAPI ones.

.. md-tab-set::

.. md-tab-item:: Request

.. code-block:: python
from openapi_core.contrib.werkzeug import WerkzeugOpenAPIRequest
openapi_request = WerkzeugOpenAPIRequest(werkzeug_request)
result = openapi.unmarshal_request(openapi_request)
.. md-tab-item:: Response

.. code-block:: python
from openapi_core.contrib.werkzeug import WerkzeugOpenAPIRequest, WerkzeugOpenAPIResponse
openapi_request = WerkzeugOpenAPIRequest(werkzeug_request)
openapi_response = WerkzeugOpenAPIResponse(werkzeug_response)
result = openapi.unmarshal_response(openapi_request, openapi_response)

0 comments on commit 1952440

Please sign in to comment.