[undertow-dev] Max and Min content size predicates are implemented backwards

Brad Wood bdw429s at gmail.com
Tue Jul 7 19:51:23 EDT 2020


Thanks for confirming.  I was wondering myself about introducing a new name
in order to avoid the mess of the breaking change.  I would just recommend
we make sure to deprecate the old ones that are named poorly.  I'll enter a
ticket in a bit.

Thanks!

~Brad

*Developer Advocate*
*Ortus Solutions, Corp *

E-mail: brad at coldbox.org
ColdBox Platform: http://www.coldbox.org
Blog: http://www.codersrevolution.com



On Tue, Jul 7, 2020 at 6:44 PM Stuart Douglas <sdouglas at redhat.com> wrote:

> Yea, this does not seem correct, but IMHO they are both named terribly. In
> order to avoid a breaking change how about we deprecate these, and replace
> them with 'request-larger-than' and 'request-smaller-than' to make it
> clearer exactly what is being tested?
>
> Stuart
>
> On Wed, 8 Jul 2020 at 04:39, Brad Wood <bdw429s at gmail.com> wrote:
>
>> These two predicates from undertow are named/implemented backwards.  The
>> "max" should be ensuring the provided value is at least *as small or
>> smaller* and the "min" should be ensuring the provided value is at least *as
>> big or bigger*.  But here are the descriptions of each one.
>>
>> *MinContentSizePredicate*
>>
>>> Predicate that returns true if the Content-Size of a request is below a
>>> given value.
>>
>>
>>
>> *MaxContentSizePredicate*
>>
>>> Predicate that returns true if the Content-Size of a request is above a
>>> given value.
>>
>>
>> So to spell it out, if someone uses the following predicate:
>>
>> max-content-size(5)
>>
>>
>> That means they are saying the maximum content size is 5 bytes.  So,
>> here's a quick truth table:
>>
>>    - If content length is *4 bytes *-> should return *true *(under the
>>    max)
>>    - if content length is *5 bytes *-> should return *true *(at the max,
>>    but not over)
>>    - if content length is *6 bytes *-> should return *false *(over the
>>    max)
>>
>> But this is the exact opposite of how these predicates have been
>> implemented.  The javadoc matches the behavior, but not the name.
>>
>> Can I get a quick confirmation this is, in fact, backwards before I enter
>> a ticket and/or pull request.  Note, this will be a breaking change to fix.
>>
>> Thanks!
>>
>> ~Brad
>>
>> *Developer Advocate*
>> *Ortus Solutions, Corp *
>>
>> E-mail: brad at coldbox.org
>> ColdBox Platform: http://www.coldbox.org
>> Blog: http://www.codersrevolution.com
>>
>> _______________________________________________
>> undertow-dev mailing list
>> undertow-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/undertow-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/undertow-dev/attachments/20200707/7b7b6f21/attachment.html 


More information about the undertow-dev mailing list