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

Brad Wood bdw429s at gmail.com
Tue Jul 7 14:32:23 EDT 2020


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/undertow-dev/attachments/20200707/ba59ed8d/attachment.html 


More information about the undertow-dev mailing list