Sha256: 2e30a0ec44aff0e47442693e5ab3aa386ade4f9a0636f5f616c458e0f5071afa

Contents?: true

Size: 979 Bytes

Versions: 57

Compression:

Stored size: 979 Bytes

Contents

# frozen_string_literal: true

require 'http'
require 'json'

module Gitlab
  module QA
    module Support
      class HttpRequest
        # rubocop:disable Metrics/AbcSize
        def self.make_http_request(method: 'get', url: nil, params: {}, headers: {}, show_response: false, fail_on_error: true)
          raise "URL not defined for making request. Exiting..." unless url

          res = HTTP.follow.method(method).call(url, json: params, headers: headers)

          if show_response
            if res.content_type.mime_type == "application/json"
              res_body = JSON.parse(res.body.to_s)
              pp res_body
            else
              res_body = res.body.to_s
              puts res_body
            end
          end

          raise "#{method.upcase} request failed!\nCode: #{res.code}\nResponse: #{res.body}\n" if fail_on_error && !res.status.success?

          res
        end
        # rubocop:enable Metrics/AbcSize
      end
    end
  end
end

Version data entries

57 entries across 57 versions & 1 rubygems

Version Path
gitlab-qa-12.5.1 lib/gitlab/qa/support/http_request.rb
gitlab-qa-12.5.0 lib/gitlab/qa/support/http_request.rb
gitlab-qa-12.4.1 lib/gitlab/qa/support/http_request.rb
gitlab-qa-12.4.0 lib/gitlab/qa/support/http_request.rb
gitlab-qa-12.3.0 lib/gitlab/qa/support/http_request.rb
gitlab-qa-10.3.0.1 lib/gitlab/qa/support/http_request.rb
gitlab-qa-12.2.1 lib/gitlab/qa/support/http_request.rb
gitlab-qa-12.2.0 lib/gitlab/qa/support/http_request.rb
gitlab-qa-12.1.0 lib/gitlab/qa/support/http_request.rb
gitlab-qa-12.0.0 lib/gitlab/qa/support/http_request.rb
gitlab-qa-11.3.0 lib/gitlab/qa/support/http_request.rb
gitlab-qa-11.2.0 lib/gitlab/qa/support/http_request.rb
gitlab-qa-11.1.0 lib/gitlab/qa/support/http_request.rb
gitlab-qa-11.0.0 lib/gitlab/qa/support/http_request.rb
gitlab-qa-10.6.0 lib/gitlab/qa/support/http_request.rb
gitlab-qa-10.5.0 lib/gitlab/qa/support/http_request.rb
gitlab-qa-10.4.1 lib/gitlab/qa/support/http_request.rb
gitlab-qa-10.4.0 lib/gitlab/qa/support/http_request.rb
gitlab-qa-10.3.0 lib/gitlab/qa/support/http_request.rb
gitlab-qa-10.2.2 lib/gitlab/qa/support/http_request.rb