{"record":{"id":"b80457dc0a0564b4","repo":"ytti/oxidized","slug":"unsupported-http-method-method-inspect-only","errorCode":null,"errorMessage":"Unsupported HTTP method: #{method.inspect}. Only :get and :post are supported","messagePattern":"Unsupported HTTP method: #(.+?)\\. Only :get and :post are supported","errorType":"validation","errorClass":"Oxidized::OxidizedError","httpStatus":null,"severity":"error","filePath":"lib/oxidized/input/http.rb","lineNumber":92,"sourceCode":"\n      elsif @username && @password && !authorization_header_present?(extra_headers)\n        logger.debug \"Falling back to Basic authentication\"\n        res = make_request(uri, ssl_verify, extra_headers.merge('Authorization' => basic_auth_header),\n                           method: method, body: body)\n      end\n\n      logger.debug \"Response code: #{res.code}\"\n      res\n    end\n\n    def make_request(uri, ssl_verify, extra_headers = {}, method: :get, body: nil)\n      Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == \"https\", verify_mode: ssl_verify) do |http|\n        req_class = if method == :get\n                      Net::HTTP::Get\n                    elsif method == :post\n                      Net::HTTP::Post\n                    else\n                      raise Oxidized::OxidizedError, \"Unsupported HTTP method: #{method.inspect}. \" \\\n                                                     \"Only :get and :post are supported\"\n                    end\n        req = req_class.new(uri)\n        @headers.merge(extra_headers).each { |header, value| req.add_field(header, value) }\n        req.body = body if body\n\n        logger.debug \"Sending #{method.to_s.upcase} request with headers: #{@headers.merge(extra_headers)}\"\n        http.request(req)\n      end\n    end\n\n    def authorization_header_present?(headers)\n      headers.keys.any? { |key| key.to_s.downcase == 'authorization' }\n    end\n\n    def basic_auth_header\n      \"Basic \" + [\"#{@username}:#{@password}\"].pack('m').delete(\"\\r\\n\")\n    end","sourceCodeStart":74,"sourceCodeEnd":110,"githubUrl":"https://github.com/ytti/oxidized/blob/687ed4262d9d21e54662e872e2383386d8498f7b/lib/oxidized/input/http.rb#L74-L110","documentation":"Error \"Unsupported HTTP method: #{method.inspect}. Only :get and :post are supported\" thrown in ytti/oxidized.","triggerScenarios":"Thrown at lib/oxidized/input/http.rb:92 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":"687ed4262d9d21e54662e872e2383386d8498f7b","analyzedAt":"2026-08-23T11:19:42.084Z","schemaVersion":2},"datasetVersion":"2026-08-23T16:17:53.355Z"}