redesign the homepage
Build & Deploy / Build & Push Docker Image (push) Failing after 47s
Build & Deploy / Deploy to VPS (push) Has been skipped
Test / API Unit Tests (push) Failing after 5m4s
Test / Marketplace Unit Tests (push) Failing after 4m55s
Test / Admin Unit Tests (push) Successful in 9m37s
Test / Dashboard Unit Tests (push) Successful in 9m37s
Test / API Integration Tests (push) Successful in 9m54s

This commit is contained in:
root
2026-06-26 16:27:21 -04:00
parent 256ff0814e
commit d7fb7b7a7b
1030 changed files with 107374 additions and 2657 deletions
@@ -0,0 +1,9 @@
/**
* Accept JSON requests with optional media-type parameters while rejecting
* look-alike types such as application/jsonp or application/json-patch+json.
*/
export function isApplicationJson(contentType: string | null): boolean {
if (!contentType) return false;
const [mediaType] = contentType.split(';', 1);
return mediaType?.trim().toLowerCase() === 'application/json';
}
+25
View File
@@ -0,0 +1,25 @@
export function createNonce(): string {
return crypto.randomUUID().replaceAll('-', '');
}
export function buildContentSecurityPolicy(nonce: string, development: boolean): string {
const scriptSources = ["'self'", `'nonce-${nonce}'`, "'strict-dynamic'"];
if (development) scriptSources.push("'unsafe-eval'");
const directives = [
"default-src 'self'",
`script-src ${scriptSources.join(' ')}`,
`style-src 'self'${development ? " 'unsafe-inline'" : ` 'nonce-${nonce}'`}`,
"img-src 'self' data: blob:",
"font-src 'self' data:",
`connect-src 'self'${development ? ' ws: wss:' : ''}`,
"media-src 'self'",
"object-src 'none'",
"base-uri 'self'",
"form-action 'self'",
"frame-ancestors 'none'",
"worker-src 'self' blob:",
...(development ? [] : ['upgrade-insecure-requests']),
];
return directives.join('; ');
}