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 des demandes qui ne peuvent pas être traitées

Diagramme qui affiche la boucle de demande de processus.

Réception d’une demande

L’API du serveur HTTP fournit une structure de demande pour stocker la demande entrante analysée. Cette structure est allouée par l’application et initialisée lors de la réception d’une demande entrante. L’application appelle la fonction HttpReceiveHttpRequest pour recevoir la demande. Si le tampon de demande est trop petit pour recevoir la demande, l’application peut augmenter la taille de la mémoire tampon et appeler à nouveau HttpReceiveHttpRequest pour recevoir la demande entière.

Si la demande comprend des données de corps d’entité à recevoir, les applications appellent HttpReceiveRequestEntityBody avec l’ID de demande retourné dans le paramètre pRequestBuffer pendant l’appel à HttpReceiveHttpRequest.

Gestion de la demande

L’application effectue le traitement propre à l’application de la demande et formule une réponse. L’API du serveur HTTP n’impose aucun délai d’attente sur ce processus.

Envoi de la réponse

Lorsque l’application a terminé la gestion de la demande et en élaborant la réponse, elle appelle la fonction HttpSendHttpResponse pour envoyer la réponse. Si la réponse comprend des données de corps d’entité à envoyer, l’application appelle également HttpSendResponseEntityBody.

Annulation des demandes

Une fois que l’application a reçu un ID de demande de son appel à HttpReceiveHttpRequest, elle peut annuler la demande à tout moment en appelant HttpCancelHttpRequest.