73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
# File 'lib/httpx/plugins/h2c.rb', line 73
def upgrade_to_h2c(request, response)
prev_parser = @parser
if prev_parser
prev_parser.reset
@inflight -= prev_parser.requests.size
end
parser_options = @options.merge(max_concurrent_requests: request.options.max_concurrent_requests)
@parser = H2CParser.new(@write_buffer, parser_options)
set_parser_callbacks(@parser)
@inflight += 1
@parser.upgrade(request, response)
@upgrade_protocol = :h2c
if request.options.max_concurrent_requests != @options.max_concurrent_requests
@options = @options.merge(max_concurrent_requests: nil)
end
prev_parser.requests.each do |req|
req.transition(:idle)
send(req)
end
end
|