On 09/12/2009 12:09 AM, William A. Rowe, Jr. wrote: > 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.
This wasn't my point :-). So I rephrase: Why not return apr_pstrcat(p, s1, "</p><p>Only the 100-continue expectation is supported.</p>\n", NULL)? instead of the add_optional_notes? Regards RĂ¼diger
