import { createError, defineEventHandler, getRouterParam, setResponseStatus, } from "h3"; import { dropStore, DropStoreError } from "../../../utils/drop-store"; import { bearerToken, publicHeaders, readBounded } from "../../../utils/http"; export default defineEventHandler(async (event) => { publicHeaders(event); if ((await readBounded(event, 0)).byteLength) throw createError({ statusCode: 400, statusMessage: "Completion body must be empty.", }); const token = bearerToken(event); if (!token) throw createError({ statusCode: 403, statusMessage: "A valid lease is required.", }); try { await dropStore.complete( String(getRouterParam(event, "id") || "").toUpperCase(), token, ); } catch (error) { if (!(error instanceof DropStoreError)) throw error; /* Completion is deliberately idempotent: an already completed, expired, or unknown lease has the desired state. */ } setResponseStatus(event, 204); });