Traitement des requêtes
Le traitement des demandes comprend quatre étapes :
- Réception d’une demande
- Gestion de la demande
- Envoi de la réponse
- Annulation de demandes qui ne peuvent pas être traitées
Réception d’une demande
L’API serveur HTTP fournit une structure de requête pour stocker la requête entrante analysée. Cette structure est allouée par l’application et initialisée lorsqu’une demande entrante est reçue. L’application appelle la fonction HttpReceiveHttpRequest pour recevoir la demande. Si la mémoire tampon de requête est trop petite pour recevoir la demande, l’application peut augmenter la taille de la mémoire tampon et appeler à nouveau HttpReceiveHttpRequest pour recevoir la requête entière.
Si la requête inclut des données de corps d’entité à recevoir, les applications appellent HttpReceiveRequestEntityBody avec l’ID de demande retourné dans le paramètre pRequestBuffer lors de l’appel à HttpReceiveHttpRequest.
Gestion de la demande
L’application effectue un traitement spécifique à l’application de la demande et formule une réponse. L’API serveur HTTP n’impose aucun délai d’attente à ce processus.
Envoi de la réponse
Lorsque l’application a terminé de gérer la requête et de formuler la réponse, elle appelle la fonction HttpSendHttpResponse pour envoyer la réponse. Si la réponse inclut des données de corps d’entité à envoyer, l’application appelle également HttpSendResponseEntityBody.
Annulation de demandes
Une fois que l’application a reçu un ID de demande de son appel à HttpReceiveHttpRequest, elle peut à tout moment annuler la demande en appelant HttpCancelHttpRequest.