diff --git a/controllers/search.js b/controllers/search.js index d41c378208..bf1bd01ef0 100644 --- a/controllers/search.js +++ b/controllers/search.js @@ -1,5 +1,9 @@ exports.index = function (req, res, next) { var q = req.query.q; q = encodeURIComponent(q); - res.redirect('https://www.google.com.hk/#hl=zh-CN&q=site:cnodejs.org+' + q); + if(req.query.notGG){ + res.redirect('https://cn.bing.com/search?q=site:cnodejs.org+' + q) + }else{ + res.redirect('https://www.google.com.hk/#hl=zh-CN&q=site:cnodejs.org+' + q); + } }; diff --git a/test/controllers/search.test.js b/test/controllers/search.test.js index dcfdf22e46..2836c59540 100644 --- a/test/controllers/search.test.js +++ b/test/controllers/search.test.js @@ -10,4 +10,12 @@ describe('test/controllers/search.test.js', function () { done(err); }); }); + it('should redirect to bing search when google is not reacheable', function (done) { + request.get('/search').query({q: 'node 中文',notGG:'1'}) + .expect(302) + .end(function (err, res) { + res.headers['location'].should.equal('https://cn.bing.com/search?q=site:cnodejs.org+node%20%E4%B8%AD%E6%96%87'); + done(err); + }); + }); }); diff --git a/views/layout.html b/views/layout.html index 7dfbcef1d1..353c1aca82 100644 --- a/views/layout.html +++ b/views/layout.html @@ -77,6 +77,7 @@