# Utiliser le proxy OpenAPI

GitBook peut faire proxy **Testez-le** les requêtes afin qu’elles fonctionnent même lorsque votre serveur d’API ne prend pas en charge CORS.

### Pourquoi cela existe

Les navigateurs bloquent les requêtes interorigines, sauf si le serveur d’API les autorise via des en-têtes CORS. Sans CORS configuré, **Testez-le** les requêtes échouent dans le navigateur. Le proxy achemine ces requêtes côté serveur via GitBook, en contournant cette restriction.

### Activer le proxy pour l’ensemble de votre spec

Ajoutez `x-enable-proxy: true` à la racine de votre spec OpenAPI.

<pre class="language-yaml"><code class="lang-yaml">openapi: '3.0.3'
<strong>x-enable-proxy: true
</strong>info:
  title: Exemple d’API
  version: '1.0.0'
servers:
  - url: https://api.example.com
</code></pre>

### Activer ou désactiver pour une opération spécifique

Ajoutez `x-enable-proxy` sur une opération.

<pre class="language-yaml"><code class="lang-yaml">openapi: '3.0.3'
info:
  title: Exemple d’API
  version: '1.0.0'
servers:
  - url: https://api.example.com
paths:
  /reports:
    get:
      summary: Liste des rapports
<strong>      x-enable-proxy: true
</strong>      responses:
        '200':
          description: OK
    post:
      summary: Créer un rapport
<strong>      x-enable-proxy: false
</strong>      responses:
        '201':
          description: Créé
</code></pre>

{% hint style="info" %}
Au niveau de l’opération `x-enable-proxy` a priorité sur la valeur au niveau racine.
{% endhint %}

### Ce que le proxy prend en charge

GitBook transfère tous les `méthodes HTTP` (`GET`, `POST`, `PUT`, `DELETE`, `PATCH`), les en-têtes, les cookies et les corps de requête.

### Sécurité

Le proxy ne transfère les requêtes que vers les URL सूचीées dans le `tableau servers` de votre spec. Il ne peut pas être utilisé pour atteindre des URL arbitraires.&#x20;

{% hint style="info" %}
Assurez-vous que votre `tableau servers` tableau inclut chaque URL de base que vous souhaitez tester. Si une URL n’est pas listée, **Testez-le** les requêtes vers cet hôte contourneront le proxy.
{% endhint %}
