Commit Graph

44 Commits

Author SHA1 Message Date
Charlie Somerville
3f416f3a54 remove obsoleted usage of URI.unescape 2013-08-07 00:02:27 -07:00
Aaron Patterson
11dafeaa75 fixing response splitting problem 2011-08-16 14:25:45 -07:00
Jeremy Kemper
2cd29f4297 Only set response etag if body is not blank 2010-04-09 20:19:03 -07:00
Joshua Peek
0c0da1a6e0 Fix empty Set-Cookie headers [#3811 state:resolved] 2010-02-02 08:53:16 -06:00
Bryan Helmkamp
a3ab2b0ee1 Silence warning: instance variable @session not initialized 2009-11-09 17:23:30 -05:00
Nick Quaranto and Josh Nichols
d39c45690e Adding a deprecation warning for output.flush when rendering a proc or lambda
[#2893 state:committed]

Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
2009-08-08 17:23:40 -07:00
Jeremy Kemper
05abd7c196 Check for to_str instead of String 2009-06-08 20:35:52 -07:00
Joshua Peek
e61cceb37f Don't stream each line of the body, just send the whole thing 2009-05-08 17:00:16 -05:00
Joshua Peek
0096eb1555 Removed dead convert_expires! in Response [#1952 state:resolved]
Signed-off-by: Joshua Peek <josh@joshpeek.com>
2009-02-16 14:18:06 -06:00
Joshua Peek
524d8edf68 Update bundled Rack for Ruby 1.9 spec changes 2009-02-07 16:18:09 -06:00
Joshua Peek
0edb0a4fac Deprecate ActionController::Response#set_cookie :http_only option infavor of :httponly 2009-02-07 15:37:54 -06:00
Joshua Peek
2277fbedbe Temporarily bundle Rack 1.0 prerelease for testing 2009-02-07 00:08:28 -06:00
Eugene Pimenov
ae36fcedce Ruby 1.9 compat: call bytesize for content_length
[#1881 state:committed]

Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
2009-02-06 10:28:09 -08:00
Jeremy Kemper
074414883c Remove Content-Length header from :no_content responses 2009-01-07 15:55:28 -08:00
Joshua Peek
3b317b7100 Switch to Rack::Response#set_cookie instead of using CGI::Cookie to build cookie headers 2008-12-20 21:25:47 -06:00
Joshua Peek
fda62ecf70 Rename AbstractResponse to Response and inheirt from Rack::Response 2008-12-19 17:15:22 -06:00
Joshua Peek
a14bbd7a85 Process CGI 'cookie' header into 'Set-Cookie' for all responses.
This mostly affects response.headers['cookie'] for test requests. Use response.cookies instead.
2008-12-19 16:49:06 -06:00
Joshua Peek
3da1b94d07 Use status response accessor instead of the 'Status' header 2008-12-19 15:05:51 -06:00
Hongli Lai (Phusion
9e2b4a10f7 Do not output an ETag header if response body is blank or when sending files with send_file(... :xsendfile => true) [#1578 state:committed]
Signed-off-by: David Heinemeier Hansson <david@loudthinking.com>
2008-12-16 12:30:28 +01:00
David Heinemeier Hansson
18542c9e00 Dont try to auto-set the etag based on the body if any freshness headers have already been set [DHH/José Valim] 2008-10-21 16:58:12 +02:00
Michael Koziarski
ba80ff74a9 Sanitize the URLs passed to redirect_to to prevent a potential response splitting attack.
CGI.rb and mongrel don't do any sanitization of the contents of HTTP headers, so care needs to be taken.
2008-10-19 15:24:18 +02:00
Jonathan del Strother
6cfb70023a Don't set Content-Length on 304 responses
Commit 8aad8c claimed to do this, but it checks for the 304 status too early, before handle_conditional_get! has overridden it.

[#958 state:resolved]

Signed-off-by: Jonathan del Strother <jon.delStrother@bestbefore.tv>
Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
2008-09-02 22:57:40 +02:00
Jeremy Kemper
f8f077945f Move default content type and charset from Base to Response. Handle charset = nil. 2008-08-21 18:11:09 -07:00
Jeremy Kemper
8aad8cb390 Set cache control to require revalidation if cache freshness response headers are set. Don't set Content-Length header if 304 status. 2008-08-14 21:45:14 -07:00
Jeremy Kemper
b7529ed1cc Simplifying usage of ETags and Last-Modified and conditional GET requests 2008-08-07 23:43:12 -07:00
Tarmo Tänav
656f0e7c6c Fix file permissions
Signed-off-by: Joshua Peek <josh@joshpeek.com>
2008-07-31 16:36:23 -05:00
Pratik Naik
6e75455125 Merge docrails changes 2008-07-28 12:33:24 +01:00
Jeremy Kemper
57a2780f14 etag! and last_modified! conditional GET helpers 2008-07-17 23:18:10 -07:00
Michael Koziarski
4aabe46341 Add :status to redirect_to allowing users to choose their own response code without manually setting headers. Closes #8297 [codahale, chasgrundy]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7820 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-10-09 23:07:36 +00:00
Michael Koziarski
55f444e694 Send freshness information when sending Etags. Without this internet explorer will not send conditional gets for a resource, but instead hold on to the responses for the current browser session.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7309 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-08-12 22:32:19 +00:00
Jeremy Kemper
dbf42e379b Prefer MIME constants to strings. Closes #7707.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6350 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-03-06 09:46:04 +00:00
David Heinemeier Hansson
9e4c8b8858 Fix tests depending too deep
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6169 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-02-19 02:25:01 +00:00
David Heinemeier Hansson
94fa0ed053 Its ETag not Etag
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6168 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-02-19 02:10:19 +00:00
David Heinemeier Hansson
bd0cd04374 Set cache-control to private if theres an etag available (and the cache-control hasnt been overwritten already)
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6167 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-02-19 02:04:26 +00:00
David Heinemeier Hansson
372db1cd9e Dont ask for no caching if we have a etag to base that decision on
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6166 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-02-19 01:33:35 +00:00
David Heinemeier Hansson
7ec0204ecd Move etagging down to response, so renders with layouts dont screw it up [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6165 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-02-19 00:27:19 +00:00
David Heinemeier Hansson
093c725732 Fix that redirects should set "Location" header, not "location", and remove dead CGI.redirect
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5634 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-26 05:04:57 +00:00
David Heinemeier Hansson
2caf4d5a93 Added proper getters and setters for content type and charset [DHH] Added utf-8 as the default charset for all renders. You can change this default using ActionController::Base.default_charset=(encoding) [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5129 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-09-17 16:20:32 +00:00
Marcel Molina
7252666b74 Add layout attribute to response object with the name of the layout that was rendered, or nil if none rendered. [Kevin Clark kevin.clark@gmail.com]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4346 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-05-17 07:25:36 +00:00
David Heinemeier Hansson
2f7c5f84e4 Cure some ills discovered with the refactoring
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1351 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-05-22 11:07:09 +00:00
David Heinemeier Hansson
0367317dd6 Deprecated redirect_to_path and redirect_to_url in favor of letting redirect_to do the right thing when passed either a path or url. Introduced r as a unified method for render (still under construction)
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1349 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-05-22 07:43:05 +00:00
David Heinemeier Hansson
60caf0e661 Added "short hypertext note with a hyperlink to the new URI(s)" to redirects to fulfill compliance with RFC 2616 (HTTP/1.1) section 10.3.3 #397 [Tim Bates]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@294 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-31 17:07:20 +00:00
David Heinemeier Hansson
2e1a27fa4d Added second boolean parameter to Base.redirect_to_url and Response#redirect to control whether the redirect is permanent or not (301 vs 302) #375 [Hodel]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@293 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-31 17:04:15 +00:00
David Heinemeier Hansson
db045dbbf6 Initial
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-11-24 01:04:44 +00:00