Proxy unfurler resources to local instance
This commit is contained in:
		
							parent
							
								
									91c0a3e689
								
							
						
					
					
						commit
						0d2df72621
					
				| @ -142,8 +142,9 @@ export default class ReusablePage extends ConcurrencyImplementation { | ||||
|       await page.goto('about:blank', {timeout: 200}); // prevents memory leak (maybe?)
 | ||||
|     } catch (e) { | ||||
|       logger.err(`unexpected page repair error ${page.clusterGroup}:${page.index}`); | ||||
|     } finally { | ||||
|       await page.close(); | ||||
|     } | ||||
|     await page.close(); | ||||
|     return newPage; | ||||
|   } | ||||
| 
 | ||||
|  | ||||
| @ -22,7 +22,7 @@ export default class ReusableSSRPage extends ReusablePage { | ||||
|     page.clusterGroup = 'slurper'; | ||||
|     page.language = null; | ||||
|     page.createdAt = Date.now(); | ||||
|     const defaultUrl = mempoolHost + '/about'; | ||||
|     const defaultUrl = mempoolHost + '/preview/block/1'; | ||||
| 
 | ||||
|     page.on('pageerror', (err) => { | ||||
|       console.log(err); | ||||
| @ -39,7 +39,7 @@ export default class ReusableSSRPage extends ReusablePage { | ||||
|           headers: {"Access-Control-Allow-Origin": "*"}, | ||||
|           body: mockImageBuffer | ||||
|         }); | ||||
|       } else if (!['document', 'script', 'xhr', 'fetch'].includes(req.resourceType())) { | ||||
|       } else if (req.resourceType() === 'media') { | ||||
|         return req.abort(); | ||||
|       } else { | ||||
|         return req.continue(); | ||||
|  | ||||
| @ -28,6 +28,7 @@ class Server { | ||||
|   mempoolUrl: URL; | ||||
|   network: string; | ||||
|   secureHost = true; | ||||
|   secureMempoolHost = true; | ||||
|   canonicalHost: string; | ||||
| 
 | ||||
|   seoQueueLength: number = 0; | ||||
| @ -38,6 +39,7 @@ class Server { | ||||
|     this.mempoolHost = config.MEMPOOL.HTTP_HOST + (config.MEMPOOL.HTTP_PORT ? ':' + config.MEMPOOL.HTTP_PORT : ''); | ||||
|     this.mempoolUrl = new URL(this.mempoolHost); | ||||
|     this.secureHost = config.SERVER.HOST.startsWith('https'); | ||||
|     this.secureMempoolHost = config.MEMPOOL.HTTP_HOST.startsWith('https'); | ||||
|     this.network = config.MEMPOOL.NETWORK || 'bitcoin'; | ||||
| 
 | ||||
|     let canonical; | ||||
| @ -277,13 +279,13 @@ class Server { | ||||
|         return; | ||||
|       } else { | ||||
|         logger.info('proxying resource "' + req.url + '"'); | ||||
|         if (this.secureHost) { | ||||
|           https.get(config.SERVER.HOST + rawPath, { headers: { 'user-agent': 'mempoolunfurl' }}, (got) => { | ||||
|         if (this.secureMempoolHost) { | ||||
|           https.get(this.mempoolHost + rawPath, { headers: { 'user-agent': 'mempoolunfurl' }}, (got) => { | ||||
|             res.writeHead(got.statusCode, got.headers); | ||||
|             return got.pipe(res); | ||||
|           }); | ||||
|         } else { | ||||
|           http.get(config.SERVER.HOST + rawPath, { headers: { 'user-agent': 'mempoolunfurl' }}, (got) => { | ||||
|           http.get(this.mempoolHost + rawPath, { headers: { 'user-agent': 'mempoolunfurl' }}, (got) => { | ||||
|             res.writeHead(got.statusCode, got.headers); | ||||
|             return got.pipe(res); | ||||
|           }); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user