2010-11-05 29 views
5

Y at-il un moyen de lire les informations d'en-tête reçues par le client GWT, sur la réponse RPC?En-tête de réponse GWT RPC

Response header 
Server     Apache-Coyote/1.1 
Set-Cookie    JSESSIONID=3379B1E57BEB2FE227EDC1F57BF550ED; Path=/GWT 
Content-Encoding  gzip 
Content-Disposition attachment 
Content-Type   application/json;charset=utf-8 
Content-Length   209 
Date     Fri, 05 Nov 2010 13:07:31 GMT 

Je suis particulièrement intérêt à identifier lorsque le client reçoit le Set-Cookie attribut sur son en-tête.

Y at-il un moyen de faire cela sur GWT?

Je trouve que sur

com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter<T> 

existe la méthode

public void onResponseReceived(Request request, Response response) { ... } 

Sur le paramètre Réponse semble avoir l'information nécessaire. Ceci est, existe un moyen d'obtenir cela sans "racking" le code du compilateur GWT?

grâce

JuDaC

Répondre

0

Si vous déclarez votre méthode de service async pour retourner un RequestBuilder vous devriez être en mesure de définir une RequestCallback qui sera notifiée lorsque le Response est reçu. Je n'ai pas essayé moi-même, mais ça ressemble à ce dont tu as besoin.

+1

@Issac, pouvez-vous expliquer plus sur votre solution Merci –

+0

@ Vegeta Probablement. Quelle est votre question? –

1

Vous pouvez essayer de remplacer la méthode RpcRequestBuilder.doSetCallback et forcer votre service à l'utiliser:

MyServiceAsync service = GWT.create(MyService.clas); 
((ServiceDefTarget) service).setRpcRequestBuilder(new RpcRequestBuilder() { 
    @Override 
    protected void doSetCallback(RequestBuilder rb, final RequestCallback callback) { 
     super.doSetCallback(rb, new RequestCallback() { 

      @Override 
      public void onResponseReceived(Request request, Response response) { 
       String headerValue = response.getHeader("my-header"); 
       // do sth... 
       callback.onResponseReceived(request, response); 
      } 

      @Override 
      public void onError(Request request, Throwable exception) { 
       callback.onError(request, exception); 
      } 
     }); 
    } 
}); 

Inspirée par http://stuffthathappens.com/blog/2009/12/22/custom-http-headers-with-gwt-rpc/