Ruediger Pluem wrote: > > On 09/11/2009 11:55 PM, [email protected] wrote: >> Author: wrowe >> Date: Fri Sep 11 21:55:46 2009 >> New Revision: 814048 >> >> URL: http://svn.apache.org/viewvc?rev=814048&view=rev >> Log: >> Catch the somewhat absurd combination of a 417 error where no Expect header >> was present. >> >> Modified: >> httpd/httpd/trunk/modules/http/http_protocol.c >> >> Modified: httpd/httpd/trunk/modules/http/http_protocol.c >> URL: >> http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http/http_protocol.c?rev=814048&r1=814047&r2=814048&view=diff >> ============================================================================== >> --- httpd/httpd/trunk/modules/http/http_protocol.c (original) >> +++ httpd/httpd/trunk/modules/http/http_protocol.c Fri Sep 11 21:55:46 2009 >> @@ -1011,16 +1011,19 @@ >> "request-header field overlap the current extent\n" >> "of the selected resource.</p>\n"); >> case HTTP_EXPECTATION_FAILED: >> - return(apr_pstrcat(p, >> - "<p>The expectation given in the Expect " >> - "request-header" >> - "\nfield could not be met by this server.</p>\n" >> - "<p>The client sent<pre>\n Expect: ", >> - ap_escape_html(r->pool, >> apr_table_get(r->headers_in, "Expect")), >> - "\n</pre>\n" >> - "but we only allow the 100-continue " >> - "expectation.</p>\n", >> - NULL)); >> + s1 = apr_table_get(r->headers_in, "Expect"); >> + if (s1) >> + s1 = apr_pstrcat(p, >> + "<p>The expectation given in the Expect >> request-header\n" >> + "field could not be met by this server.\n" >> + "The client sent<pre>\n Expect: ", >> + ap_escape_html(r->pool, s1), "\n</pre>\n" >> + NULL); >> + else >> + s1 = "<p>No expectation was seen, the Expect request-header \n" >> + "field was not presented by the client.\n"; >> + return add_optional_notes(r, s1, "error-notes", "</p>" >> + "<p>Only the 100-continue expectation is >> supported.</p>\n"); > > Hm. Does it make sense to squeeze in the contents of the error-notes between > s1 > and "<p>Only the 100-continue expectation is supported.</p>\n"? > Why not just return apr_pstrcat(p, s1, "<p>Only the 100-continue expectation > is supported.</p>\n", NULL)?
Tag Balance. Note that the </p>...<p> is one string.
