Class: Steam::Request
- Inherits:
-
Rack::Request
- Object
- Rack::Request
- Steam::Request
- Defined in:
- lib/steam/request.rb
Instance Attribute Summary collapse
-
#method ⇒ Object
Returns the value of attribute method.
Class Method Summary collapse
Instance Method Summary collapse
- #env ⇒ Object
- #headers ⇒ Object
- #headers=(headers) ⇒ Object
- #host=(host) ⇒ Object
-
#initialize(env = {}) ⇒ Request
constructor
A new instance of Request.
- #input=(input) ⇒ Object
- #path=(path) ⇒ Object
- #port=(port) ⇒ Object
- #query=(query) ⇒ Object
- #scheme=(scheme) ⇒ Object
- #update(options = {}) ⇒ Object
- #uri=(uri) ⇒ Object (also: #url=)
Constructor Details
#initialize(env = {}) ⇒ Request
Returns a new instance of Request.
30 31 32 33 |
# File 'lib/steam/request.rb', line 30 def initialize(env = {}) super(self.class.default_env) update(env) end |
Instance Attribute Details
#method ⇒ Object
Returns the value of attribute method.
7 8 9 |
# File 'lib/steam/request.rb', line 7 def method @method end |
Class Method Details
.default_env ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/steam/request.rb', line 10 def default_env @default_env ||= { 'REQUEST_METHOD' => 'GET', 'SERVER_NAME' => Steam.config[:server_name], 'SERVER_PORT' => Steam.config[:server_port], 'rack.url_scheme' => Steam.config[:url_scheme], 'rack.version' => [0, 1], 'rack.input' => StringIO.new, 'rack.errors' => StringIO.new, 'rack.multithread' => true, 'rack.multiprocess' => true, 'rack.run_once' => false, 'rack.test.scheme' => Steam.config[:url_scheme], 'rack.test.host' => 'www.example.com', 'rack.test.cache_classes' => true } @default_env.dup end |
Instance Method Details
#env ⇒ Object
39 40 41 |
# File 'lib/steam/request.rb', line 39 def env super.merge(headers) end |
#headers ⇒ Object
91 92 93 |
# File 'lib/steam/request.rb', line 91 def headers @headers ||= {} end |
#headers=(headers) ⇒ Object
87 88 89 |
# File 'lib/steam/request.rb', line 87 def headers=(headers) self.headers.merge!(headers) end |
#host=(host) ⇒ Object
63 64 65 66 67 |
# File 'lib/steam/request.rb', line 63 def host=(host) @env.merge!( 'rack.test.host' => host ) end |
#input=(input) ⇒ Object
95 96 97 98 99 100 |
# File 'lib/steam/request.rb', line 95 def input=(input) @env.merge!( 'rack.input' => input.is_a?(String) ? StringIO.new(input) : input, 'CONTENT_LENGTH' => input.length.to_s ) end |
#path=(path) ⇒ Object
81 82 83 84 85 |
# File 'lib/steam/request.rb', line 81 def path=(path) @env.merge!( 'PATH_INFO' => path && !path.empty? ? path : '/' ) end |
#port=(port) ⇒ Object
69 70 71 72 73 |
# File 'lib/steam/request.rb', line 69 def port=(port) @env.merge!( 'rack.test.port' => port ) end |
#query=(query) ⇒ Object
75 76 77 78 79 |
# File 'lib/steam/request.rb', line 75 def query=(query) @env.merge!( 'QUERY_STRING' => query.to_s ) end |
#scheme=(scheme) ⇒ Object
56 57 58 59 60 61 |
# File 'lib/steam/request.rb', line 56 def scheme=(scheme) @env.merge!( 'rack.url_scheme' => scheme, 'rack.test.scheme' => scheme ) end |
#update(options = {}) ⇒ Object
35 36 37 |
# File 'lib/steam/request.rb', line 35 def update( = {}) .each { |name, value| send("#{name}=", value) } end |
#uri=(uri) ⇒ Object Also known as: url=
47 48 49 50 51 52 53 |
# File 'lib/steam/request.rb', line 47 def uri=(uri) uri = URI.parse(uri) self.path = uri.path self.query = uri.query if uri.query self.scheme = uri.scheme if uri.scheme self.port = uri.port if uri.port end |