Graal - ajouter un en-tête à chaque réponse
Comment pourrais-je ajouter un en-tête de réponse - dire X-Temps qui ressemblerait à quelque chose comme
X Temps: 112
Où la valeur serait le temps en millisecondes que la réponse a eu à traiter? Est-il vraiment un moyen simple d'ajouter cela à un Graal application? Pas quelque chose que je veux laisser allumé en permanence mais il serait agréable d'avoir tout le développement de mon application.
Une application utile qui de ce fait affaire avec
X-UA-Compatible
http-equiv
les balises meta utilisé pour définir la version du moteur de rendu d'IE ou chromeframe, en particulier par le HTML5 Boilerplate projet.OriginalL'auteur BuddyJoe | 2011-06-20
Vous devez vous connecter pour publier un commentaire.
Simplement ajouter un en-tête de la réponse, vous pouvez utiliser un
after
Filtre.Edit:
Pour calculer le temps, il serait probablement plus approprié d'utiliser un
javax.servlet.Filtre
au lieu d'un Grain de filtre.src/groovy/com/example/monprojet/MyFilter.groovy
src/templates/war/web.xml
(exécuter graal installez-les modèles si src/templates n'est pas déjà dans votre arborescence des sources)
La raison de l'utilisation de la
javax.servlet.Filter
est de sorte que vous n'avez pas à séparer les "avant" et "après" actions, et peut donc avoir sur l'heure de départ tout au long de l'ensemble de la chaîne de filtre & servlet exécution.Note supplémentaire:
Pour moi, il semble étrange de vouloir retourner le serveur écoulé temps d'exécution comme en-tête de réponse. Peut-être vous avez une bonne raison de le faire, mais dans la plupart des cas, je serais A) soit être plus préoccupés par le total des temps d'aller-retour (comme observé par le client), ou B) être journalisation écoulé temps d'exécution sur le serveur de mon propre système d'administration/métriques fins.
Je suppose que je ne interprété votre question vous demandant comment vous devez ajouter l'en-tête de réponse; permettez-moi de construire une réponse rapide pour le calendrier.
Semble impressionnant. Merci. +1 et la réponse. Je viens d'avoir un système où un client peut signaler des problèmes de performances. Et il comprend le calendrier de la demande complète/temps de réponse de la part du client. Mais comprend aussi le "temps de travail" / performances du serveur.
Une compréhensible cas d'utilisation 🙂 - heureux il a travaillé pour vous.
Notez que si vous souhaitez ajouter un en-tête qui ne dépend pas du traitement de canalisation (par exemple, pas le moment), alors vous pouvez définir l'en-tête dans l'avant fermeture plutôt que de la après la fermeture (ou dans le pré-traitement du Filtre de Servlet). De cette façon, vous ne rencontrerez pas d'erreur avec les réponses qui ont été fermés.
OriginalL'auteur Rob Hruska