Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bug 998191, part 10: Simplify mime_generate_headers by using JSMime f…
…or newsgroup headers, r=irving It is hoped that other, non-NNTP headers will get added to extraMimeParsers.jsm, but there is only a need for the Newsgroup header right now.
- Loading branch information
Showing
5 changed files
with
45 additions
and
109 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
/* This Source Code Form is subject to the terms of the Mozilla Public | ||
* License, v. 2.0. If a copy of the MPL was not distributed with this | ||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | ||
|
||
function parseNewsgroups(headers) { | ||
let ng = []; | ||
for (let header of headers) { | ||
ng = ng.concat(header.split(/\s*,\s*/)); | ||
} | ||
return ng; | ||
} | ||
|
||
function emitNewsgroups(groups) { | ||
// Don't encode the newsgroups names in RFC 2047... | ||
if (groups.length == 1) | ||
this.addText(groups[0], false); | ||
else { | ||
this.addText(groups[0], false); | ||
for (let i = 1; i < groups.length; i++) { | ||
this.addText(", ", true); | ||
this.addText(groups[i], false); | ||
} | ||
} | ||
} | ||
|
||
jsmime.headerparser.addStructuredDecoder("Newsgroups", parseNewsgroups); | ||
jsmime.headerparser.addStructuredDecoder("Followup-To", parseNewsgroups); | ||
jsmime.headeremitter.addStructuredEncoder("Newsgroups", emitNewsgroups); | ||
jsmime.headeremitter.addStructuredEncoder("Followup-To", emitNewsgroups); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters