Add write deadline to Git HTTP responses
Fixes #66 (moved)
High-level approach to cleaning up connections that don't finish reading their HTTP response.
A Go HTTP response has two parts: one call to WriteHeader and multiple calls to Write. Each of these calls, which normally takes less than a second (think: sending 32kB of data over a TCP connection), gets a 10-minute deadline. By putting a new deadline on each call, instead of a deadline on the entire request-reponse cycle, we allow arbitrarily large responses to be sent.