ytti/oxidized · error · Oxidized::OxidizedError

if using pagination, 'pagination_key_name' setting must be s

Error message

if using pagination, 'pagination_key_name' setting must be set

What it means

Error "if using pagination, 'pagination_key_name' setting must be set" thrown in ytti/oxidized.

Source

Thrown at lib/oxidized/source/http.rb:48

      require "uri"
      require "json"

      def load(node_want = nil)
        uri = URI.parse(@cfg.url)
        data = JSON.parse(read_http(uri, node_want))
        node_data = data
        node_data = string_navigate_object(data, @cfg.hosts_location) if @cfg.hosts_location?
        node_data = pagination(data, node_want) if @cfg.pagination?

        transform_json(node_data)
      end

      private

      def pagination(data, node_want)
        node_data = []
        unless @cfg.pagination_key_name?
          raise Oxidized::OxidizedError,
                "if using pagination, 'pagination_key_name' setting must be set"
        end

        next_key = @cfg.pagination_key_name
        # Process the initial batch first
        node_data += string_navigate_object(data, @cfg.hosts_location) if @cfg.hosts_location?

        # Now loop only for subsequent pages
        loop do
          # Check for the next URL *before* trying to fetch/add
          break if data[next_key].nil?

          # Fetch the next page
          new_uri = URI.parse(data[next_key]) # Safe to parse now
          data = JSON.parse(read_http(new_uri, node_want))

          # Add nodes from the *newly fetched* batch
          node_data += string_navigate_object(data, @cfg.hosts_location) if @cfg.hosts_location?

View on GitHub (pinned to 687ed4262d)

When it happens

Trigger: Thrown at lib/oxidized/source/http.rb:48 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of ytti/oxidized@687ed4262d (2026-08-23). Data as JSON: /api/errors/684e7aa47cb4917d. Report an issue: GitHub.