module Scorpio::Request::Configurables

Attributes

base_url[W]
body[W]
body_object[RW]
faraday_adapter[W]
faraday_builder[W]
headers[W]
logger[W]
media_type[W]
path_params[W]
query_params[W]
scheme[W]
server[W]
server_variables[W]
user_agent[W]

Public Instance Methods

base_url() click to toggle source
# File lib/scorpio/request.rb, line 46
def base_url
  return @base_url if instance_variable_defined?(:@base_url)
  operation.base_url(scheme: scheme, server: server, server_variables: server_variables)
end
body() click to toggle source
# File lib/scorpio/request.rb, line 52
def body
  return @body if instance_variable_defined?(:@body)
  if instance_variable_defined?(:@body_object)
    if content_type && content_type.json?
      JSON.pretty_generate(JSI::Typelike.as_json(body_object))
    elsif content_type && content_type.form_urlencoded?
      URI.encode_www_form(body_object)

    # NOTE: the supported media types above should correspond to Request::SUPPORTED_REQUEST_MEDIA_TYPES

    else
      if body_object.respond_to?(:to_str)
        body_object
      else
        raise(NotImplementedError, "Scorpio does not know how to generate the request body with content_type = #{content_type.respond_to?(:to_str) ? content_type : content_type.inspect} for operation: #{operation.human_id}. Scorpio supports media types: #{SUPPORTED_REQUEST_MEDIA_TYPES.join(', ')}. body_object was: #{body_object.pretty_inspect.chomp}")
      end
    end
  else
    nil
  end
end
faraday_adapter() click to toggle source
# File lib/scorpio/request.rb, line 101
def faraday_adapter
  return @faraday_adapter if instance_variable_defined?(:@faraday_adapter)
  operation.faraday_adapter
end
faraday_builder() click to toggle source
# File lib/scorpio/request.rb, line 95
def faraday_builder
  return @faraday_builder if instance_variable_defined?(:@faraday_builder)
  operation.faraday_builder
end
headers() click to toggle source
# File lib/scorpio/request.rb, line 77
def headers
  return @headers if instance_variable_defined?(:@headers)
  operation.request_headers
end
logger() click to toggle source
# File lib/scorpio/request.rb, line 107
def logger
  return @logger if instance_variable_defined?(:@logger)
  operation.logger
end
media_type() click to toggle source
# File lib/scorpio/request.rb, line 83
def media_type
  return @media_type if instance_variable_defined?(:@media_type)
  content_type_header ? content_type_header.media_type : operation.request_media_type
end
path_params() click to toggle source
# File lib/scorpio/request.rb, line 16
def path_params
  return @path_params if instance_variable_defined?(:@path_params)
  {}.freeze
end
query_params() click to toggle source
# File lib/scorpio/request.rb, line 22
def query_params
  return @query_params if instance_variable_defined?(:@query_params)
  nil
end
scheme() click to toggle source
# File lib/scorpio/request.rb, line 28
def scheme
  return @scheme if instance_variable_defined?(:@scheme)
  operation.scheme
end
server() click to toggle source
# File lib/scorpio/request.rb, line 34
def server
  return @server if instance_variable_defined?(:@server)
  operation.server
end
server_variables() click to toggle source
# File lib/scorpio/request.rb, line 40
def server_variables
  return @server_variables if instance_variable_defined?(:@server_variables)
  operation.server_variables
end
user_agent() click to toggle source
# File lib/scorpio/request.rb, line 89
def user_agent
  return @user_agent if instance_variable_defined?(:@user_agent)
  operation.user_agent
end