Module: Endpointer::Performers::Method

Included in:
Get, Post
Defined in:
lib/endpointer/performers/method.rb

Instance Method Summary collapse

Instance Method Details

#construct_uri(request, resource) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
# File 'lib/endpointer/performers/method.rb', line 21

def construct_uri(request, resource)
  parsed_request_url = URI.parse(request.url)
  parsed_resource_url = URI.parse(resource.url)

  parsed_request_url.scheme = parsed_resource_url.scheme
  parsed_request_url.userinfo = parsed_resource_url.userinfo
  parsed_request_url.host = parsed_resource_url.host
  parsed_request_url.port = parsed_resource_url.port

  parsed_request_url.to_s
end

#create_headers(request, resource) ⇒ Object



7
8
9
10
11
# File 'lib/endpointer/performers/method.rb', line 7

def create_headers(request, resource)
  resource.headers.keys.each_with_object({}) do |key, header|
    header[key] = request_header_or_default(key, request, resource)
  end
end

#rack_header_name_convert(header_name) ⇒ Object



17
18
19
# File 'lib/endpointer/performers/method.rb', line 17

def rack_header_name_convert(header_name)
  "HTTP_#{header_name.upcase.tr('-', '_')}"
end

#request_header_or_default(key, request, resource) ⇒ Object



13
14
15
# File 'lib/endpointer/performers/method.rb', line 13

def request_header_or_default(key, request, resource)
  request.env[rack_header_name_convert(key)] || resource.headers[key]
end