actionpack 4.1.11 → 4.1.12.rc1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of actionpack might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dfc829c25fe49d56dfd1aaf91327bc833106b3b7
4
- data.tar.gz: 766a51edd477789dcb067194f604434b46552c36
3
+ metadata.gz: e42d591221eee2e8e61459f5084abd011defc820
4
+ data.tar.gz: b38e29ced280f632625dd6c384b693557f3239a9
5
5
  SHA512:
6
- metadata.gz: da9011724a5043a5371d35aee38783507cdb08e29ade5442cd1e6f9deb32dc001193dab165ed1962ebbeadd7e9a6f9184b5f494634cc09b50d6425371c52f2d1
7
- data.tar.gz: c054a3bd931e2367187ca594804d44e246234475c498b04d0490669a4b648272959e7bdcfe0742da76946f9061aba170444e8c9e0a1109fdc74adb7fd5ab0287
6
+ metadata.gz: 0d2c966133767324a1d5bc91309fe43a007943cf2fa927293fe82a0d1b56ae617f71f3590dfdb1b49f438b657867f856644ef98470f0e585f553f08a999610d3
7
+ data.tar.gz: 13e7c19a77a0cc38b0af94605c9e487177a57c75bb9a926d6e37f0b8386bfc3958b80711331387289d0268b9e9944191c820a0401f2c8ba0e98a9f3c7b435fa8
@@ -1,3 +1,21 @@
1
+ ## Rails 4.1.12 (June 22, 2015) ##
2
+
3
+ * Fix handling of empty X_FORWARDED_HOST header in raw_host_with_port
4
+
5
+ Previously, an empty X_FORWARDED_HOST header would cause
6
+ Actiondispatch::Http:URL.raw_host_with_port to return nil, causing
7
+ Actiondispatch::Http:URL.host to raise a NoMethodError.
8
+
9
+ *Adam Forsyth*
10
+
11
+ * Fix regression in functional tests. Responses should have default headers
12
+ assigned.
13
+
14
+ See #18423.
15
+
16
+ *Jeremy Kemper*, *Yves Senn*
17
+
18
+
1
19
  ## Rails 4.1.11 (June 16, 2015) ##
2
20
 
3
21
  * No changes.
@@ -110,10 +110,11 @@ module ActionDispatch # :nodoc:
110
110
  # The underlying body, as a streamable object.
111
111
  attr_reader :stream
112
112
 
113
- def initialize(status = 200, header = {}, body = [])
113
+ def initialize(status = 200, header = {}, body = [], options = {})
114
114
  super()
115
115
 
116
- header = merge_default_headers(header, self.class.default_headers)
116
+ default_headers = options.fetch(:default_headers, self.class.default_headers)
117
+ header = merge_default_headers(header, default_headers)
117
118
 
118
119
  self.body, self.header, self.status = body, header, status
119
120
 
@@ -308,9 +309,7 @@ module ActionDispatch # :nodoc:
308
309
  end
309
310
 
310
311
  def merge_default_headers(original, default)
311
- return original unless default.respond_to?(:merge)
312
-
313
- default.merge(original)
312
+ default.respond_to?(:merge) ? default.merge(original) : original
314
313
  end
315
314
 
316
315
  def build_buffer(response, body)
@@ -165,7 +165,7 @@ module ActionDispatch
165
165
 
166
166
  # Returns the \host for this request, such as "example.com".
167
167
  def raw_host_with_port
168
- if forwarded = env["HTTP_X_FORWARDED_HOST"]
168
+ if forwarded = env["HTTP_X_FORWARDED_HOST"].presence
169
169
  forwarded.split(/,\s?/).last
170
170
  else
171
171
  env['HTTP_HOST'] || "#{env['SERVER_NAME'] || env['SERVER_ADDR']}:#{env['SERVER_PORT']}"
@@ -15,6 +15,10 @@ module ActionDispatch
15
15
  @simulator = nil
16
16
  end
17
17
 
18
+ def empty?
19
+ routes.empty?
20
+ end
21
+
18
22
  def length
19
23
  routes.length
20
24
  end
@@ -311,7 +311,7 @@ module ActionDispatch
311
311
  @request_count += 1
312
312
  @request = ActionDispatch::Request.new(session.last_request.env)
313
313
  response = _mock_session.last_response
314
- @response = ActionDispatch::TestResponse.new(response.status, response.headers, response.body)
314
+ @response = ActionDispatch::TestResponse.from_response(response)
315
315
  @html_document = nil
316
316
  @url_options = nil
317
317
 
@@ -7,11 +7,7 @@ module ActionDispatch
7
7
  # See Response for more information on controller response objects.
8
8
  class TestResponse < Response
9
9
  def self.from_response(response)
10
- new.tap do |resp|
11
- resp.status = response.status
12
- resp.headers = response.headers
13
- resp.body = response.body
14
- end
10
+ new response.status, response.headers, response.body, default_headers: nil
15
11
  end
16
12
 
17
13
  # Was the response successful?
@@ -25,12 +21,5 @@ module ActionDispatch
25
21
 
26
22
  # Was there a server-side error?
27
23
  alias_method :error?, :server_error?
28
-
29
- def merge_default_headers(original, *args)
30
- # Default headers are already applied, no need to merge them a second time.
31
- # This makes sure that default headers, removed in controller actions, will
32
- # not be reapplied to the test response.
33
- original
34
- end
35
24
  end
36
25
  end
@@ -7,8 +7,8 @@ module ActionPack
7
7
  module VERSION
8
8
  MAJOR = 4
9
9
  MINOR = 1
10
- TINY = 11
11
- PRE = nil
10
+ TINY = 12
11
+ PRE = "rc1"
12
12
 
13
13
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
14
14
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: actionpack
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.11
4
+ version: 4.1.12.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-16 00:00:00.000000000 Z
11
+ date: 2015-06-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 4.1.11
19
+ version: 4.1.12.rc1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 4.1.11
26
+ version: 4.1.12.rc1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rack
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -58,28 +58,28 @@ dependencies:
58
58
  requirements:
59
59
  - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: 4.1.11
61
+ version: 4.1.12.rc1
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - '='
67
67
  - !ruby/object:Gem::Version
68
- version: 4.1.11
68
+ version: 4.1.12.rc1
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: activemodel
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - '='
74
74
  - !ruby/object:Gem::Version
75
- version: 4.1.11
75
+ version: 4.1.12.rc1
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - '='
81
81
  - !ruby/object:Gem::Version
82
- version: 4.1.11
82
+ version: 4.1.12.rc1
83
83
  description: Web apps on Rails. Simple, battle-tested conventions for building and
84
84
  testing MVC web applications. Works with any Rack-compatible server.
85
85
  email: david@loudthinking.com
@@ -252,9 +252,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
252
252
  version: 1.9.3
253
253
  required_rubygems_version: !ruby/object:Gem::Requirement
254
254
  requirements:
255
- - - ">="
255
+ - - ">"
256
256
  - !ruby/object:Gem::Version
257
- version: '0'
257
+ version: 1.3.1
258
258
  requirements:
259
259
  - none
260
260
  rubyforge_project: