Projet

Général

Profil

Development #6130

Améliorer la gestion du hook de requête

Ajouté par Jérôme Schneider il y a plus de 9 ans. Mis à jour il y a plus de 8 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Jérôme Schneider
Catégorie:
-
Version cible:
-
Début:
09 décembre 2014
Echéance:
% réalisé:

100%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Actuellement lors du hook on_request on est obligé de retourner une requête ce qui veut dire qu'on va forcément faire la requête. L'objectif c'est de permettre à un hook on_request de retourner directement une réponse.


Fichiers

Révisions associées

Révision 9bc2c9eb (diff)
Ajouté par Jérôme Schneider il y a environ 9 ans

on_request: allow hook to return a reponse

Closes #6130

Historique

#1

Mis à jour par Jérôme Schneider il y a plus de 9 ans

#2

Mis à jour par Frédéric Péters il y a plus de 9 ans

C'est trop abstrait pour moi, je ne suis pas en mesure de relire ce patch.

#3

Mis à jour par Jérôme Schneider il y a plus de 9 ans

  • Statut changé de En cours à Résolu (à déployer)
  • % réalisé changé de 80 à 100

Appliqué par commit commit:ec202317ba97585467bb60d3814b086e80a771a5.

#4

Mis à jour par Frédéric Péters il y a plus de 9 ans

J'ai écrit :

C'est trop abstrait pour moi, je ne suis pas en mesure de relire ce patch.

Ni personne.

#5

Mis à jour par Jérôme Schneider il y a plus de 9 ans

  • Statut changé de Résolu (à déployer) à En cours
  • % réalisé changé de 100 à 60
#6

Mis à jour par Benjamin Dauvergne il y a plus de 9 ans

J'ai travaillé avec Jérôme pendant l'eocamp sur ce commit; il s'inspire du fonctionnement des middleware de Django qui peuvent s'ils le veulent renvoyer une réponse pré-liminaire qui annule tout les traitements suivants (middleware et appel de la vue), cela permet par exemple d'interrompre le traitement de la requête pour renvoyer une redirection, c'est utilisé par le support REMOTE_USER1 et aussi à terme simplifier d'autres hooks je pense.

[1]: Voir le patch sur #6129 où l'on voit le hook remote_user rediriger vers l'URL de login

34    if not remote_user:
35        next_url = "%s://%s%s" % (env['mandaye.scheme'],
36          env["HTTP_HOST"], env['PATH_INFO'])
37      url = login_url + '?next_url=' + urllib.quote(next_url)
38      return _302(url)

Pour moi c'est un ack.

#7

Mis à jour par Frédéric Péters il y a plus de 9 ans

Merci pour l'explication.

#8

Mis à jour par Frédéric Péters il y a environ 9 ans

Benjamin a dit que c'était ok, ça peut être poussé.

#9

Mis à jour par Jérôme Schneider il y a environ 9 ans

  • Statut changé de En cours à Résolu (à déployer)
  • % réalisé changé de 60 à 100

Appliqué par commit commit:9bc2c9eb4b4dda23ffc3900c5855add46b3e9b70.

#10

Mis à jour par Frédéric Péters il y a plus de 8 ans

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF