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
2018-08-06 20:19:16 -07:00

29 lines
741 B
JavaScript

import Document, { Head, Main, NextScript } from 'next/document'
const inlineScript = (body, nonce) => (
<script type='text/javascript' dangerouslySetInnerHTML={{ __html: body }} nonce={nonce} />
)
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>
)
}
}