def _perform_content_negotiation
if fmt = params[:format]
accepts = [fmt.to_sym]
else
accepts = _accept_types
end
provided_formats = _provided_formats
specifics = accepts & provided_formats
return specifics.first unless specifics.length == 0
return provided_formats.first if accepts.include?(:all) && !provided_formats.empty?
message = "A format (%s) that isn't provided (%s) has been requested. "
message += "Make sure the action provides the format, and be "
message += "careful of before filters which won't recognize "
message += "formats provided within actions."
raise Merb::ControllerExceptions::NotAcceptable,
(message % [accepts.join(', '), provided_formats.join(', ')])
end