Skip to content

Commit caae726

Browse files
Merge pull request #246 from prerender/add-user-agents
Add user agents method
2 parents 4dacdbe + e888aaa commit caae726

4 files changed

Lines changed: 33 additions & 3 deletions

File tree

index.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -337,3 +337,12 @@ prerender.set = function(name, value) {
337337
this[name] = value;
338338
return this;
339339
};
340+
341+
prerender.addUserAgents = function(newAgents) {
342+
if (Array.isArray(newAgents)) {
343+
this.crawlerUserAgents = this.crawlerUserAgents.concat(newAgents);
344+
} else if (typeof newAgents === 'string') {
345+
this.crawlerUserAgents.push(newAgents);
346+
}
347+
return this;
348+
}

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "prerender-node",
3-
"version": "3.8.0",
3+
"version": "3.8.1",
44
"description": "express middleware for serving prerendered javascript-rendered pages for SEO",
55
"author": "Todd Hooper",
66
"license": "MIT",

test/index-spec.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -578,4 +578,25 @@ describe ('Prerender', function(){
578578

579579
});
580580
});
581+
582+
describe('#addUserAgents', function() {
583+
it('should add a single user agent', function() {
584+
prerender.addUserAgents('NewBot/1.0');
585+
assert(prerender.crawlerUserAgents.includes('NewBot/1.0'));
586+
});
587+
it('should add multiple user agents', function() {
588+
prerender.addUserAgents(['BotOne/1.0', 'BotTwo/2.0']);
589+
assert(prerender.crawlerUserAgents.includes('BotOne/1.0'));
590+
assert(prerender.crawlerUserAgents.includes('BotTwo/2.0'));
591+
});
592+
it('should not add duplicates', function() {
593+
prerender.addUserAgents('NewBot/1.0');
594+
prerender.addUserAgents('NewBot/1.0');
595+
assert.equal(prerender.crawlerUserAgents.filter(agent => agent === 'NewBot/1.0').length, 1);
596+
});
597+
it('should return the prerender instance', function() {
598+
var result = prerender.addUserAgents('AnotherBot/1.0');
599+
assert.equal(result, prerender);
600+
});
601+
});
581602
});

0 commit comments

Comments
 (0)