Search code examples
gwtrequestfactory

Intercepting GWT RequestFactory requests


Is there a way to intercept RequestFactory requests on client side?

I want to intercept calls like this:

dummyRequest.dummyOperation().fire( new Receiver<String>() {
  @Override
  public void onSuccess(String response) {        
  }
});

The idea is to show some loading indication when communicating with server.


Solution

  • You can override the default transport implementation and pass it during RF initialization:

    SampleRequestFactory factory = GWT.create( SampleRequestFactory.class );
    factory.initialize( new SimpleEventBus(), new DefaultRequestTransport() );
    

    You can inherit from DefaultRequestTransport and override the method

    send(String payload, TransportReceiver receiver)
    

    Do some processing before calling the super-implementation and wrap the TransportReceiver with a delegate to handle the result.