Streaming handling improvements

Hello,

I recently started to play with the streaming logic as in my case I receive binary payloads in the order of 20-40MBs. I noticed that in this case, the REQUEST_MAX_SIZE configuration parameter was not taken into account. I added a comment in an old Github Issue and was told to create a discussion here and backlink there.

I think as long as the request has a content-length set and >0, it is intuitive to still apply the max request size as otherwise the user’s expectation by setting this argument is not satisfied. At least in my case where I’m testing the API with curl -F foo='@blabla.mp4', I’m still getting the content-length but only this time, the request is not directly rejected as in the non streaming case.

This makes a lot of sense. We probably should add the header check of a non-zero finite amount in this file: https://github.com/sanic-org/sanic/blob/af678010628cd76a57e7a53e114f25d5c00e931a/sanic/app.py#L938

Want to add a PR with this change?