From 9be3aa1767681caf5a441336eaf6408979a26649 Mon Sep 17 00:00:00 2001 From: shugo Date: Mon, 7 May 2012 04:05:44 +0000 Subject: * lib/net/imap.rb (body_type_attachment): parse body type "ATTACHMENT". [ruby-core:44849] [Bug #6397] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35558 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/net/imap.rb | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'lib/net') diff --git a/lib/net/imap.rb b/lib/net/imap.rb index 1f9682681e..567cf66809 100644 --- a/lib/net/imap.rb +++ b/lib/net/imap.rb @@ -1977,6 +1977,26 @@ module Net end end + # Net::IMAP::BodyTypeAttachment represents attachment body structures + # of messages. + # + # ==== Fields: + # + # media_type:: Returns the content media type name. + # + # subtype:: Returns +nil+. + # + # param:: Returns a hash that represents parameters. + # + # multipart?:: Returns false. + # + class BodyTypeAttachment < Struct.new(:media_type, :subtype, + :param) + def multipart? + return false + end + end + # Net::IMAP::BodyTypeMultipart represents multipart body structures # of messages. # @@ -2347,6 +2367,8 @@ module Net return body_type_text when /\A(?:MESSAGE)\z/ni return body_type_msg + when /\A(?:ATTACHMENT)\z/ni + return body_type_attachment else return body_type_basic end @@ -2399,6 +2421,13 @@ module Net md5, disposition, language, extension) end + def body_type_attachment + mtype = case_insensitive_string + match(T_SPACE) + param = body_fld_param + return BodyTypeAttachment.new(mtype, nil, param) + end + def body_type_mpart parts = [] while true -- cgit v1.2.3