Sha256: a1f058f7a0806a4be4ee875eb95fd89a4aaa22d15b0daa55d1fccb798bc82849

Contents?: true

Size: 897 Bytes

Versions: 101

Compression:

Stored size: 897 Bytes

Contents

# frozen_string_literal: true

module Motor
  module NetHttpUtils
    module_function

    def get(url, params = {}, headers = {})
      request = build_request(Net::HTTP::Get, url, params, headers, nil)

      execute_request(request)
    end

    def post(url, params = {}, headers = {}, body = '')
      request = build_request(Net::HTTP::Post, url, params, headers, body)

      execute_request(request)
    end

    def build_request(method_class, url, params, headers, body)
      uri = URI(url)
      uri.query = params.to_query

      request = method_class.new(uri)
      request.body = body if body.present?
      headers.each { |key, value| request[key] = value }

      request
    end

    def execute_request(request)
      uri = request.uri

      Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.port == 443) do |http|
        http.request(request)
      end
    end
  end
end

Version data entries

101 entries across 101 versions & 1 rubygems

Version Path
motor-admin-0.2.41 lib/motor/net_http_utils.rb
motor-admin-0.2.39 lib/motor/net_http_utils.rb
motor-admin-0.2.38 lib/motor/net_http_utils.rb
motor-admin-0.2.37 lib/motor/net_http_utils.rb
motor-admin-0.2.36 lib/motor/net_http_utils.rb
motor-admin-0.2.35 lib/motor/net_http_utils.rb
motor-admin-0.2.34 lib/motor/net_http_utils.rb
motor-admin-0.2.33 lib/motor/net_http_utils.rb
motor-admin-0.2.32 lib/motor/net_http_utils.rb
motor-admin-0.2.31 lib/motor/net_http_utils.rb
motor-admin-0.2.30 lib/motor/net_http_utils.rb
motor-admin-0.2.29 lib/motor/net_http_utils.rb
motor-admin-0.2.28 lib/motor/net_http_utils.rb
motor-admin-0.2.27 lib/motor/net_http_utils.rb
motor-admin-0.2.26 lib/motor/net_http_utils.rb
motor-admin-0.2.25 lib/motor/net_http_utils.rb
motor-admin-0.2.24 lib/motor/net_http_utils.rb
motor-admin-0.2.23 lib/motor/net_http_utils.rb
motor-admin-0.2.22 lib/motor/net_http_utils.rb
motor-admin-0.2.21 lib/motor/net_http_utils.rb