Some http robustness improvements.
authorTimothy B. Terriberry <tterribe@xiph.org>
Sat, 20 Oct 2012 14:10:29 +0000 (07:10 -0700)
committerTimothy B. Terriberry <tterribe@xiph.org>
Sat, 20 Oct 2012 14:21:14 +0000 (07:21 -0700)
commitf83266d98d8301a6cbbcf0ca8119090d2c145572
tree2979ab733edaced437b90778ddd131797da39d5c
parent2ffd8cb7f17076ce42f0f252374d7306f837a8a0
Some http robustness improvements.

- Increase the maximum response header buffer size up to ~32 kB.
  This also moves it into a heap-allocated buffer instead of the
   stack, as 32 kB is really too much for the stack.
- Treat LF as CR LF when parsing headers.
  This is necessary when parsing the load-balancer response in
   front of <http://lazaradio.hu:8100/bermuda.opus>.
  The response returned by that server is invalid in lots of ways,
   but with these two changes we can read it.
- In addition, we now peek ahead at a large chunk of data when
   reading the response instead of reading 2 to 4 bytes at a time.
  This allows a typical response to be read with two syscalls
   (one peek, one read) instead of several hundred.
- Stop trying to read more data when the connection is closed.
src/http.c