Sha256: 7d260baa24fa625ee61d65ca45c2afcc3104d8eabf03117b98ad2758a0b0a937

Contents?: true

Size: 995 Bytes

Versions: 78

Compression:

Stored size: 995 Bytes

Contents

# frozen_string_literal: true

require 'http'
require 'json'

module GitlabQuality
  module TestTooling
    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

78 entries across 78 versions & 1 rubygems

Version Path
gitlab_quality-test_tooling-2.6.0 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-2.5.0 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-2.4.0 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-2.3.0 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-2.2.0 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-2.1.0 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-2.0.0 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-1.39.0 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-1.38.1 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-1.38.0 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-1.37.0 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-1.36.0 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-1.35.0 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-1.34.0 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-1.33.0 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-1.32.1 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-1.32.0 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-1.31.0 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-1.30.0 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-1.29.1 lib/gitlab_quality/test_tooling/support/http_request.rb