Skip to content

Instantly share code, notes, and snippets.

@rayriffy rayriffy/index.js Secret
Created May 4, 2019

Embed
What would you like to do?
/**
* Functions for query data from NHentai API
* @param {int} id Gallery ID
*/
const getRawData = async id => {
try {
let isCacheFound = false
let cacheRes
// Read file from cache
if (fs.existsSync('.tmp/crawler.json')) {
const reader = fs.readFileSync('.tmp/crawler.json', 'utf8')
const objects = JSON.parse(reader)
_.each(objects, object => {
if (object.data.id === id && object.status === 'success') {
isCacheFound = true
cacheRes = object
}
})
}
if (isCacheFound) {
return cacheRes
} else {
// Using reverse proxy server to avoid CORS issue
const out = await axios.get(`https://nh-express-git-master.rayriffy.now.sh/api/gallery/${id}`)
return {
status: 'success',
data: {
id: id,
raw: out.data,
},
}
}
} catch (err) {
console.log(`cannot process ${id} with code ${err.code}`)
return {
status: 'failure',
data: {
id: id,
},
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.