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
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:
@@ -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';
|
||||
}
|
||||
@@ -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('; ');
|
||||
}
|
||||
Reference in New Issue
Block a user