mirror of
https://github.com/hanzoai/next.js.git
synced 2026-09-24 17:00:51 +00:00
30 lines
676 B
JavaScript
30 lines
676 B
JavaScript
import { headers } from 'next/headers'
|
|
import { Suspense } from 'react'
|
|
|
|
async function CSPMetatag({ children }) {
|
|
const resolvedHeaders = await headers()
|
|
const nonce = resolvedHeaders.get('x-nonce') || 'test-nonce'
|
|
|
|
return (
|
|
<meta
|
|
httpEquiv="Content-Security-Policy"
|
|
content={`default-src 'self'; script-src 'self' 'nonce-${nonce}'; style-src 'self' 'unsafe-inline'`}
|
|
/>
|
|
)
|
|
}
|
|
|
|
export default async function RootLayout({ children }) {
|
|
return (
|
|
<html>
|
|
<Suspense>
|
|
<head>
|
|
<CSPMetatag />
|
|
</head>
|
|
<body>
|
|
<div id="csp-nonce-test">{children}</div>
|
|
</body>
|
|
</Suspense>
|
|
</html>
|
|
)
|
|
}
|