def send_request(request, headers)
      request.initialize_http_header(default_headers.merge(headers))

      if @device.password?
        authentication = Airplay::Connection::Authentication.new(@device, persistent)
        request = authentication.sign(request)
      end

      @logger.info("Sending request to #{@device.address}")
      response = persistent.request(request)

      verify_response(Airplay::Connection::Response.new(persistent, response))
    end
def send_request(request, headers)
      request.initialize_http_header(default_headers.merge(headers))

      if @device.password?
        authentication = Airplay::Connection::Authentication.new(@device, persistent)
        request = authentication.sign(request)
      end

      @logger.info("Sending request to #{@device.address}")
      response = persistent.request(request)

      verify_response(Airplay::Connection::Response.new(persistent, response))
    end
Private: Sends a request to the Device

 request - The Request object
 headers - The headers of the request

 Returns a response object