diff --git a/lib/savon/operation.rb b/lib/savon/operation.rb index 45bda39e..8618f8f1 100644 --- a/lib/savon/operation.rb +++ b/lib/savon/operation.rb @@ -129,10 +129,6 @@ def build_connection(builder) end connection.headers["Content-Type"] = (ctype_headers + ["start=\"#{builder.multipart[:start]}\"", "boundary=\"#{builder.multipart[:multipart_boundary]}\""]).join("; ") - # request.headers["Content-Type"] = ["multipart/related", - # "type=\"#{SOAP_REQUEST_TYPE[@globals[:soap_version]]}\"", - # "start=\"#{builder.multipart[:start]}\"", - # "boundary=\"#{builder.multipart[:multipart_boundary]}\""].join("; ") connection.headers["MIME-Version"] = "1.0" end diff --git a/lib/savon/options.rb b/lib/savon/options.rb index 2e44acc7..a3848b93 100644 --- a/lib/savon/options.rb +++ b/lib/savon/options.rb @@ -495,9 +495,9 @@ def response_parser(parser) @options[:response_parser] = parser end - # Instruct Nori how to convert empty tags. - def empty_tag_value(empty_tag_value) - @options[:empty_tag_value] = empty_tag_value + # Pass already configured Nori instance. + def nori(nori) + @options[:nori] = nori end # Instruct Savon to create a multipart response if available. diff --git a/lib/savon/response.rb b/lib/savon/response.rb index 6bcd78f2..e148182b 100644 --- a/lib/savon/response.rb +++ b/lib/savon/response.rb @@ -142,21 +142,16 @@ def xml_namespaces end def nori - return @nori if @nori + return @locals[:nori] if @locals[:nori] - nori_options = { - :delete_namespace_attributes => @globals[:delete_namespace_attributes], - :strip_namespaces => @globals[:strip_namespaces], - :convert_tags_to => @globals[:convert_response_tags_to], - :convert_attributes_to => @globals[:convert_attributes_to], - :advanced_typecasting => @locals[:advanced_typecasting], - :parser => @locals[:response_parser], - :empty_tag_value => @locals[:empty_tag_value] - } - - non_nil_nori_options = nori_options.reject { |_, value| value.nil? } - @nori = Nori.new(non_nil_nori_options) + @nori ||= Nori.new({ + :delete_namespace_attributes => @globals[:delete_namespace_attributes], + :strip_namespaces => @globals[:strip_namespaces], + :convert_tags_to => @globals[:convert_response_tags_to], + :convert_attributes_to => @globals[:convert_attributes_to], + :advanced_typecasting => @locals[:advanced_typecasting], + :parser => @locals[:response_parser] + }.reject { |_, value| value.nil? }) end - end end