class HTTPX::Parser::HTTP1

  1. lib/httpx/parser/http1.rb
Superclass: Object

Methods

Public Class

  1. new

Public Instance

  1. <<
  2. headers
  3. http_version
  4. reset!
  5. status_code
  6. upgrade?
  7. upgrade_data

Constants

VERSIONS = %w[1.0 1.1].freeze  

Attributes

Public Class methods

new(observer, max_headers, max_header_value_size)
[show source]
   # File lib/httpx/parser/http1.rb
12 def initialize(observer, max_headers, max_header_value_size)
13   @observer = observer
14   @state = :idle
15   @buffer = "".b
16   @headers = {}
17   @max_headers = max_headers
18   @max_header_value_size = max_header_value_size
19   @content_length = nil
20   @_has_trailers = @upgrade = false
21 end

Public Instance methods

<<(chunk)
[show source]
   # File lib/httpx/parser/http1.rb
23 def <<(chunk)
24   @buffer << chunk
25   parse
26 end
reset!()
[show source]
   # File lib/httpx/parser/http1.rb
28 def reset!
29   @state = :idle
30   @headers = {}
31   @content_length = nil
32   @_has_trailers = @upgrade = false
33   @buffer = @buffer.to_s
34 end
upgrade?()
[show source]
   # File lib/httpx/parser/http1.rb
36 def upgrade?
37   @upgrade
38 end
upgrade_data()
[show source]
   # File lib/httpx/parser/http1.rb
40 def upgrade_data
41   @buffer.to_s
42 end