def run
      if response.is_a? Net::HTTPSuccess
        response.tap do
          parse_response!
        end
      else
        raise Yt::HTTPError.new(error_message, response: response)
      end
    end
def run
      if response.is_a? Net::HTTPSuccess
        response.tap do
          parse_response!
        end
      else
        raise Yt::HTTPError.new(error_message, response: response)
      end
    end
Initializes a Request object.
 @param [Hash] options the options for the request.
 @option options [Symbol] :method (:get) The HTTP method to use.
 @option options [String] :host The host of the request URI.
 @option options [String] :path The path of the request URI.
 @option options [Hash] :params ({}) The params to use as the query
   component of the request URI, for instance the Hash +{a: 1, b: 2}+
   corresponds to the query parameters +"a=1&b=2"+.
 @option options [Hash] :headers ({}) The headers of the request.
 @option options [#size] :body The body of the request.
 @option options [Hash] :request_format (:json) The format of the
   requesty body. If a request body is passed, it will be parsed
   according to this format before sending it in the request.
 @option options [Proc] :error_message The block that will be invoked
   when a request fails.
 Sends the request and returns the response with the body parsed from JSON.
 @return [Net::HTTPResponse] if the request succeeds.
 @raise [Yt::HTTPError] if the request fails.