Lines 174-179
Link Here
|
174 |
"close"); |
174 |
"close"); |
175 |
const char *conn = apr_table_get(r->headers_in, "Connection"); |
175 |
const char *conn = apr_table_get(r->headers_in, "Connection"); |
176 |
|
176 |
|
|
|
177 |
/* PR47087: If the client sent Expect: 100 and we didn't reply |
178 |
* with the same, there may be more data we screw up. |
179 |
* Closing the connection fixes that. Furthermore, when we're |
180 |
* sending an error or redirection, closing it is likely to be |
181 |
* the most efficient thing to do too. |
182 |
* |
183 |
* Yes this logic could go in the big if, but let's KISS instead. |
184 |
*/ |
185 |
if (r->expecting_100 && (r->status != HTTP_CONTINUE)) { |
186 |
r->connection->keepalive = AP_CONN_CLOSE; |
187 |
} |
177 |
/* The following convoluted conditional determines whether or not |
188 |
/* The following convoluted conditional determines whether or not |
178 |
* the current connection should remain persistent after this response |
189 |
* the current connection should remain persistent after this response |
179 |
* (a.k.a. HTTP Keep-Alive) and whether or not the output message |
190 |
* (a.k.a. HTTP Keep-Alive) and whether or not the output message |