# File lib/neovim/session.rb, line 92
    def request(method, *args)
      main_thread_only do
        if Fiber.current == @main_fiber
          debug("handling blocking request")
          err, res = stopped_request(method, *args)
        else
          debug("yielding request to fiber")
          err, res = running_request(method, *args)
        end

        err ? raise(ArgumentError, err) : res
      end
    end