class Endpointer::Performers::Post

Public Instance Methods

execute(request, resource) click to toggle source
# File lib/endpointer/performers/post.rb, line 10
def execute(request, resource)
  execute_method(resource.method, request, resource)
end

Private Instance Methods

execute_method(method, request, resource) click to toggle source
# File lib/endpointer/performers/post.rb, line 16
def execute_method(method, request, resource)
  request_body = request.body.read

  begin
    response = RestClient.send(method,
      construct_uri(request, resource),
      request_body,
      create_headers(request, resource)
    )
    request.body.rewind
  rescue RestClient::ExceptionWithResponse => e
    response = e.response
  end

  Endpointer::ResponsePresenter.new.present(status: response.code, body: response.body, headers: response.headers, request_body: request_body, resource: resource)
end