some checks on the replay data request params
This commit is contained in:
parent
b8946ef6a8
commit
ede95ff16c
2 changed files with 24 additions and 6 deletions
|
|
@ -1930,12 +1930,21 @@ app.get('/api/conf', (req, res) => {
|
||||||
});
|
});
|
||||||
app.get('/api/replay-data', async (req, res) => {
|
app.get('/api/replay-data', async (req, res) => {
|
||||||
const q = req.query;
|
const q = req.query;
|
||||||
|
const offset = parseInt(q.offset, 10) || 0;
|
||||||
|
if (offset < 0) {
|
||||||
|
res.status(400).send({ reason: 'bad offset' });
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const size = parseInt(q.size, 10) || 10000;
|
||||||
|
if (size < 0 || size > 10000) {
|
||||||
|
res.status(400).send({ reason: 'bad size' });
|
||||||
|
return;
|
||||||
|
}
|
||||||
const gameId = q.gameId || '';
|
const gameId = q.gameId || '';
|
||||||
if (!GameLog.exists(q.gameId)) {
|
if (!GameLog.exists(q.gameId)) {
|
||||||
throw `[gamelog ${gameId} does not exist... ]`;
|
res.status(404).send({ reason: 'no log found' });
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
const offset = parseInt(q.offset, 10) || 0;
|
|
||||||
const size = parseInt(q.size, 10) || 10000;
|
|
||||||
const log = await GameLog.get(gameId, offset, size);
|
const log = await GameLog.get(gameId, offset, size);
|
||||||
let game = null;
|
let game = null;
|
||||||
if (offset === 0) {
|
if (offset === 0) {
|
||||||
|
|
|
||||||
|
|
@ -63,12 +63,21 @@ app.get('/api/conf', (req, res) => {
|
||||||
|
|
||||||
app.get('/api/replay-data', async (req, res) => {
|
app.get('/api/replay-data', async (req, res) => {
|
||||||
const q = req.query as any
|
const q = req.query as any
|
||||||
|
const offset = parseInt(q.offset, 10) || 0
|
||||||
|
if (offset < 0) {
|
||||||
|
res.status(400).send({ reason: 'bad offset' })
|
||||||
|
return
|
||||||
|
}
|
||||||
|
const size = parseInt(q.size, 10) || 10000
|
||||||
|
if (size < 0 || size > 10000) {
|
||||||
|
res.status(400).send({ reason: 'bad size' })
|
||||||
|
return
|
||||||
|
}
|
||||||
const gameId = q.gameId || ''
|
const gameId = q.gameId || ''
|
||||||
if (!GameLog.exists(q.gameId)) {
|
if (!GameLog.exists(q.gameId)) {
|
||||||
throw `[gamelog ${gameId} does not exist... ]`
|
res.status(404).send({ reason: 'no log found' })
|
||||||
|
return
|
||||||
}
|
}
|
||||||
const offset = parseInt(q.offset, 10) || 0
|
|
||||||
const size = parseInt(q.size, 10) || 10000
|
|
||||||
const log = await GameLog.get(gameId, offset, size)
|
const log = await GameLog.get(gameId, offset, size)
|
||||||
let game = null
|
let game = null
|
||||||
if (offset === 0) {
|
if (offset === 0) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue