tags:

views:

93

answers:

1

I have a ruby cgi script which writes it output like this:

cgi.out("Cache-Control" => "no-cache, must-revalidate",
        "type"       => "text/html",
        "charset"    => "UTF-8") {
  template.result(binding)
}

Unfortunately, when I view the headers from cURL, I see the following:

< HTTP/1.1 200 OK
< Date: Sun, 23 Aug 2009 09:48:03 GMT
< Server: Apache/2.2.11 (Ubuntu) DAV/2 SVN/1.5.4 PHP/5.2.6-3ubuntu4.1 with Suhosin-Patch mod_ssl/2.2.11 OpenSSL/0.9.8g
< 5541-Content-Type: text/html; charset=UTF-8
< Cache-Control: no-cache, must-revalidate
< Content-Length: 2495
< Cache-Control: max-age=86400
< Expires: Mon, 24 Aug 2009 09:48:03 GMT
< Content-Type: application/x-ruby

It's renaming my Content-Type, and adding a second cache control header. Clearly I have something misconfigured.

A: 

Turns out a had a debugging 'print' statement which was executing before the cgi.out() line. This caused a bit a text to prefix the headers.

brianegge