Commit Graph

124 Commits

Author SHA1 Message Date
Michael Koziarski
af5b304a40 Fix stupid typo 2008-11-06 18:52:02 +00:00
Michael Koziarski
8a53e258e5 Backwards compatibility fixes for relative_url_root
* Make the old deprecated relative_url_root still set the value as it's still used by mongrel
* Set the default from the ENV value when the file is required, not at runtime.
2008-11-02 13:12:48 +01:00
David Heinemeier Hansson
9acb88e666 Added stale?/fresh? and fresh_when methods to provide a layer of abstraction above request.fresh? and friends [DHH] 2008-10-21 02:30:13 +02:00
Michael Koziarski
0b46503254 Remove unneeded interning. 2008-09-30 11:34:05 +02:00
Pratik Naik
6ef35461dc Merge docrails 2008-09-03 17:58:47 +01:00
Michael S. Klishin
e42a235dd1 Request#remote_ip handles the uncommon case that REMOTE_ADDR is a comma-separated list.
[#523 state:resolved]

Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
2008-08-27 23:03:11 -07:00
Jamis Buck
6e4ea66dc0 Make AbstractRequest.if_modified_sense return nil if the header could not be parsed 2008-08-19 16:07:17 -06:00
Jeremy Kemper
ba2d61dd81 Update tests for request memoization 2008-08-08 02:31:12 -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
Joshua Peek
a87462afcb AbstractRequest.relative_url_root is no longer automatically configured by a HTTP header. It can now be set in your configuration environment with config.action_controller.relative_url_root 2008-07-24 13:41:51 -05:00
Pratik Naik
0432d15164 Merge with docrails. 2008-07-16 13:01:23 +01:00
Jeremy Kemper
d37e641336 Move accept header parsing shortcut to Mime::Type.parse 2008-07-09 11:30:18 -07:00
Jeremy Kemper
f82bd31cb0 Request#accepts special-cases a single mime type 2008-07-09 10:42:30 -07:00
Michael Koziarski
2f4aaed7b3 Disable the Accept header by default
The accept header is poorly implemented by browsers and causes strange errors when used on public sites where crawlers make requests too.  You should use formatted urls (e.g. /people/1.xml) to support API clients. Alternatively to re-enable it you need to set:

config.action_controller.use_accept_header = true

A special case remains for ajax requests which will have a javascript format for the base resource (/people/1) if the X-Requested-With header is present.  This lets ajax pages still use format.js despite there being no params[:format]
2008-07-07 07:31:49 +02:00
Michael Koziarski
12cf8f348b Move template_format logic out to the request so it's alongside the 'regular' request format.
Use xhr? instead of the expensive trip through Request#accepts.
2008-07-03 19:43:06 +03:00
David Heinemeier Hansson
edfa195e2a Fixed Request#remote_ip to only raise hell if the HTTP_CLIENT_IP and HTTP_X_FORWARDED_FOR doesnt match (not just if theyre both present) [Mark Imbriaco, Bradford Folkens] 2008-06-03 18:11:47 -05:00
Jeremy Kemper
b43309328a Ruby 1.9 compat: ensure binary encoding for post body parsing 2008-05-19 16:24:26 -07:00
Xavier Noria
64092de257 Improve documentation coverage and markup
Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
2008-05-02 14:45:23 +01:00
Rick Olson
4d594cffcf Automatically parse posted JSON content for Mime::JSON requests. [rick]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9242 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-04-08 05:05:54 +00:00
Jeremy Kemper
a61b63d420 Avoid remote_ip spoofing
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9124 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-03-28 21:38:01 +00:00
David Heinemeier Hansson
388e5d3fac Fixed that ActionController::Base#read_multipart would fail if boundary was exactly 10240 bytes (closes #10886) [ariejan]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9113 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-03-28 19:55:31 +00:00
Rick Olson
1e0ac3a673 Fix more obscure nested parameter hash parsing bug. Closes #10797 [thomas.lee]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9020 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-03-13 03:22:25 +00:00
Rick Olson
3a17ea9031 Fix nested parameter hash parsing bug. #10797 [thomas.lee]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9010 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-03-11 07:46:39 +00:00
Rick Olson
867063134f Better error message for type conflicts when parsing params. Closes #7962 [spicycode, matt]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8986 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-03-07 01:23:12 +00:00
Rick Olson
8e6638afa4 Fix bug with setting Request#format= after the getter has cached the value. Closes #10889 [cch1]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8811 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-02-07 16:46:50 +00:00
Michael Koziarski
104f31af1d Provide a nicer way to access headers. request.headers["Content-Type"] instead of request.headers["HTTP_CONTENT_TYPE"] [Koz]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8625 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-11 06:39:56 +00:00
Jeremy Kemper
41c82e66c1 Ruby 1.9 compat: file uploads. References #1689 [Frederick Cheung]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8492 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-12-27 11:17:53 +00:00
David Heinemeier Hansson
26e10218bc Added OPTIONS to list of default accepted HTTP methods (closes #10449) [holoway]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8425 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-12-17 00:06:24 +00:00
Jeremy Kemper
db885e81b9 Ignore illegal seeks on body rewind. Catches CGI errors depending on your httpd. Closes #10404 [Curtis Hawthorne]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8327 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-12-07 04:20:20 +00:00
Marcel Molina
0d82b146a1 Correct example for path parameters to use strings as keys in the hash rather than symbols. Closes #7160 [akaspick]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8314 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-12-05 22:04:02 +00:00
Rick Olson
0a9bc591e7 Raise UnknownHttpMethod exception for unknown HTTP methods. Closes #10303 [tarmo]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8235 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-11-29 02:08:51 +00:00
Michael Koziarski
6d0e5eaf06 memoize host with port and refactor the tests which depend on it changing
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8164 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-11-17 05:41:47 +00:00
David Heinemeier Hansson
31e2a2d9bb Fixed handling of non-domain hosts (closes #9479) [purp]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8108 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-11-07 14:57:51 +00:00
Jeremy Kemper
79670fb975 request.parameters doesn't overwrite request.request_parameters. Closes #9949 [nullstyle]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7992 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-10-22 21:10:56 +00:00
Jeremy Kemper
52ca5dad1e Use StringIO and Tempfile subclasses instead of defining singleton methods on each multipart field.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7759 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-10-06 11:40:13 +00:00
Jeremy Kemper
3405fb3dea Rewind stdin if possible after multipart parsing.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7758 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-10-06 09:39:31 +00:00
Jeremy Kemper
12d740dd57 Move #query_string to AbstractRequest
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7727 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-10-03 16:39:18 +00:00
Jeremy Kemper
0ee1cb2cd3 Ruby 1.9 compat, consistent load paths
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7719 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-10-02 05:32:14 +00:00
David Heinemeier Hansson
4e7dce7e40 Added security notice to Request#remote_ip underlining the fact that its value can be spoofed (and that you should use Request#remote_addr if thats a concern for your application) [Adrian Holovaty]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7502 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-09-17 11:12:10 +00:00
David Heinemeier Hansson
d48039cefb Fixed that setting request.format would also affect respond_to blocks [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7479 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-09-15 04:18:32 +00:00
David Heinemeier Hansson
ff9ca2ca1e Random hits from the style nazi
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7438 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-09-09 23:12:57 +00:00
David Heinemeier Hansson
937a7abe45 Fixed that file.content_type for uploaded files would include a trailing \r #9053 [bgreenlee]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7212 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-07-24 01:20:18 +00:00
Jeremy Kemper
a72fe4ea45 Give the legacy X-POST_DATA_FORMAT header greater precedence during params parsing for backward compatibility.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7126 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-06-26 01:19:18 +00:00
Jeremy Kemper
979c22444d Tolerate missing content type on multipart file uploads. Fix for Safari 3.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7005 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-06-12 07:44:23 +00:00
Jeremy Kemper
e5b3d4b3b5 request.remote_ip understands X-Forwarded-For addresses with nonstandard whitespace. Closes #7386.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6877 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-05-28 00:10:13 +00:00
Jeremy Kemper
b290bc6b2f Don't alias local var
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6829 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-05-24 20:42:03 +00:00
Jeremy Kemper
4bd3e3aa1b Set RAW_POST_DATA when request parameters are parsed.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6823 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-05-23 19:09:37 +00:00
Jeremy Kemper
b0d01921d8 Rewind request body after reading it, if possible. Closes #8438.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6815 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-05-23 05:43:00 +00:00
Jeremy Kemper
055ff9f418 Fix incorrent content type lookup in request parsing. Closes #8407.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6786 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-05-19 21:34:36 +00:00