File tree Expand file tree Collapse file tree 2 files changed +16
-5
lines changed Expand file tree Collapse file tree 2 files changed +16
-5
lines changed Original file line number Diff line number Diff line change 1
1
module Grape
2
2
class Request < Rack ::Request
3
+ ROUTING_ARGS = 'rack.routing_args'
4
+ HTTP_PREFIX = 'HTTP_'
5
+ UNDERSCORE = '_'
6
+ MINUS = '-'
7
+
3
8
def params
4
9
@params ||= begin
5
10
params = Hashie ::Mash . new ( super )
6
- if env [ 'rack.routing_args' ]
7
- args = env [ 'rack.routing_args' ] . dup
11
+ if env [ ROUTING_ARGS ]
12
+ args = env [ ROUTING_ARGS ] . dup
8
13
# preserve version from query string parameters
9
14
args . delete ( :version )
10
15
args . delete ( :route_info )
@@ -16,8 +21,11 @@ def params
16
21
17
22
def headers
18
23
@headers ||= env . dup . inject ( { } ) do |h , ( k , v ) |
19
- if k . to_s . start_with? 'HTTP_'
20
- k = k [ 5 ..-1 ] . tr ( '_' , '-' ) . downcase . gsub ( /^.|[-_\s ]./ ) { |x | x . upcase }
24
+ if k . to_s . start_with? HTTP_PREFIX
25
+ k = k [ 5 ..-1 ]
26
+ k . tr! ( UNDERSCORE , MINUS )
27
+ k . downcase!
28
+ k . gsub! ( /^.|[-_\s ]./ , &:upcase! )
21
29
h [ k ] = v
22
30
end
23
31
h
Original file line number Diff line number Diff line change @@ -13,7 +13,10 @@ def initialize(inherited_values = {})
13
13
14
14
def []( name )
15
15
return @froozen_values [ name ] if @froozen_values . key? name
16
- [ @inherited_values [ name ] , @new_values [ name ] ] . compact . flatten ( 1 )
16
+ value = [ @inherited_values [ name ] , @new_values [ name ] ]
17
+ value . compact!
18
+ value . flatten! ( 1 )
19
+ value
17
20
end
18
21
19
22
def []=( name , value )
You can’t perform that action at this time.
0 commit comments