fielding 97/02/16 22:05:02
Modified: src CHANGES http_protocol.c
Log:
Retain persistence on a 204 (No Content) response.
Correct send_http_trace() to use r->the_request instead of constructing
the request-line from its parsed components.
Submitted by: Dean Gaudet
Reviewed by: Roy Fielding
Revision Changes Path
1.167 +1 -1 apache/src/CHANGES
Index: CHANGES
===================================================================
RCS file: /export/home/cvs/apache/src/CHANGES,v
retrieving revision 1.166
retrieving revision 1.167
diff -C3 -r1.166 -r1.167
*** CHANGES 1997/02/17 05:22:56 1.166
--- CHANGES 1997/02/17 06:05:00 1.167
***************
*** 84,90 ****
*) Fixed bug which caused a segmentation fault if only one argument
given to RLimit* directives. [Ed Korthof]
! *) Continue persistent connection after 304 response. [Dean Gaudet]
*) Improved buffered output to the client by delaying the flush decision
until the BUFF code is actually about to read the next request.
--- 84,90 ----
*) Fixed bug which caused a segmentation fault if only one argument
given to RLimit* directives. [Ed Korthof]
! *) Continue persistent connection after 204 or 304 response. [Dean Gaudet]
*) Improved buffered output to the client by delaying the flush decision
until the BUFF code is actually about to read the next request.
1.101 +3 -2 apache/src/http_protocol.c
Index: http_protocol.c
===================================================================
RCS file: /export/home/cvs/apache/src/http_protocol.c,v
retrieving revision 1.100
retrieving revision 1.101
diff -C3 -r1.100 -r1.101
*** http_protocol.c 1997/02/11 17:02:04 1.100
--- http_protocol.c 1997/02/17 06:05:01 1.101
***************
*** 265,271 ****
else if (r->server->keep_alive && (!r->server->keep_alive_max ||
(r->server->keep_alive_max > r->connection->keepalives)) &&
(r->server->keep_alive_timeout > 0) &&
! (r->status == USE_LOCAL_COPY || r->header_only || length || tenc ||
((r->proto_num >= 1001) && (r->chunked = 1))) &&
(!find_token(r->pool, conn, "close")) &&
((ka_sent = find_token(r->pool, conn, "keep-alive")) ||
--- 265,272 ----
else if (r->server->keep_alive && (!r->server->keep_alive_max ||
(r->server->keep_alive_max > r->connection->keepalives)) &&
(r->server->keep_alive_timeout > 0) &&
! (r->status == HTTP_NOT_MODIFIED || r->status == HTTP_NO_CONTENT
! || r->header_only || length || tenc ||
((r->proto_num >= 1001) && (r->chunked = 1))) &&
(!find_token(r->pool, conn, "close")) &&
((ka_sent = find_token(r->pool, conn, "keep-alive")) ||
***************
*** 1021,1027 ****
/* Now we recreate the request, and echo it back */
! rvputs(r, r->method, " ", r->uri, " ", r->protocol, "\015\012", NULL);
for (i = 0; i < hdrs_arr->nelts; ++i) {
if (!hdrs[i].key) continue;
--- 1022,1028 ----
/* Now we recreate the request, and echo it back */
! rvputs( r, r->the_request, "\015\012", NULL );
for (i = 0; i < hdrs_arr->nelts; ++i) {
if (!hdrs[i].key) continue;