109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
# File 'lib/httpx/connection/http2.rb', line 109
def send(request, head = false)
unless can_buffer_more_requests?
head ? @pending.unshift(request) : @pending << request
return false
end
unless (stream = @streams[request])
stream = @connection.new_stream
handle_stream(stream, request)
@streams[request] = stream
@max_requests -= 1
end
handle(request, stream)
true
rescue ::HTTP2::Error::StreamLimitExceeded
@pending.unshift(request)
false
end
|