Class: Escher::Request::HashRequest
- Defined in:
- lib/escher/request/hash_request.rb
Constant Summary collapse
- URI_REGEXP =
          Based on the example in RFC 3986, but scheme, user, password, host, port and fragment support removed, only path and query left 
- /^([^?#]*)(\?(.*))?$/
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
- #body ⇒ Object
- #headers ⇒ Object
- 
  
    
      #initialize(request)  ⇒ HashRequest 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    A new instance of HashRequest. 
- #method ⇒ Object
- #path ⇒ Object
- #query_values ⇒ Object
- #set_header(name, value) ⇒ Object
Methods inherited from Base
Constructor Details
#initialize(request) ⇒ HashRequest
Returns a new instance of HashRequest.
| 11 12 13 14 | # File 'lib/escher/request/hash_request.rb', line 11 def initialize(request) super request @uri = parse_uri request[:uri] end | 
Instance Method Details
#body ⇒ Object
| 37 38 39 | # File 'lib/escher/request/hash_request.rb', line 37 def body request[:body] or '' end | 
#headers ⇒ Object
| 18 19 20 | # File 'lib/escher/request/hash_request.rb', line 18 def headers request[:headers].map { |(header_name, value)| [header_name.gsub('_', '-'), value] } end | 
#method ⇒ Object
| 31 32 33 | # File 'lib/escher/request/hash_request.rb', line 31 def method request[:method] end | 
#path ⇒ Object
| 43 44 45 | # File 'lib/escher/request/hash_request.rb', line 43 def path @uri.path end | 
#query_values ⇒ Object
| 49 50 51 | # File 'lib/escher/request/hash_request.rb', line 49 def query_values @uri.query_values(Array) or [] end | 
#set_header(name, value) ⇒ Object
| 24 25 26 27 | # File 'lib/escher/request/hash_request.rb', line 24 def set_header(name, value) request[:headers] ||= [] request[:headers] << [name, value] unless has_header? name end |