Class: Protocol::HTTP::Request
- Inherits:
- 
      Object
      
        - Object
- Protocol::HTTP::Request
 
- Includes:
- Body::Reader
- Defined in:
- lib/protocol/http/request.rb
Instance Attribute Summary collapse
- 
  
    
      #authority  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute authority. 
- 
  
    
      #body  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute body. 
- 
  
    
      #headers  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute headers. 
- 
  
    
      #method  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute method. 
- 
  
    
      #path  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute path. 
- 
  
    
      #protocol  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute protocol. 
- 
  
    
      #scheme  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute scheme. 
- 
  
    
      #version  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute version. 
Class Method Summary collapse
Instance Method Summary collapse
- 
  
    
      #call(connection)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Send the request to the given connection. 
- #connect? ⇒ Boolean
- #head? ⇒ Boolean
- #idempotent? ⇒ Boolean
- 
  
    
      #initialize(scheme = nil, authority = nil, method = nil, path = nil, version = nil, headers = [], body = nil, protocol = nil)  ⇒ Request 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    A new instance of Request. 
- #to_s ⇒ Object
Methods included from Body::Reader
#body?, #close, #each, #finish, #read, #save
Constructor Details
#initialize(scheme = nil, authority = nil, method = nil, path = nil, version = nil, headers = [], body = nil, protocol = nil) ⇒ Request
Returns a new instance of Request.
| 29 30 31 32 33 34 35 36 37 38 | # File 'lib/protocol/http/request.rb', line 29 def initialize(scheme = nil, = nil, method = nil, path = nil, version = nil, headers = [], body = nil, protocol = nil) @scheme = scheme = @method = method @path = path @version = version @headers = headers @body = body @protocol = protocol end | 
Instance Attribute Details
#authority ⇒ Object
Returns the value of attribute authority.
| 41 42 43 | # File 'lib/protocol/http/request.rb', line 41 def end | 
#body ⇒ Object
Returns the value of attribute body.
| 46 47 48 | # File 'lib/protocol/http/request.rb', line 46 def body @body end | 
#headers ⇒ Object
Returns the value of attribute headers.
| 45 46 47 | # File 'lib/protocol/http/request.rb', line 45 def headers @headers end | 
#method ⇒ Object
Returns the value of attribute method.
| 42 43 44 | # File 'lib/protocol/http/request.rb', line 42 def method @method end | 
#path ⇒ Object
Returns the value of attribute path.
| 43 44 45 | # File 'lib/protocol/http/request.rb', line 43 def path @path end | 
#protocol ⇒ Object
Returns the value of attribute protocol.
| 47 48 49 | # File 'lib/protocol/http/request.rb', line 47 def protocol @protocol end | 
#scheme ⇒ Object
Returns the value of attribute scheme.
| 40 41 42 | # File 'lib/protocol/http/request.rb', line 40 def scheme @scheme end | 
#version ⇒ Object
Returns the value of attribute version.
| 44 45 46 | # File 'lib/protocol/http/request.rb', line 44 def version @version end | 
Class Method Details
.[](method, path, headers, body) ⇒ Object
| 62 63 64 65 66 | # File 'lib/protocol/http/request.rb', line 62 def self.[](method, path, headers, body) body = Body::Buffered.wrap(body) self.new(nil, nil, method, path, nil, headers, body) end | 
Instance Method Details
#call(connection) ⇒ Object
Send the request to the given connection.
| 50 51 52 | # File 'lib/protocol/http/request.rb', line 50 def call(connection) connection.call(self) end | 
#connect? ⇒ Boolean
| 58 59 60 | # File 'lib/protocol/http/request.rb', line 58 def connect? self.method == Methods::CONNECT end | 
#head? ⇒ Boolean
| 54 55 56 | # File 'lib/protocol/http/request.rb', line 54 def head? self.method == Methods::HEAD end | 
#idempotent? ⇒ Boolean
| 68 69 70 | # File 'lib/protocol/http/request.rb', line 68 def idempotent? method != Methods::POST && (body.nil? || body.empty?) end | 
#to_s ⇒ Object
| 72 73 74 | # File 'lib/protocol/http/request.rb', line 72 def to_s "#{@scheme}://#{@authority}: #{@method} #{@path} #{@version}" end |