Class: HTTP::Response::Parser::Handler Private

Inherits:
LLHttp::Delegate
  • Object
show all
Defined in:
lib/http/response/parser.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Delegate handler for LLHttp parser callbacks

Instance Method Summary collapse

Constructor Details

#initialize(target) ⇒ Handler

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Create a new parser handler



152
153
154
155
156
# File 'lib/http/response/parser.rb', line 152

def initialize(target)
  @target = target
  super()
  reset
end

Instance Method Details

#on_body(body) ⇒ void

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

This method returns an undefined value.

Handle body data callback



194
195
196
# File 'lib/http/response/parser.rb', line 194

def on_body(body)
  @target.add_body(body)
end

#on_header_field(field) ⇒ void

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

This method returns an undefined value.

Handle a header field token



170
171
172
173
# File 'lib/http/response/parser.rb', line 170

def on_header_field(field)
  append_header if @reading_header_value
  @field << field
end

#on_header_value(value) ⇒ void

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

This method returns an undefined value.

Handle a header value token



178
179
180
181
# File 'lib/http/response/parser.rb', line 178

def on_header_value(value)
  @reading_header_value = true
  @field_value << value
end

#on_headers_completevoid

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

This method returns an undefined value.

Handle headers complete callback



186
187
188
189
# File 'lib/http/response/parser.rb', line 186

def on_headers_complete
  append_header if @reading_header_value
  @target.mark_header_finished
end

#on_message_completevoid

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

This method returns an undefined value.

Handle message complete callback



201
202
203
204
205
206
207
# File 'lib/http/response/parser.rb', line 201

def on_message_complete
  if Integer(@target.status_code) < 200
    @target.reset_for_informational
  else
    @target.mark_message_finished
  end
end

#resetvoid

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

This method returns an undefined value.

Reset handler state



161
162
163
164
165
# File 'lib/http/response/parser.rb', line 161

def reset
  @reading_header_value = false
  @field_value = +""
  @field = +""
end