Sha256: d561d4c7106a8dc6ba96e964f772d320c5082ade72d01e09d3d6ad8fe4af4848

Contents?: true

Size: 1.66 KB

Versions: 5

Compression:

Stored size: 1.66 KB

Contents

# frozen_string_literal: true

module Workato
  module Connector
    module Sdk
      module Dsl
        # https://docs.workato.com/developing-connectors/sdk/sdk-reference/http.html#http-methods
        module HTTP
          def get(url, params = {})
            http_request(url, method: 'GET').params(params).response_format_json
          end

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

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

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

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

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

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

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

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

          private

          def http_request(url, method:)
            Request.new(
              url,
              method: method,
              connection: connection,
              settings: settings,
              action: self
            )
          end
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
workato-connector-sdk-0.3.0 lib/workato/connector/sdk/dsl/http.rb
workato-connector-sdk-0.2.0 lib/workato/connector/sdk/dsl/http.rb
workato-connector-sdk-0.1.2 lib/workato/connector/sdk/dsl/http.rb
workato-connector-sdk-0.1.1 lib/workato/connector/sdk/dsl/http.rb
workato-connector-sdk-0.1.0 lib/workato/connector/sdk/dsl/http.rb