mirror of
				https://git.sr.ht/~cadence/bibliogram
				synced 2025-10-30 19:15:37 +00:00 
			
		
		
		
	Fragments have rate limit symbol handler
This commit is contained in:
		
							parent
							
								
									81b2c77b98
								
							
						
					
					
						commit
						20ea14c0d1
					
				| @ -120,12 +120,12 @@ module.exports = [ | |||||||
| 	}, | 	}, | ||||||
| 	{ | 	{ | ||||||
| 		route: `/fragment/user/(${constants.external.username_regex})/(\\d+)`, methods: ["GET"], code: async ({req, url, fill}) => { | 		route: `/fragment/user/(${constants.external.username_regex})/(\\d+)`, methods: ["GET"], code: async ({req, url, fill}) => { | ||||||
|  | 			const settings = getSettings(req) | ||||||
| 			return fetchUser(fill[0]).then(async user => { | 			return fetchUser(fill[0]).then(async user => { | ||||||
| 				const pageNumber = +fill[1] | 				const pageNumber = +fill[1] | ||||||
| 				const pageIndex = pageNumber - 1 | 				const pageIndex = pageNumber - 1 | ||||||
| 				await user.timeline.fetchUpToPage(pageIndex) | 				await user.timeline.fetchUpToPage(pageIndex) | ||||||
| 				if (user.timeline.pages[pageIndex]) { | 				if (user.timeline.pages[pageIndex]) { | ||||||
| 					const settings = getSettings(req) |  | ||||||
| 					return render(200, "pug/fragments/timeline_page.pug", {page: user.timeline.pages[pageIndex], pageIndex, user, url, settings}) | 					return render(200, "pug/fragments/timeline_page.pug", {page: user.timeline.pages[pageIndex], pageIndex, user, url, settings}) | ||||||
| 				} else { | 				} else { | ||||||
| 					return { | 					return { | ||||||
| @ -142,6 +142,16 @@ module.exports = [ | |||||||
| 						message: "This user doesn't exist.", | 						message: "This user doesn't exist.", | ||||||
| 						withInstancesLink: false | 						withInstancesLink: false | ||||||
| 					}) | 					}) | ||||||
|  | 				} else if (error === constants.symbols.INSTAGRAM_DEMANDS_LOGIN || error === constants.symbols.RATE_LIMITED) { | ||||||
|  | 					return render(503, "pug/friendlyerror.pug", { | ||||||
|  | 						statusCode: 503, | ||||||
|  | 						title: "Timeline loading blocked", | ||||||
|  | 						message: "Timeline loading blocked", | ||||||
|  | 						explanation: | ||||||
|  | 								"Instagram blocked this server for requesting too many timeline pages." | ||||||
|  | 							+"\nThis block is not permanent, and will expire soon." | ||||||
|  | 							+"\nPlease wait a few minutes before trying again." | ||||||
|  | 					}) | ||||||
| 				} else { | 				} else { | ||||||
| 					throw error | 					throw error | ||||||
| 				} | 				} | ||||||
| @ -171,6 +181,16 @@ module.exports = [ | |||||||
| 						message: "Somehow, you reached a post that doesn't exist.", | 						message: "Somehow, you reached a post that doesn't exist.", | ||||||
| 						withInstancesLink: false | 						withInstancesLink: false | ||||||
| 					}) | 					}) | ||||||
|  | 				} else if (error === constants.symbols.RATE_LIMITED) { | ||||||
|  | 					return render(503, "pug/friendlyerror.pug", { | ||||||
|  | 						statusCode: 503, | ||||||
|  | 						title: "Post loading blocked", | ||||||
|  | 						message: "Post loading blocked", | ||||||
|  | 						explanation: | ||||||
|  | 								"Instagram blocked this server for requesting too much post data." | ||||||
|  | 							+"\nThis block is not permanent, and will expire soon." | ||||||
|  | 							+"\nPlease wait a few minutes before trying again." | ||||||
|  | 					}) | ||||||
| 				} else { | 				} else { | ||||||
| 					throw error | 					throw error | ||||||
| 				} | 				} | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user