Utilisation de verbes HTTP supplémentaires quand votre client est limité

Dans certains cas, les applications ne peuvent pas émettre de requêtes HTTP avec d’autres verbes que GET ou POST. Par exemple, certains proxys, pare-feu, etc. peuvent être configurés par leurs opérateurs pour bloquer certains verbes HTTP ou il se peut que certains environnements d’application ne prennent pas en charge d’autres verbes. Le cas échéant, l’API OneDrive offre un autre moyen de spécifier un verbe HTTP lorsque c’est nécessaire.

Vous pouvez faire passer par tunneling n’importe quelle requête HTTP par l’intermédiaire d’une requête POST. Pour cela, créez la requête POST et ajoutez l’ensemble d’en-têtes X-HTTP-Method-Override à la méthode que vous souhaitez appeler. Cela indique au serveur de traiter la requête, non comme une requête POST, mais avec le verbe qui a été indiqué dans la valeur de cet en-tête.

Cet en-tête est uniquement valable pour les requêtes POST. Il est ignoré par les autres méthodes HTTP.

Par exemple, si le verbe DELETE est bloqué par un pare-feu, votre application peut le faire passer par tunneling à l’API pour assurer que votre application peut toujours supprimer un fichier.

POST /drive/items/{item-id} HTTP/1.1
Host: api.onedrive.com
X-HTTP-Method-Override: DELETE

Cette requête permet de supprimer la ressource identifiée. La réponse du service correspond à la réponse qui aurait été renvoyée si la méthode HTTP avait été DELETE.