The Websocket text frames should also be less resource intensive to validate now, with a binary concatenation avoided.
This is more in line with what RC7230 says, and will allow simplifying the parsing code of a few headers in cowlib.
This document lists all rules that Cowboy HTTP server will follow after careful analysis of the RFC7230. Do note that not all these rules are implemented or tested yet, and that at the time of commit there may be rules that Cowboy will ultimately not implement (for various reasons including performance or leaving certain aspects up to the user code).
Now everywhere in Cowboy when we want to stop something we return a 'stop' tuple instead of one of the many choices depending on context that we had before. This particular change affects middlewares, sub protocols and REST handlers which were using 'halt' to stop processing.
The 'shutdown' atom has a specific meaning inside OTP. We are instead going to use 'stop' which is pretty much the equivalent of what we actually do. 'shutdown' is now reserved for future special processes implementation.
Wasn't following the same order as the rest of the module.
We don't need the extra check for multiple of 8 bits.