Oula c'est vieux, j'avais pas vu ton mail, désolé :) Si je me souviens bien... Quand tu fais un doProcess(), le serveur envoie la réponse. Quand cette réponse n'est pas trop grosse, la réponse (headers+contenu) est envoyée en une seule fois. Dans le cas que nous cherchions à corriger, la taille du contenu dépassait un seuil quelconque qui fait que le contenu est renvoyé au client au fur et à mesure (Transfer-Encoding:chunked). Si tu as un outil qui reçoit ou intercepte la réponse, il se base probablement sur les headers. Or si le header n'est pas positionné avant que le contenu arrive, le comportement peut varier. De mémoire, dans le cas présent, on se heurtait à du cross-domain puisque les headers qui vont bien manquaient à Apache pour servir la réponse. Donc autant que possible, il faut que les headers soient positionnés avant que le serveur commence à renvoyer la réponse. Arnaud On 15/06/2014 23:45, Tony Chemit wrote:
On Fri, 13 Jun 2014 11:21:56 +0200 "chorem.org scm" <scm@users.chorem.org> wrote:
fix header when 'Transfer-Encoding:chunked'
Ça corrige quoi d'avoir déplacer le doProcess() ?
merci,
tony.
--- .../java/org/chorem/pollen/rest/api/PollenRestApiRequestFilter.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestFilter.java b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestFilter.java index a31f7c3..5a15085 100644 --- a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestFilter.java +++ b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestFilter.java @@ -61,8 +61,6 @@ public class PollenRestApiRequestFilter extends WebMotionFilter {
prepareRequestContext(context);
- doProcess(); - if (HttpContext.METHOD_OPTIONS.equals(context.getMethod())) {
Render render = call.getRender(); @@ -79,6 +77,8 @@ public class PollenRestApiRequestFilter extends WebMotionFilter {
PollenRestApiUtil.prepareResponse(context);
+ doProcess(); + }
protected PollenRestApiRequestContext prepareRequestContext(HttpContext context) throws PollenInvalidSessionTokenException {