Pourquoi mettre les données reçues à blanc à la réception de '\n' ? ? ?
Cela devrait être fait à un seul endroit :
Et tous les traitements, y compris autorisation, devraient être faits après cette ligne :
if (c == '\n' && currentLineIsBlank) {
Et on renvoie la page HTML en réponse à partir du moment où la requête a été exécutée, et pas le contraire.
Chacun fait comme il veut, mais ce n'est qu'une question de convention.