Analytics: Skripte ausliefern
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
da8bba2a1c
commit
28c7a90d8b
3 files changed
+168
-1
No files matched your search
@@ -4,6 +4,7 @@ import { createIngest } from './ingest.js';
|
||||
import { createSalt } from './salt.js';
|
||||
import { createHeat } from './heat.js';
|
||||
import { computeStats } from './stats.js';
|
||||
import { createAssets } from './assets.js';
|
||||
|
||||
const MAX_ADMIN_BODY = 64 * 1024;
|
||||
const SITE_KEY = /^[a-z0-9]{16,40}$/;
|
||||
@@ -60,6 +61,7 @@ function validateSite(b) {
|
||||
function createHandlerServer({ config, db, role, geo, salt, now, onSitesChanged }) {
|
||||
const ingest = role === 'public' ? createIngest({ db, geo, salt: salt || createSalt({ now }), now }) : null;
|
||||
const heat = role === 'public' ? createHeat({ db, config, now }) : null;
|
||||
const assets = role === 'public' ? createAssets({ distDir: config.distDir }) : null;
|
||||
const clock = now || Date.now;
|
||||
const server = http.createServer(async (req, res) => {
|
||||
try {
|
||||
@@ -69,6 +71,7 @@ function createHandlerServer({ config, db, role, geo, salt, now, onSitesChanged
|
||||
|
||||
if (ingest && await ingest(req, res, url.pathname)) return;
|
||||
if (heat && heat(req, res, url)) return;
|
||||
if (assets && assets(req, res, url.pathname)) return;
|
||||
|
||||
if (method === 'GET' && url.pathname === '/a/health') return send(res, 200, { ok: true });
|
||||
|
||||
@@ -127,7 +130,7 @@ function createHandlerServer({ config, db, role, geo, salt, now, onSitesChanged
|
||||
return server;
|
||||
}
|
||||
|
||||
// Öffentlicher Listener: /a/health und /a/e (Erfassung); Admin-Routen gibt es hier nicht.
|
||||
// Öffentlicher Listener: /a/health, /a/e (Erfassung), /a/heat, /a/w.js und /a/h.js; Admin-Routen gibt es hier nicht.
|
||||
export const createPublicServer = ({ config, db, geo, salt, now }) => createHandlerServer({ config, db, role: 'public', geo, salt, now });
|
||||
// Interner Listener für die Website-Verwaltung.
|
||||
// onSitesChanged: wird nach jeder Änderung an Websites gerufen (public.invalidateSites()).
|
||||
|
||||
Reference in new issue
Block a user