I forgot to add the bug link:
http://code.google.com/p/cherokee/issues/detail?id=319
Having just seen Alvero hinting that the .98 release could be out in as
little as a few days, I'd *really* love to see a fix - even if it's just
adding an extra filter for X-Requested-With until a better solution
arises.
> Hi all.
>
> I recently moved all my Django sites onto Cherokee and it's been pretty
> awesome so far. I've just had one problem: Some X-* headers are not
> properly transformed.
>
> I found the error when trying to find the HTTP_X_REQUESTED_WITH header.
> This is primarily a header for javascript frameworks to use to show that
> the current request is an AJAX one. The libraries send a
> X-Requested-With header. This confused me at first but after digging
> around, I learnt that web servers are supposed to convert all X-Headers
> to HTTP_X_UPPERCASE_HEADERS (replacing dashes with underscores too).
>
> There is code that does some of this already (header.c circa line:1019):
>
> case 'X':
>
> if (header_equals ("X-Forwarded-For", header_x_forwarded_for, begin,
> header_len)) {
> ret = add_known_header (hdr, header_x_forwarded_for, val_offs,
> val_len);
> } else if (header_equals ("X-Forwarded-Host", header_x_forwarded_host,
> begin, header_len)) {
> ret = add_known_header (hdr, header_x_forwarded_host, val_offs,
> val_len);
> } else
> goto unknown;
> break;
>
>
> That covers two headers. But if I remember correctly, there are quite a
> few more out there.
>
> Would it not make more sense to replace that with a loop that replaces
> any X- header with its HTTP_X_ counterpart (automatically generated, or
> not)? The only downside I can see of doing that is a slight performance
> hit.
>
> Otherwise, would it just be possible to stick another "else if" in there
> for X-Requested-With so AJAX is better supported?
_______________________________________________
Cherokee mailing list
[email protected]
http://lists.octality.com/listinfo/cherokee