Patrick Rein uploaded a new version of Network to project The Trunk: http://source.squeak.org/trunk/Network-pre.199.mcz
==================== Summary ====================
Name: Network-pre.199 Author: pre Time: 6 June 2017, 3:01:07.472664 pm UUID: d694f71a-20fb-4eea-b1d5-aea8038ff383 Ancestors: Network-eem.198
Updates the MailMessage intialization methods and changes the date methods of mailMessage
=============== Diff against Network-eem.198 ===============
Item was changed: ----- Method: MailMessage class>>from: (in category 'instance creation') ----- from: aString "Initialize a new instance from the given string."
+ ^ self new + setText: aString; + yourself! - ^(self new) from: aString!
Item was changed: ----- Method: MailMessage>>date (in category 'access') ----- date + + ^ DateAndTime fromSeconds: self time + (Date newDay: 1 year: 1980) asSeconds! - "Answer a date string for this message." - - ^(Date fromSeconds: self time + (Date newDay: 1 year: 1980) asSeconds) - printFormat: #(2 1 3 47 1 2)!
Item was added: + ----- Method: MailMessage>>dateString (in category 'access') ----- + dateString + "Answer a date string for this message." + + ^ self date asDate printFormat: #(2 1 3 47 1 2)!
Item was added: + ----- Method: MailMessage>>readFrom: (in category 'parsing') ----- + readFrom: parseStream + + | bodyText contentTransferEncoding contentType | + contentType := 'text/plain'. + contentTransferEncoding := nil. + fields := Dictionary new. + + "Extract information out of the header fields" + self fieldsFrom: parseStream do: + [:fName :fValue | + "NB: fName is all lowercase" + + fName = 'content-type' ifTrue: [contentType := fValue asLowercase]. + fName = 'content-transfer-encoding' ifTrue: [contentTransferEncoding := fValue asLowercase]. + + (fields at: fName ifAbsentPut: [OrderedCollection new: 1]) + add: (MIMEHeaderValue forField: fName fromString: fValue)]. + + "Extract the body of the message" + bodyText := parseStream upToEnd. + contentTransferEncoding = 'base64' ifTrue: [ + bodyText := Base64MimeConverter mimeDecodeToChars: (ReadStream on: bodyText). + bodyText := bodyText contents]. + contentTransferEncoding = 'quoted-printable' ifTrue: [ + bodyText := bodyText decodeQuotedPrintable]. + + body := MIMEDocument contentType: contentType content: bodyText!
Item was added: + ----- Method: MailMessage>>setText: (in category 'access') ----- + setText: aString + + text := aString withoutTrailingBlanks, String cr, String cr. + self readFrom: text readStream. + !
packages@lists.squeakfoundation.org