Module: Workato::Connector::Sdk::Dsl::HTTP

Included in:
Operation
Defined in:
lib/workato/connector/sdk/dsl/http.rb

Overview

Instance Method Summary collapse

Instance Method Details

#copy(url, payload = nil) ⇒ Object



47
48
49
# File 'lib/workato/connector/sdk/dsl/http.rb', line 47

def copy(url, payload = nil)
  http_request(url, method: 'COPY').payload(payload).format_json
end

#delete(url, payload = nil) ⇒ Object



43
44
45
# File 'lib/workato/connector/sdk/dsl/http.rb', line 43

def delete(url, payload = nil)
  http_request(url, method: 'DELETE').payload(payload).format_json
end

#get(url, params = {}) ⇒ Object



19
20
21
# File 'lib/workato/connector/sdk/dsl/http.rb', line 19

def get(url, params = {})
  http_request(url, method: 'GET').params(params).response_format_json
end

#head(url, params = {}) ⇒ Object



27
28
29
# File 'lib/workato/connector/sdk/dsl/http.rb', line 27

def head(url, params = {})
  http_request(url, method: 'HEAD').params(params).response_format_json
end

#move(url, payload = nil) ⇒ Object



51
52
53
# File 'lib/workato/connector/sdk/dsl/http.rb', line 51

def move(url, payload = nil)
  http_request(url, method: 'MOVE').payload(payload).format_json
end

#options(url, params = {}) ⇒ Object



23
24
25
# File 'lib/workato/connector/sdk/dsl/http.rb', line 23

def options(url, params = {})
  http_request(url, method: 'OPTIONS').params(params).response_format_json
end

#parallel(requests = [], threads: 1, rpm: nil, requests_per_period: nil, period: 1.minute.to_i) ⇒ Object

rubocop:disable Lint/UnusedMethodArgument



55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/workato/connector/sdk/dsl/http.rb', line 55

def parallel(requests = [], threads: 1, rpm: nil, requests_per_period: nil, period: 1.minute.to_i) # rubocop:disable Lint/UnusedMethodArgument
  requests.each.with_object([true, [], []]) do |request, result|
    response = nil
    exception = nil
    begin
      response = request.response!
    rescue StandardError => e
      exception = e.to_s
    end
    result[PARALLEL_SUCCESS_INDEX] &&= exception.nil?
    result[PARALLEL_RESULTS_INDEX] << response
    result[PARALLEL_ERRORS_INDEX] << exception
  end
end

#patch(url, payload = nil) ⇒ Object



35
36
37
# File 'lib/workato/connector/sdk/dsl/http.rb', line 35

def patch(url, payload = nil)
  http_request(url, method: 'PATCH').payload(payload).format_json
end

#post(url, payload = nil) ⇒ Object



31
32
33
# File 'lib/workato/connector/sdk/dsl/http.rb', line 31

def post(url, payload = nil)
  http_request(url, method: 'POST').payload(payload).format_json
end

#put(url, payload = nil) ⇒ Object



39
40
41
# File 'lib/workato/connector/sdk/dsl/http.rb', line 39

def put(url, payload = nil)
  http_request(url, method: 'PUT').payload(payload).format_json
end