Sha256: 7d260baa24fa625ee61d65ca45c2afcc3104d8eabf03117b98ad2758a0b0a937

Contents?: true

Size: 995 Bytes

Versions: 80

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

80 entries across 80 versions & 1 rubygems

Version Path
gitlab_quality-test_tooling-0.9.1 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-0.9.0 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-0.8.3 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-0.8.2 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-0.8.1 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-0.8.0 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-0.7.0 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-0.6.2 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-0.6.1 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-0.6.0 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-0.5.1 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-0.5.0 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-0.4.3 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-0.4.2 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-0.4.1 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-0.4.0 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-0.3.0 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-0.2.2 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-0.2.1 lib/gitlab_quality/test_tooling/support/http_request.rb
gitlab_quality-test_tooling-0.2.0 lib/gitlab_quality/test_tooling/support/http_request.rb