lib/flexirest/request.rb in flexirest-1.7.2 vs lib/flexirest/request.rb in flexirest-1.7.3
- old
+ new
@@ -190,14 +190,18 @@
Flexirest::Logger.debug " \033[1;4;32m#{Flexirest.name}\033[0m #{@instrumentation_name} - Faked response found"
content_type = @method[:options][:fake_content_type] || "application/json"
return handle_response(OpenStruct.new(status:200, body:fake, response_headers:{"X-ARC-Faked-Response" => "true", "Content-Type" => content_type}))
end
if object_is_class?
- @object.send(:_callback_request, :before, @method[:name], self)
+ callback_result = @object.send(:_callback_request, :before, @method[:name], self)
else
- @object.class.send(:_callback_request, :before, @method[:name], self)
+ callback_result = @object.class.send(:_callback_request, :before, @method[:name], self)
end
+ if callback_result == false
+ return false
+ end
+
append_get_parameters
prepare_request_body
self.original_url = self.url
cached = original_object_class.read_cached_response(self)
if cached && !cached.is_a?(String)
@@ -403,10 +407,14 @@
@body ||= if params.is_a?(String)
params
elsif @post_params.is_a?(String)
@post_params
else
- (params || @post_params || {}).to_query
+ p = (params || @post_params || {})
+ if @method[:options][:wrap_root].present?
+ p = {@method[:options][:wrap_root] => p}
+ end
+ p.to_query
end
headers["Content-Type"] ||= "application/x-www-form-urlencoded"
elsif request_body_type == :json
@body ||= if params.is_a?(String)
params