RSSHub/lib/v2/twitter/api-fallback-common.js

18 lines
607 B
JavaScript

const config = require('@/config').value;
const logger = require('@/utils/logger');
const utils = require('./utils');
module.exports = async (ctx, devApiImpl, webApiImpl) => {
const { force_web_api } = utils.parseRouteParams(ctx.params.routeParams);
if (!force_web_api && config.twitter && config.twitter.consumer_key && config.twitter.consumer_secret) {
try {
await devApiImpl(ctx);
return;
} catch (error) {
logger.error(`Fallback to Twitter web API due to developer API error:\n${error.stack}`);
}
}
await webApiImpl(ctx);
};