Skip to content

Commit

Permalink
Added options to simpleParser. New option: keepCidLinks
Browse files Browse the repository at this point in the history
  • Loading branch information
andris9 committed Oct 1, 2017
1 parent 2e2cdea commit 881744b
Show file tree
Hide file tree
Showing 12 changed files with 723 additions and 619 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,5 @@ node_modules
.DS_Store
npm-debug.log
.npmrc
package-lock.json*

3 changes: 1 addition & 2 deletions Gruntfile.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
'use strict';

module.exports = function (grunt) {

module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
eslint: {
Expand Down
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,3 @@ See [mailparser homepage](https://nodemailer.com/extras/mailparser/) for documen
### License

**EUPL-v1.1**

20 changes: 16 additions & 4 deletions bench/parse.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
/* eslint no-console: 0 */

'use strict';

const MailParser = require('../index.js').MailParser;
Expand Down Expand Up @@ -30,7 +32,14 @@ let processNext = () => {
if (++processed >= messages) {
let time = (Date.now() - startTime) / 1000;
let avg = Math.round(processed / time);
console.log('Done. %s messages [%s MB] processed in %s s. with average of %s messages/sec [%s MB/s]', processed, Math.round(bytes / (1024 * 1024)), time, avg, Math.round((bytes / (1024 * 1024)) / time)); // eslint-disable-line no-console
console.log(
'Done. %s messages [%s MB] processed in %s s. with average of %s messages/sec [%s MB/s]',
processed,
Math.round(bytes / (1024 * 1024)),
time,
avg,
Math.round(bytes / (1024 * 1024) / time)
);
return;
}

Expand All @@ -49,13 +58,16 @@ let processNext = () => {
});

parser.on('error', err => {
console.log(err); // eslint-disable-line no-console
console.log(err);
});

//randomMessage.get(messagesRoot, (processed * 0x10000).toString(16)).pipe(require('fs').createWriteStream('test.eml'));

randomMessage.get(messagesRoot, (processed * 0x10000).toString(16)).pipe(new Counter()).pipe(parser);
randomMessage
.get(messagesRoot, (processed * 0x10000).toString(16))
.pipe(new Counter())
.pipe(parser);
};

console.log('Streaming %s random messages through MailParser', messages); // eslint-disable-line no-console
console.log('Streaming %s random messages through MailParser', messages);
processNext();
13 changes: 11 additions & 2 deletions bench/passthrough.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
/* eslint no-console:0 */

'use strict';

const PassThrough = require('stream').PassThrough;
Expand All @@ -13,7 +15,14 @@ let processNext = () => {
if (++processed >= messages) {
let time = (Date.now() - startTime) / 1000;
let avg = Math.round(processed / time);
console.log('Done. %s messages [%s MB] processed in %s s. with average of %s messages/sec [%s MB/s]', processed, Math.round(bytes / (1024 * 1024)), time, avg, Math.round((bytes / (1024 * 1024)) / time)); // eslint-disable-line no-console
console.log(
'Done. %s messages [%s MB] processed in %s s. with average of %s messages/sec [%s MB/s]',
processed,
Math.round(bytes / (1024 * 1024)),
time,
avg,
Math.round(bytes / (1024 * 1024) / time)
);
return;
}

Expand All @@ -34,5 +43,5 @@ let processNext = () => {
randomMessage.get(messagesRoot, (processed * 0x10000).toString(16)).pipe(stream);
};

console.log('Streaming %s random messages through a plain PassThrough', messages); // eslint-disable-line no-console
console.log('Streaming %s random messages through a plain PassThrough', messages);
processNext();
17 changes: 10 additions & 7 deletions examples/pipe.js
Original file line number Diff line number Diff line change
Expand Up @@ -58,12 +58,15 @@ parser.on('data', data => {
parser.on('end', () => {
console.log('READY');

parser.updateImageLinks((attachment, done) => done(false, 'data:' + attachment.contentType + ';base64,' + attachment.buf.toString('base64')), (err, html) => {
if (err) {
console.log(err);
}
if (html) {
console.log(html);
parser.updateImageLinks(
(attachment, done) => done(false, 'data:' + attachment.contentType + ';base64,' + attachment.buf.toString('base64')),
(err, html) => {
if (err) {
console.log(err);
}
if (html) {
console.log(html);
}
}
});
);
});
12 changes: 7 additions & 5 deletions examples/simple.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,10 @@ const simpleParser = require('../lib/simple-parser.js');

let input = fs.createReadStream(__dirname + '/simple.eml');

simpleParser(input).then(mail => {
console.log(util.inspect(mail, false, 22));
}).catch(err => {
console.log(err);
});
simpleParser(input)
.then(mail => {
console.log(util.inspect(mail, false, 22));
})
.catch(err => {
console.log(err);
});
Loading

0 comments on commit 881744b

Please sign in to comment.