kopia lustrzana https://github.com/badgen/badgen.net
				
				
				
			Split lru-cache
							rodzic
							
								
									b3cde124ad
								
							
						
					
					
						commit
						e54b2c78df
					
				| 
						 | 
				
			
			@ -0,0 +1,23 @@
 | 
			
		|||
const LRU = require('lru-cache')
 | 
			
		||||
 | 
			
		||||
const cache = new LRU({ max: 1000 })
 | 
			
		||||
 | 
			
		||||
function cleanCache (req, res) {
 | 
			
		||||
  const count = cache.length
 | 
			
		||||
  const keys = cache.keys().join('\n')
 | 
			
		||||
  cache.reset()
 | 
			
		||||
 | 
			
		||||
  res.writeHead(200)
 | 
			
		||||
  res.end(`Cleaned ${count}\n${keys}`)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function listCache (req, res) {
 | 
			
		||||
  res.writeHead(200)
 | 
			
		||||
  res.end(`Total ${cache.length}\n${cache.keys().join('\n')}`)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
module.exports = {
 | 
			
		||||
  cache,
 | 
			
		||||
  listCache,
 | 
			
		||||
  cleanCache
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,7 +1,5 @@
 | 
			
		|||
const badgen = require('badgen')
 | 
			
		||||
const LRU = require('lru-cache')
 | 
			
		||||
 | 
			
		||||
const cache = new LRU({ max: 1000 })
 | 
			
		||||
const { cache } = require('./lru-cache.js')
 | 
			
		||||
 | 
			
		||||
function serveBadge (req, res, params) {
 | 
			
		||||
  const result = cache.get(req.url) || badgen(params)
 | 
			
		||||
| 
						 | 
				
			
			@ -20,23 +18,7 @@ function serveListBadge (req, res, params) {
 | 
			
		|||
  serveBadge(req, res, { subject, status: status.replace(/,/g, ' | '), color })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function cleanCache (req, res) {
 | 
			
		||||
  const count = cache.length
 | 
			
		||||
  const keys = cache.keys().join('\n')
 | 
			
		||||
  cache.reset()
 | 
			
		||||
 | 
			
		||||
  res.writeHead(200)
 | 
			
		||||
  res.end(`Cleaned ${count}\n${keys}`)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function listCache (req, res) {
 | 
			
		||||
  res.writeHead(200)
 | 
			
		||||
  res.end(`Total ${cache.length}\n${cache.keys().join('\n')}`)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
module.exports = {
 | 
			
		||||
  serveBadge,
 | 
			
		||||
  serveListBadge,
 | 
			
		||||
  cleanCache,
 | 
			
		||||
  listCache
 | 
			
		||||
  serveListBadge
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										15
									
								
								service.js
								
								
								
								
							
							
						
						
									
										15
									
								
								service.js
								
								
								
								
							| 
						 | 
				
			
			@ -1,16 +1,17 @@
 | 
			
		|||
const http = require('http')
 | 
			
		||||
const cors = require('@amio/micro-cors')()
 | 
			
		||||
const router = require('find-my-way')()
 | 
			
		||||
const handlers = require('./libs/handlers.js')
 | 
			
		||||
const serveIndex = require('./libs/serve-index.js')
 | 
			
		||||
const { serveBadge, serveListBadge } = require('./libs/serve-badge.js')
 | 
			
		||||
const { listCache, cleanCache } = require('./libs/lru-cache.js')
 | 
			
		||||
 | 
			
		||||
router.get('/badge/:subject/:status', handlers.serveBadge)
 | 
			
		||||
router.get('/badge/:subject/:status/:color', handlers.serveBadge)
 | 
			
		||||
router.get('/list/:subject/:status', handlers.serveListBadge)
 | 
			
		||||
router.get('/list/:subject/:status/:color', handlers.serveListBadge)
 | 
			
		||||
router.get('/badge/:subject/:status', serveBadge)
 | 
			
		||||
router.get('/badge/:subject/:status/:color', serveBadge)
 | 
			
		||||
router.get('/list/:subject/:status', serveListBadge)
 | 
			
		||||
router.get('/list/:subject/:status/:color', serveListBadge)
 | 
			
		||||
 | 
			
		||||
router.get('/clean-cache', handlers.cleanCache)
 | 
			
		||||
router.get('/list-cache', handlers.listCache)
 | 
			
		||||
router.get('/clean-cache', cleanCache)
 | 
			
		||||
router.get('/list-cache', listCache)
 | 
			
		||||
 | 
			
		||||
router.get('/', serveIndex)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Ładowanie…
	
		Reference in New Issue