I'm writing a cucumber test for an xml webservice. When making POST's the Content-Type in the header is set to "application/xml" and for any request, the Accept header is set to "application/xml" (aka Mime::XML.to_s)
I'm running into the following issue: When I make two successive requests, the first one being a POST to log the user in; the second one a GET to retrieve some data, the second request always seems to fail with this error: private method `split' called for #<Mime::Type:0x7f60a708ff70> (NoMethodError) /usr/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/mime_type.rb:206:in `method_missing' /usr/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/request.rb:51:in `media_type' /usr/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/request.rb:117:in `parseable_data?' /usr/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/request.rb:138:in `POST' /usr/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/request.rb:428:in `request_parameters' /usr/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/request.rb:381:in `parameters' This started happening only in Rails 2.3. It previously worked fine with Rails 2.0 Now, I dug into this some more; the Session class in webrat core seems to get instantiated once for the entire scenario and the instance sticks around for all of the requests. I noticed by checking with the debugger, that the header object gets transformed into a Rack header object and acquires things like the referrer field from the first request. On the second request (the GET), the Content-Type is set but it probably shouldn't--as there is no payload data, it's a GET--and that causes havoc. I'm kind of lost as to whether this is a bug in Rack or Rails or Webrat or whether I'm doing something wrong. Any advice is appreciated. -- Posted via http://www.ruby-forum.com/. _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users