# Utilisation du proxy OpenAPI

GitBook peut proxyfier **Le tester** les requêtes afin qu’elles fonctionnent même lorsque votre serveur API ne prend pas en charge CORS.

### Pourquoi cela existe

Les navigateurs bloquent les requêtes cross-origin, sauf si le serveur API les autorise avec des en-têtes CORS. Sans CORS configuré, **Le tester** 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 toute votre spécification

Ajoutez `x-enable-proxy: true` à la racine de votre spécification 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" %}
Niveau de l’opération `x-enable-proxy` a priorité sur la valeur du niveau racine.
{% endhint %}

### Ce que le proxy prend en charge

GitBook transfère tous les `HTTP` méthodes (`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 listées dans le tableau `servers` de votre spécification. Il ne peut pas être utilisé pour atteindre des URL arbitraires.

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