class Qeweney::Request
HTTP request
Attributes
__next__[RW]
adapter[R]
headers[R]
Public Class Methods
new(headers, adapter)
click to toggle source
# File lib/qeweney/request.rb, line 20 def initialize(headers, adapter) @headers = headers @adapter = adapter end
Public Instance Methods
buffer_body_chunk(chunk)
click to toggle source
# File lib/qeweney/request.rb, line 25 def buffer_body_chunk(chunk) @buffered_body_chunks ||= [] @buffered_body_chunks << chunk end
complete?()
click to toggle source
# File lib/qeweney/request.rb, line 68 def complete? @adapter.complete?(self) end
each_chunk() { |chunk| ... }
click to toggle source
# File lib/qeweney/request.rb, line 42 def each_chunk if @buffered_body_chunks while (chunk = @buffered_body_chunks.shift) yield chunk end @buffered_body_chunks = nil end while (chunk = @adapter.get_body_chunk(self)) yield chunk end end
finish()
click to toggle source
# File lib/qeweney/request.rb, line 91 def finish send_headers({}) unless @headers_sent @adapter.finish(self) end
headers_sent?()
click to toggle source
# File lib/qeweney/request.rb, line 97 def headers_sent? @headers_sent end
next_chunk(buffered_only = false)
click to toggle source
# File lib/qeweney/request.rb, line 30 def next_chunk(buffered_only = false) if @buffered_body_chunks chunk = @buffered_body_chunks.shift @buffered_body_chunks = nil if @buffered_body_chunks.empty? return chunk elsif buffered_only return nil end @adapter.get_body_chunk(self, buffered_only) end
read()
click to toggle source
# File lib/qeweney/request.rb, line 54 def read if @buffered_body_chunks body = @buffered_body_chunks.join if !complete? rest = @adapter.get_body(self) body << rest if rest end @buffered_body_chunks = nil return body end @adapter.get_body(self) end
Also aliased as: body
respond(body, headers = {})
click to toggle source
# File lib/qeweney/request.rb, line 72 def respond(body, headers = {}) @adapter.respond(self, body, headers) @headers_sent = true end
rx_incr(count)
click to toggle source
# File lib/qeweney/request.rb, line 101 def rx_incr(count) headers[':rx'] ? headers[':rx'] += count : headers[':rx'] = count end
send_chunk(body, done: false)
click to toggle source
# File lib/qeweney/request.rb, line 84 def send_chunk(body, done: false) send_headers({}) unless @headers_sent @adapter.send_chunk(self, body, done: done) end
Also aliased as: <<
send_headers(headers = {}, empty_response = false)
click to toggle source
# File lib/qeweney/request.rb, line 77 def send_headers(headers = {}, empty_response = false) return if @headers_sent @headers_sent = true @adapter.send_headers(self, headers, empty_response: empty_response) end
total_transfer()
click to toggle source
# File lib/qeweney/request.rb, line 113 def total_transfer (headers[':rx'] || 0) + (headers[':tx'] || 0) end
transfer_counts()
click to toggle source
# File lib/qeweney/request.rb, line 109 def transfer_counts [headers[':rx'], headers[':tx']] end
tx_incr(count)
click to toggle source
# File lib/qeweney/request.rb, line 105 def tx_incr(count) headers[':tx'] ? headers[':tx'] += count : headers[':tx'] = count end