Cleanup: unbreak 100-continue a bit.
This tries to unbreak the 100-continue thing a bit. Proper headers are send in case of 100-continue. Also the 200 OK was moved to the end of the stream. The client may even be reused. But I'm not sure we only do 'End of stream' in cases we are not on an undefined state of the client. Do we as of now support anything that give us EOS without a fatal socket state (error or shutdown)? At least this unbreaks 100-continue with active TLS that was broken as hell as we sent the header in clear over the socket. Not checking if it was transmitted completly or something. Using lowlevel socket calls (in contrast to the connection level calls that would have handled the TLS just fine). While this seem sto be a huge improvement to the situation I kindly ask you to do a lot testing on this. Both with SOURCE as well as PUT clients.
Showing with 45 additions and 22 deletions