> If we modify the code, the correct response enters onResponse,
> the error response enters onError, and onResponse will only process the
> correct request if the user does not modify the Filter code.

For legacy filters only implement onResponse, I think we can solve this by 
redirecting onError to onResponse by default. 

Jun

> On Mar 4, 2019, at 11:53 AM, yuhang xiu <[email protected]> wrote:
> 
> Hi,
> 
> About compatibility issues.
> 
> The current version will enter onResponse due to all requests (correct or
> incorrect). If we modify the code, the correct response enters onResponse,
> the error response enters onError, and onResponse will only process the
> correct request if the user does not modify the Filter code.
> 
> Is this a problem that we should consider?
> 
> Ian Luo <[email protected]> 于2019年3月3日周日 下午10:49写道:
> 
>> Jun,
>> 
>> In your new proposed interface, how could we construct a filter chain? Say,
>> how could filter-a process further a value processed by filter-b?
>> 
>> Thanks,
>> -Ian.
>> 
>> 
>> On Fri, Mar 1, 2019 at 5:44 PM jun liu <[email protected]> wrote:
>> 
>>> Hi,
>>> 
>>> I am thinking of the possibility of changing the current Filter
>> definition
>>> model to make it totally asynchronous and event-driven. Here’s the
>> detailed
>>> proposal[1]. It’s only a immature idea at present so I am not sure fi
>> it’s
>>> good to have this change yet, especially from the user’s side.
>>> 
>>> In short, the new Filter would look like:
>>> 
>>> public interface Filter {
>>>   void onSend(Invocation invocation) {
>>>     // before invoke, throw exception to terminate
>>>    }
>>> 
>>>   void onResponse(Result result, Invoker<?> invoker, Invocation
>>> invocation) {
>>>        // biz return successfully
>>>    }
>>> 
>>>   void onError(Throwable e) throws RpcException{
>>>        // biz throw exception
>>>    }
>>> }
>>> 
>>> 1. https://github.com/apache/incubator-dubbo/issues/3585
>>> 
>>> Jun
>>> 
>>> 
>> 

Reply via email to