From c01ba1a3cb705d5205afc0f710f158f34e8b2122 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Sun, 15 Sep 2013 07:58:02 -0400 Subject: [PATCH] closed #296 --- src/feed.js | 4 ++-- src/webserver.js | 10 ++++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/feed.js b/src/feed.js index 37a747bea6..8a92c92944 100644 --- a/src/feed.js +++ b/src/feed.js @@ -28,7 +28,7 @@ if (process.env.NODE_ENV === 'development') winston.info('[rss] Updating RSS feeds for topic ' + tid); topics.getTopicWithPosts(tid, 0, 0, -1, function(err, topicData) { - if (err) return winston.error('Problem saving topic RSS feed', err.stack); + if (err) return callback(new Error('topic-invalid')); var feed = new rss({ title: topicData.topic_name, @@ -71,7 +71,7 @@ Feed.updateCategory = function(cid, callback) { if (process.env.NODE_ENV === 'development') winston.info('[rss] Updating RSS feeds for category ' + cid); categories.getCategoryById(cid, 0, function(err, categoryData) { - if (err) return winston.error('Could not update RSS feed for category ' + cid, err.stack); + if (err) return callback(new Error('category-invalid')); var feed = new rss({ title: categoryData.category_name, diff --git a/src/webserver.js b/src/webserver.js index b28f71f6ae..ad2a1d0bfc 100644 --- a/src/webserver.js +++ b/src/webserver.js @@ -244,8 +244,9 @@ var express = require('express'), }; if (!fs.existsSync(rssPath)) { - feed.updateTopic(tid, function() { - loadFeed(); + feed.updateTopic(tid, function(err) { + if (err) res.redirect('/404'); + else loadFeed(); }); } else loadFeed(); @@ -320,8 +321,9 @@ var express = require('express'), }; if (!fs.existsSync(rssPath)) { - feed.updateCategory(cid, function() { - loadFeed(); + feed.updateCategory(cid, function(err) { + if (err) res.redirect('/404'); + else loadFeed(); }); } else loadFeed();