kopia lustrzana https://github.com/badgen/badgen.net
				
				
				
			lru-cache => lru-cache-static
							rodzic
							
								
									d23d89a432
								
							
						
					
					
						commit
						4735a64511
					
				| 
						 | 
				
			
			@ -0,0 +1,27 @@
 | 
			
		|||
const LRU = require('lru-cache')
 | 
			
		||||
 | 
			
		||||
const cache = LRU({
 | 
			
		||||
  max: 5000,
 | 
			
		||||
  maxAge: 3e4,
 | 
			
		||||
  stale: true
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
function listCache (req, res) {
 | 
			
		||||
  res.writeHead(200)
 | 
			
		||||
  res.end(`Total ${cache.length}\n${cache.keys().join('\n')}`)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function clearCache (req, res) {
 | 
			
		||||
  const count = cache.length
 | 
			
		||||
  const keys = cache.keys().join('\n')
 | 
			
		||||
  cache.reset()
 | 
			
		||||
 | 
			
		||||
  res.writeHead(200)
 | 
			
		||||
  res.end(`Cleaned ${count}\n${keys}`)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
module.exports = {
 | 
			
		||||
  cache,
 | 
			
		||||
  listCache,
 | 
			
		||||
  clearCache
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -2,7 +2,12 @@ const LRU = require('lru-cache')
 | 
			
		|||
 | 
			
		||||
const cache = new LRU({ max: 1000 })
 | 
			
		||||
 | 
			
		||||
function cleanCache (req, res) {
 | 
			
		||||
function listCache (req, res) {
 | 
			
		||||
  res.writeHead(200)
 | 
			
		||||
  res.end(`Total ${cache.length}\n${cache.keys().join('\n')}`)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function clearCache (req, res) {
 | 
			
		||||
  const count = cache.length
 | 
			
		||||
  const keys = cache.keys().join('\n')
 | 
			
		||||
  cache.reset()
 | 
			
		||||
| 
						 | 
				
			
			@ -11,13 +16,8 @@ function cleanCache (req, res) {
 | 
			
		|||
  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
 | 
			
		||||
  clearCache
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
const badgen = require('badgen')
 | 
			
		||||
const { cache } = require('./lru-cache.js')
 | 
			
		||||
const { cache } = require('./lru-cache-static.js')
 | 
			
		||||
 | 
			
		||||
function serveBadge (req, res, params) {
 | 
			
		||||
  const result = cache.get(req.url) || badgen(params)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,11 +1,5 @@
 | 
			
		|||
const LRU = require('lru-cache')
 | 
			
		||||
const liveFns = require('./live-fns/index.js')
 | 
			
		||||
 | 
			
		||||
const cache = LRU({
 | 
			
		||||
  max: 5000,
 | 
			
		||||
  maxAge: 3e4,
 | 
			
		||||
  stale: true
 | 
			
		||||
})
 | 
			
		||||
const { cache, listCache, clearCache } = require('./lru-cache-live.js')
 | 
			
		||||
 | 
			
		||||
module.exports = function (router) {
 | 
			
		||||
  Object.entries(liveFns).forEach(([key, fn]) => {
 | 
			
		||||
| 
						 | 
				
			
			@ -23,19 +17,8 @@ module.exports = function (router) {
 | 
			
		|||
    })
 | 
			
		||||
  })
 | 
			
		||||
 | 
			
		||||
  router.get('/list-cache-live', (req, res) => {
 | 
			
		||||
    res.writeHead(200)
 | 
			
		||||
    res.end(`Total ${cache.length}\n${cache.keys().join('\n')}`)
 | 
			
		||||
  })
 | 
			
		||||
 | 
			
		||||
  router.get('/clear-cache-live', (req, res) => {
 | 
			
		||||
    const count = cache.length
 | 
			
		||||
    const keys = cache.keys().join('\n')
 | 
			
		||||
    cache.reset()
 | 
			
		||||
 | 
			
		||||
    res.writeHead(200)
 | 
			
		||||
    res.end(`Cleaned ${count}\n${keys}`)
 | 
			
		||||
  })
 | 
			
		||||
  router.get('/list-cache-live', listCache)
 | 
			
		||||
  router.get('/clear-cache-live', clearCache)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
async function fetchLiveParams (key, paramsPath, fn) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,12 @@
 | 
			
		|||
const { serveBadge, serveListBadge } = require('./serve-badge.js')
 | 
			
		||||
const { listCache, clearCache } = require('./lru-cache-static.js')
 | 
			
		||||
 | 
			
		||||
module.exports = function (router) {
 | 
			
		||||
  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('/list-cache-static', listCache)
 | 
			
		||||
  router.get('/clear-cache-static', clearCache)
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										12
									
								
								service.js
								
								
								
								
							
							
						
						
									
										12
									
								
								service.js
								
								
								
								
							| 
						 | 
				
			
			@ -2,19 +2,11 @@ const http = require('http')
 | 
			
		|||
const cors = require('@amio/micro-cors')()
 | 
			
		||||
const router = require('find-my-way')()
 | 
			
		||||
const serveIndex = require('./libs/serve-index.js')
 | 
			
		||||
const { serveBadge, serveListBadge } = require('./libs/serve-badge.js')
 | 
			
		||||
const { listCache, cleanCache } = require('./libs/lru-cache.js')
 | 
			
		||||
const setupLiveBadge = require('./libs/setup-live-badge.js')
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
const setupStaticBadge = require('./libs/setup-static-badge.js')
 | 
			
		||||
 | 
			
		||||
setupLiveBadge(router)
 | 
			
		||||
 | 
			
		||||
router.get('/clean-cache', cleanCache)
 | 
			
		||||
router.get('/list-cache', listCache)
 | 
			
		||||
setupStaticBadge(router)
 | 
			
		||||
 | 
			
		||||
router.get('/', serveIndex)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Ładowanie…
	
		Reference in New Issue