β¨π Update BODYSTRUCTURE parser; add location; fix bugs #113
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
n.b. this was split off from #104 as its own PR.
β¨ Add missing "location" extension data.
This was missing from RFC2060 but part of RFC3501. It was also missing from Net::IMAP... until now! π
π Fix several bugs. Most importantly:
NIL
is not allowed, e.g:number
,envelope
, andbody
. Ignoring these uncommon bugs made it difficult to workaround much more common server bugs elsewhere.BodyTypeAttachment
andBodyTypeExtension
won't be returned any more and the constants have been deprecated.π§ TODO: Although this will parse most strange BODYSTRUCTURE msg-att found in the wild, a future PR will backtrack on parse errors and try one or more "fool-proof" algorithms that partially parse nearly all invalid body structures sent by buggy servers... even in pathological cases, such as when servers send the message-id as a quoted string containing unescaped quotation marks!