jsr339-experts@jax-rs-spec.java.net

[jsr339-experts] Re: [jax-rs-spec users] Re: Re: FilterAction and FilterContext

From: Marek Potociar <marek.potociar_at_oracle.com>
Date: Tue, 29 Nov 2011 16:39:59 +0100

That's another viable option IMO.

Although I still prefer the filter to actively return the continuation as it's more in line with the simpler, functional
programming style (like it or not, JAX-RS filter IS a function) as well as because I find it personally more robust,
readable and less error prone (as it eliminates potential illegal/unintended context states) e.g.:

public void preFilter(ctx) {

   if (stop) {
      context.stop(response);
      // bug - forgot the return
   }

   context.continue(request);
   // what now? is the above going to produce an exception or just continue?
}

Marek


On 11/29/2011 04:22 PM, Bill Burke wrote:
>
>
> On 11/29/11 8:43 AM, Marek Potociar wrote:
>> public class MyFilter implements RequestFilter {
>>
>> public FilterAction preFilter(FilterContext context) {
>> // ... do some request processing
>> if (stopProcessing) {
>> return context.stop(response);
>> }
>>
>> return context.continue(request);
>> }
>> }
>>
>
> Why do you need FilterAction if these methods would be available on FilterContext?
>
>
> it could be just:
>
> public void preFilter(ctx) {
>
> if (stop) {
> context.stop(response);
> return;
> }
>
> context.continue(request);
>
> }
>