{"record":{"id":"bb2629798ff502dd","repo":"puppetlabs/puppet","slug":"expected-an-array-string-or-hash-got-a-klass","errorCode":null,"errorMessage":"Expected an Array, String, or Hash, got a %{klass}","messagePattern":"Expected an Array, String, or Hash, got a %(.+?)","errorType":"validation","errorClass":"ArgumentError","httpStatus":null,"severity":"error","filePath":"lib/puppet/settings/http_extra_headers_setting.rb","lineNumber":13,"sourceCode":"# frozen_string_literal: true\n\nclass Puppet::Settings::HttpExtraHeadersSetting < Puppet::Settings::BaseSetting\n  def type\n    :http_extra_headers\n  end\n\n  def munge(headers)\n    return headers if headers.is_a?(Hash)\n\n    headers = headers.split(/\\s*,\\s*/) if headers.is_a?(String)\n\n    raise ArgumentError, _(\"Expected an Array, String, or Hash, got a %{klass}\") % { klass: headers.class } unless headers.is_a?(Array)\n\n    headers.map! { |header|\n      case header\n      when String\n        header.split(':')\n      when Array\n        header\n      else\n        raise ArgumentError, _(\"Expected an Array or String, got a %{klass}\") % { klass: header.class }\n      end\n    }\n  end\nend\n","sourceCodeStart":1,"sourceCodeEnd":27,"githubUrl":"https://github.com/puppetlabs/puppet/blob/e227c27540975c25aa22d533a52424a9d2fc886a/lib/puppet/settings/http_extra_headers_setting.rb#L1-L27","documentation":"Error \"Expected an Array, String, or Hash, got a %{klass}\" thrown in puppetlabs/puppet.","triggerScenarios":"Thrown at lib/puppet/settings/http_extra_headers_setting.rb:13 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e227c27540975c25aa22d533a52424a9d2fc886a","analyzedAt":"2026-08-21T20:49:46.650Z","schemaVersion":2},"datasetVersion":"2026-08-21T23:17:16.201Z"}