class Async::HTTP::Protocol::HTTP2::Server
def each(task: Task.current)
def each(task: Task.current) task.annotate("Reading #{version} requests for #{self.class}.") # It's possible the connection has died before we get here... @requests&.async do |task, request| task.annotate("Incoming request: #{request.method} #{request.path.inspect}.") @count += 1 task.defer_stop do response = yield(request) rescue # We need to close the stream if the user code blows up while generating a response: request.stream.send_reset_stream(::Protocol::HTTP2::INTERNAL_ERROR) raise else request.send_response(response) end end # Maybe we should add some synchronisation here - i.e. only exit once all requests are finished. end