debug
This commit is contained in:
@@ -4,7 +4,9 @@ import { saveTelemetry } from '$lib/server/fleet/telemetry.js';
|
|||||||
import { emit } from '$lib/server/pipeline/bus.js';
|
import { emit } from '$lib/server/pipeline/bus.js';
|
||||||
|
|
||||||
export async function POST({ request }: { request: Request }) {
|
export async function POST({ request }: { request: Request }) {
|
||||||
|
console.log('[telemetry] received POST /api/telemetry');
|
||||||
if (request.headers.get('content-type')?.split(';')[0].trim().toLowerCase() !== 'application/json') {
|
if (request.headers.get('content-type')?.split(';')[0].trim().toLowerCase() !== 'application/json') {
|
||||||
|
console.log('[telemetry] rejected 415: Content-Type must be application/json');
|
||||||
return json({ ok: false, error: 'Content-Type must be application/json' }, { status: 415 });
|
return json({ ok: false, error: 'Content-Type must be application/json' }, { status: 415 });
|
||||||
}
|
}
|
||||||
const body = await request.json().catch(() => null);
|
const body = await request.json().catch(() => null);
|
||||||
@@ -13,10 +15,12 @@ export async function POST({ request }: { request: Request }) {
|
|||||||
|| typeof body.server !== 'string' || !body.server.length || body.server.length > 255
|
|| typeof body.server !== 'string' || !body.server.length || body.server.length > 255
|
||||||
|| !Number.isSafeInteger(body.round) || body.round < 0
|
|| !Number.isSafeInteger(body.round) || body.round < 0
|
||||||
|| !Number.isSafeInteger(body.players) || body.players < 0) {
|
|| !Number.isSafeInteger(body.players) || body.players < 0) {
|
||||||
|
console.log('[telemetry] rejected 400: invalid round_change payload or malformed JSON');
|
||||||
return json({ ok: false, error: 'Expected round_change, a server name, and nonnegative integer round and players' }, { status: 400 });
|
return json({ ok: false, error: 'Expected round_change, a server name, and nonnegative integer round and players' }, { status: 400 });
|
||||||
}
|
}
|
||||||
const server = getServer(body.server);
|
const server = getServer(body.server);
|
||||||
if (!server || server.destroyed_at) {
|
if (!server || server.destroyed_at) {
|
||||||
|
console.log(`[telemetry] rejected 404: unknown or destroyed server ${JSON.stringify(body.server)}`);
|
||||||
return json({ ok: false, error: 'Unknown or destroyed server' }, { status: 404 });
|
return json({ ok: false, error: 'Unknown or destroyed server' }, { status: 404 });
|
||||||
}
|
}
|
||||||
const telemetry = {
|
const telemetry = {
|
||||||
@@ -24,6 +28,7 @@ export async function POST({ request }: { request: Request }) {
|
|||||||
players: body.players as number, receivedAt: new Date().toISOString()
|
players: body.players as number, receivedAt: new Date().toISOString()
|
||||||
};
|
};
|
||||||
saveTelemetry(telemetry);
|
saveTelemetry(telemetry);
|
||||||
|
console.log(`[telemetry] accepted round_change ${JSON.stringify(telemetry)}`);
|
||||||
emit({ type: 'server-telemetry', entries: [telemetry] });
|
emit({ type: 'server-telemetry', entries: [telemetry] });
|
||||||
return json({ ok: true, telemetry });
|
return json({ ok: true, telemetry });
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user