Good point.After submitting this,I also realized that I forgot to check the return value of strftime().
On 8/22/07, Chris Ross <[EMAIL PROTECTED]> wrote: > > If you're building a Date header anyway, why not go ahead and do > it in the case of 100 and 101, as well? It says it's permitted, > simply not required, so I don't see any significant value in special- > casing those two response codes... > > - Chris > > On Aug 22, 2007, at 12:51, Ralph Moritz wrote: > > Hi, > > > > according to RFC 2616: > > > > Origin servers MUST include a Date header field in all responses, > > except in these cases: > > > > 1. If the response status code is 100 (Continue) or 101 > > (Switching > > Protocols), the response MAY include a Date header field, at > > the server's option. > > > > 2. If the response status code conveys a server error, e.g. 500 > > (Internal Server Error) or 503 (Service Unavailable), and > > it is > > inconvenient or impossible to generate a valid Date. > > > > 3. If the server does not have a clock that can provide a > > reasonable approximation of the current time, its responses > > MUST NOT include a Date header field. In this case, the rules > > in section 14.18.1 MUST be followed. > > > > So I've modified `evhttp_make_header_response' appropriately. Patch > > below: > > > > --- http.c.bak 2007-08-16 06:50:57.000000000 +0200 > > +++ http.c 2007-08-22 18:48:42.000000000 +0200 > > @@ -366,6 +366,25 @@ evhttp_make_header_response(struct evhtt > > evhttp_add_header(req->output_headers, > > "Content-Length", len); > > } > > + > > + /* > > + * Add required Date header to HTTP/1.1 responses. > > + * (Except those with status 100/1) > > + */ > > + if ((req->major == 1) > > + && (req->minor == 1) > > + && (req->response_code != 100) > > + && (req->response_code != 101)) { > > + static char date[50]; > > + static struct tm cur; > > + time_t t = time(NULL); > > + > > + gmtime_r(&t, &cur); > > + strftime(date, sizeof(date), > > + "%a, %d %b %Y %H:%M:%S GMT", &cur); > > + evhttp_add_header(req->output_headers, > > + "Date", date); > > + } > > } > > > > /* if the request asked for a close, we send a close, too */ > > > > > > -- > > Ralph Moritz > > Ph: +27 84 626 9070 > > GPG Public Key: http://ralphm.info/public.gpg > > _______________________________________________ > > Libevent-users mailing list > > Libevent-users@monkey.org > > http://monkey.org/mailman/listinfo/libevent-users > > -- Ralph Moritz Ph: +27 84 626 9070 GPG Public Key: http://ralphm.info/public.gpg _______________________________________________ Libevent-users mailing list Libevent-users@monkey.org http://monkey.org/mailman/listinfo/libevent-users