aboutsummaryrefslogtreecommitdiff
path: root/build
diff options
context:
space:
mode:
authormat <27899617+mat-1@users.noreply.github.com>2021-03-01 15:10:51 -0600
committermat <27899617+mat-1@users.noreply.github.com>2021-03-01 15:10:51 -0600
commit965a9852acf939b4da3c418b31fdc4c117efb004 (patch)
tree18dc7318694e0dd0d3a09f736437b3a4ee474c4a /build
parentd00f71b611fd26216bf379df265e53493a1adcb3 (diff)
downloadskyblock-api-965a9852acf939b4da3c418b31fdc4c117efb004.tar.gz
skyblock-api-965a9852acf939b4da3c418b31fdc4c117efb004.tar.bz2
skyblock-api-965a9852acf939b4da3c418b31fdc4c117efb004.zip
send 401 status code when unauthorized
Diffstat (limited to 'build')
-rw-r--r--build/hypixelCached.js10
-rw-r--r--build/index.js3
2 files changed, 8 insertions, 5 deletions
diff --git a/build/hypixelCached.js b/build/hypixelCached.js
index 48b8ff0..ccb0ca6 100644
--- a/build/hypixelCached.js
+++ b/build/hypixelCached.js
@@ -67,7 +67,7 @@ function waitForSet(cache, key, value) {
const listener = (setKey, setValue) => {
if (setKey === key || (value && setValue === value)) {
cache.removeListener('set', listener);
- return resolve({ key, value });
+ return resolve({ key: setKey, value: setValue });
}
};
cache.on('set', listener);
@@ -86,7 +86,9 @@ async function uuidFromUser(user) {
const username = usernameCache.get(util_1.undashUuid(user));
// if it has .then, then that means its a waitForSet promise. This is done to prevent requests made while it is already requesting
if (username.then) {
- return (await username).key;
+ const { key: uuid, value: _username } = await username;
+ usernameCache.set(uuid, _username);
+ return uuid;
}
else
return util_1.undashUuid(user);
@@ -103,8 +105,10 @@ async function uuidFromUser(user) {
usernameCache.set(util_1.undashUuid(user), waitForSet(usernameCache, user, user));
// not cached, actually fetch mojang api now
let { uuid, username } = await mojang.mojangDataFromUser(user);
- if (!uuid)
+ if (!uuid) {
+ usernameCache.set(uuid, null);
return;
+ }
// remove dashes from the uuid so its more normal
uuid = util_1.undashUuid(uuid);
if (user !== uuid)
diff --git a/build/index.js b/build/index.js
index e6d0ff3..11b2fc6 100644
--- a/build/index.js
+++ b/build/index.js
@@ -12,8 +12,7 @@ exports.debug = false;
app.use((req, res, next) => {
if (process.env.key && req.headers.key !== process.env.key)
// if a key is set in process.env and the header doesn't match return an error
- // TODO: make this have a status code
- return res.json({ error: 'Key in header must match key in env' });
+ return res.status(401).json({ error: 'Key in header must match key in env' });
next();
});
app.get('/', async (req, res) => {