File tree Expand file tree Collapse file tree 1 file changed +22
-0
lines changed
src/main/ruby/rack/handler/servlet Expand file tree Collapse file tree 1 file changed +22
-0
lines changed Original file line number Diff line number Diff line change @@ -30,6 +30,8 @@ class DefaultEnv < Hash # The environment must be an instance of Hash !
30
30
SCRIPT_NAME SERVER_NAME SERVER_PORT SERVER_SOFTWARE ) .
31
31
map! ( &:freeze )
32
32
33
+ attr_reader :env
34
+
33
35
# Factory method for creating the Hash.
34
36
# Besides initializing a new env instance this method by default
35
37
# eagerly populates (and returns) the env Hash.
@@ -60,6 +62,16 @@ def initialize(servlet_env = nil)
60
62
end
61
63
end
62
64
65
+ # If a block is given, it yields to the block if the value hasn't been set
66
+ # on the request.
67
+ def fetch_header ( name , &block )
68
+ @env . fetch ( name , &block )
69
+ end
70
+
71
+ def get_header ( key )
72
+ @env [ key ]
73
+ end
74
+
63
75
def populate
64
76
unless @populated
65
77
populate! if @servlet_env
@@ -75,6 +87,16 @@ def populate!
75
87
self
76
88
end
77
89
90
+ def session_options
91
+ fetch_header ( RACK_SESSION_OPTIONS ) do |k |
92
+ set_header RACK_SESSION_OPTIONS , { }
93
+ end
94
+ end
95
+
96
+ def set_header ( name , v )
97
+ @env [ name ] = v
98
+ end
99
+
78
100
def to_hash ( bare = nil )
79
101
if bare
80
102
{ } . update ( populate )
You can’t perform that action at this time.
0 commit comments