def []=(name, value)
name = dasherize(name)
if name.include?(':')
raise ArgumentError, "Header names may not contain a colon: #{name.inspect}"
end
fn = name.downcase
selected = select_field_for(fn)
case
when !selected.blank? && value == nil
fields.delete_if { |f| selected.include?(f) }
when !selected.blank? && limited_field?(fn)
selected.first.update(fn, value)
else
self.fields << Field.new(name.to_s, value, charset)
end
if dasherize(fn) == "content-type"
params = self[:content_type].parameters rescue nil
@charset = params && params[:charset]
end
end