Je suis en train d'implémenter un module Apache 2.0.x en C, pour interfacer avec un produit existant. J'ai besoin de gérer les données FORM, très probablement en utilisant POST mais je veux aussi gérer le cas GET.Module Apache Gestion des formulaires en C
Le livre Apache Modules de Nick Kew contient une section sur la gestion des données de formulaire. Il fournit des exemples de code pour POST et GET, qui renvoient un apr_hash_t des paires clé + valeur dans le formulaire. parse_form_from_POST marshalls la brigade de seau et l'aplatit dans un tampon, tandis que parse_form_from_GET peut simplement référencer l'URL. Les deux routines s'appuient sur une routine parse_form_from_string pour parcourir chaque champ délimité et extraire les informations dans la table de hachage. Ce serait bien, mais il semble qu'il devrait y avoir un moyen plus simple de faire cela que d'ajouter quelques centaines de lignes de code à mon module. Existe-t-il un module ou des routines dans apache, apr ou apr-util pour extraire les noms de champs et les données associées d'un FORMULAIRE GET ou POST dans une structure à laquelle le code C peut plus facilement accéder? Je ne trouve rien de pertinent, mais cela semble être un besoin commun pour lequel il devrait y avoir une solution.
C'est exactement le contraire d'une réponse! Pourquoi ne devrions-nous pas chercher des moyens faciles d'écrire des modules Apache qui forment un traitement en C? – mlibby
L'écriture du code de traitement de formulaire dans C sur Apache est comme écrire des applications d'espace utilisateur sous la forme de modules de noyau. C'est difficile parce que personne ne le fait, et ce n'était pas vraiment prévu à cette fin. – bmdhacks
Je sais que cette question est assez ancienne, mais maintenant en 2012, il est possible de faire l'analyse des formulaires en utilisant les fonctions Apache API, donc je pense que l'idée qu'un module Apache ne devrait pas faire l'analyse syntaxique est démodée. L'idée d'écrire des gestionnaires de contenu en tant que modules Apache est peut-être rare, mais il peut y avoir des cas où cela a le plus de sens. Dans tous les cas, si l'échantillon du livre est adéquat pour la tâche, alors la réponse n'est pas "ne faites pas ceci" c'est "oui, c'est la manière la plus facile de faire ceci". – mlibby