fix: return 410 for api/github (#45250)
This commit is contained in:
		
				
					committed by
					
						 GitHub
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							d501817207
						
					
				
				
					commit
					ce23dcb32c
				
			| @@ -1,16 +1,10 @@ | ||||
| import request from 'request'; | ||||
|  | ||||
| import { gitHubUserAgent } from '../../../../config/misc'; | ||||
| import { getRedirectParams } from '../utils/redirection'; | ||||
|  | ||||
| const githubClient = process.env.GITHUB_ID; | ||||
| const githubSecret = process.env.GITHUB_SECRET; | ||||
|  | ||||
| module.exports = function (app) { | ||||
|   const router = app.loopback.Router(); | ||||
|   const User = app.models.User; | ||||
|  | ||||
|   router.get('/api/github', githubCalls); | ||||
|   router.get('/api/github', gone); | ||||
|   router.get('/u/:email', unsubscribeDeprecated); | ||||
|   router.get('/unsubscribe/:email', unsubscribeDeprecated); | ||||
|   router.get('/ue/:unsubscribeId', unsubscribeById); | ||||
| @@ -18,6 +12,15 @@ module.exports = function (app) { | ||||
|  | ||||
|   app.use(router); | ||||
|  | ||||
|   function gone(_, res) { | ||||
|     return res.status(410).json({ | ||||
|       message: { | ||||
|         type: 'info', | ||||
|         message: 'Please reload the app, this feature is no longer available.' | ||||
|       } | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   function unsubscribeDeprecated(req, res) { | ||||
|     req.flash( | ||||
|       'info', | ||||
| @@ -111,55 +114,4 @@ module.exports = function (app) { | ||||
|         .catch(next); | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   function githubCalls(req, res, next) { | ||||
|     var githubHeaders = { | ||||
|       headers: { | ||||
|         'User-Agent': gitHubUserAgent | ||||
|       }, | ||||
|       port: 80 | ||||
|     }; | ||||
|     request( | ||||
|       [ | ||||
|         'https://api.github.com/repos/freecodecamp/', | ||||
|         'freecodecamp/pulls?client_id=', | ||||
|         githubClient, | ||||
|         '&client_secret=', | ||||
|         githubSecret | ||||
|       ].join(''), | ||||
|       githubHeaders, | ||||
|       function (err, status1, pulls) { | ||||
|         if (err) { | ||||
|           return next(err); | ||||
|         } | ||||
|         pulls = pulls | ||||
|           ? Object.keys(JSON.parse(pulls)).length | ||||
|           : "Can't connect to github"; | ||||
|  | ||||
|         return request( | ||||
|           [ | ||||
|             'https://api.github.com/repos/freecodecamp/', | ||||
|             'freecodecamp/issues?client_id=', | ||||
|             githubClient, | ||||
|             '&client_secret=', | ||||
|             githubSecret | ||||
|           ].join(''), | ||||
|           githubHeaders, | ||||
|           function (err, status2, issues) { | ||||
|             if (err) { | ||||
|               return next(err); | ||||
|             } | ||||
|             issues = | ||||
|               pulls === parseInt(pulls, 10) && issues | ||||
|                 ? Object.keys(JSON.parse(issues)).length - pulls | ||||
|                 : "Can't connect to GitHub"; | ||||
|             return res.json({ | ||||
|               issues: issues, | ||||
|               pulls: pulls | ||||
|             }); | ||||
|           } | ||||
|         ); | ||||
|       } | ||||
|     ); | ||||
|   } | ||||
| }; | ||||
|   | ||||
| @@ -1,3 +1 @@ | ||||
| exports.defaultUserImage = 'https://freecodecamp.com/sample-image.png'; | ||||
| exports.gitHubUserAgent = | ||||
|   'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1521.3 Safari/537.36'; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user