Getting a strange cookie error

Travis Bell travis at
Fri Jan 22 01:30:50 EST 2010

Hey guys,

I've been developing with Thin since day 1 (many months) and today, as I started moving everything to test on production (with Unicorn) started getting this weird error.

I am using Sinatra, and have been setting my cookies like so:

         response.set_cookie('foo', {
            :value => "bar",
            :path => '/',
            :expires =>

In Thin, Webrick, Passenger, this seems to work fine. However in Unicorn I get a big fat ugly error:

# Rack::Lint::LintError at /login
# a header value must be a String, but the value of 'Set-Cookie' is a Array
# /opt/ruby-enterprise-1.8.7-2010.01/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/lint.rb: in assert, line 18

I'm not really sure what this means since :value is a string. I am using the following versions:

- REE (1.8.7-2010.01)
- Rack 1.1.0
- Unicorn 0.96.0
- Latest Sinatra from source

Does anyone have any input as to why this is happening? I have been able to re-produce this on a 32-bit CentOS box and my local MacBook Pro (Snow Leopard).


Travis Bell

More information about the mongrel-unicorn mailing list