クライアント側で RequestFactory リクエストを傍受する方法はありますか?
次のような呼び出しを傍受したい:
dummyRequest.dummyOperation().fire( new Receiver<String>() {
@Override
public void onSuccess(String response) {
}
});
アイデアは、サーバーと通信するときに負荷の兆候を示すことです。
クライアント側で RequestFactory リクエストを傍受する方法はありますか?
次のような呼び出しを傍受したい:
dummyRequest.dummyOperation().fire( new Receiver<String>() {
@Override
public void onSuccess(String response) {
}
});
アイデアは、サーバーと通信するときに負荷の兆候を示すことです。
デフォルトのトランスポート実装をオーバーライドして、RF初期化中に渡すことができます。
SampleRequestFactory factory = GWT.create( SampleRequestFactory.class );
factory.initialize( new SimpleEventBus(), new DefaultRequestTransport() );
DefaultRequestTransportから継承し、メソッドをオーバーライドできます
send(String payload, TransportReceiver receiver)
スーパー実装を呼び出す前にいくつかの処理を実行し、結果を処理するためにTransportReceiverをデリゲートでラップします。
final DefaultRequestTransport requestTransport = new DefaultRequestTransport() {
@Override
public void send(final String payload, final TransportReceiver receiver) {
GWT.log("making rpc");
final TransportReceiver proxy = new TransportReceiver() {
@Override
public void onTransportFailure(final ServerFailure failure) {
GWT.log("rpc returned");
receiver.onTransportFailure(failure);
}
@Override
public void onTransportSuccess(final String payload) {
GWT.log("rpc returned");
receiver.onTransportSuccess(payload);
}
};
super.send(payload, proxy);
}