1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00
next.js/examples/with-strict-csp/pages/_document.js

33 lines
755 B
JavaScript
Raw Normal View History

2018-08-07 03:19:16 +00:00
import Document, { Head, Main, NextScript } from 'next/document'
const inlineScript = (body, nonce) => (
<script
type='text/javascript'
dangerouslySetInnerHTML={{ __html: body }}
nonce={nonce}
/>
2018-08-07 03:19:16 +00:00
)
export default class MyDocument extends Document {
static async getInitialProps (ctx) {
const initialProps = await Document.getInitialProps(ctx)
const { nonce } = ctx.res.locals
return { ...initialProps, nonce }
}
render () {
const { nonce } = this.props
return (
<html>
<Head nonce={nonce}>
{inlineScript(`console.log('Inline script with nonce')`, nonce)}
</Head>
<body>
<Main />
<NextScript nonce={nonce} />
</body>
</html>
)
}
}