mirror of
https://github.com/HoneyryderChuck/httpx.git
synced 2025-08-10 00:01:27 -04:00
changed the callback for the parser (not closing, but completing), closing to be handled at a later time
This commit is contained in:
parent
d0ffbfd01c
commit
1f6862f3f2
@ -172,8 +172,14 @@ module HTTPX
|
||||
|
||||
def build_parser(protocol = @io.protocol)
|
||||
parser = registry(protocol).new(@write_buffer, @options)
|
||||
parser.inherit_callbacks(self)
|
||||
parser.on(:close) { throw(:close, self) }
|
||||
parser.on(:response) do |*args|
|
||||
emit(:response, *args)
|
||||
end
|
||||
parser.on(:promise) do |*args|
|
||||
emit(:promise, *args)
|
||||
end
|
||||
# parser.inherit_callbacks(self)
|
||||
parser.on(:complete) { throw(:close, self) }
|
||||
parser
|
||||
end
|
||||
|
||||
|
@ -146,8 +146,7 @@ module HTTPX
|
||||
# 1 keep alive request.
|
||||
@max_concurrent_requests = 1
|
||||
end
|
||||
log(2) { "connection: close" }
|
||||
emit(:close)
|
||||
emit(:complete)
|
||||
end
|
||||
|
||||
private
|
||||
|
@ -170,8 +170,7 @@ module HTTPX
|
||||
|
||||
def on_close(*)
|
||||
return unless @connection.state == :closed && @connection.active_stream_count.zero?
|
||||
log { "connection closed" }
|
||||
emit(:close)
|
||||
emit(:complete)
|
||||
end
|
||||
|
||||
def on_frame_sent(frame)
|
||||
|
@ -34,7 +34,7 @@ module HTTPX
|
||||
return if @io.closed?
|
||||
@parser = ConnectProxyParser.new(@write_buffer, @options.merge(max_concurrent_requests: 1))
|
||||
@parser.once(:response, &method(:on_connect))
|
||||
@parser.on(:close) { throw(:close, self) }
|
||||
@parser.on(:complete) { throw(:close, self) }
|
||||
proxy_connect
|
||||
return if @state == :open
|
||||
when :open
|
||||
@ -45,7 +45,7 @@ module HTTPX
|
||||
when :idle
|
||||
@parser = ProxyParser.new(@write_buffer, @options)
|
||||
@parser.inherit_callbacks(self)
|
||||
@parser.on(:close) { throw(:close, self) }
|
||||
@parser.on(:complete) { throw(:close, self) }
|
||||
end
|
||||
end
|
||||
super
|
||||
|
Loading…
x
Reference in New Issue
Block a user