rsnext/test/integration/document-middleware/pages/_document.js
JJ Kasper 9a50e926e3 Add document middleware (#7209)
* Add document middleware

* Update tests

* Apply suggestions from code review

Co-Authored-By: Luis Fernando Alvarez D. <luis@zeit.co>
2019-05-23 19:05:08 -07:00

32 lines
750 B
JavaScript

import Document, { Html, Head, Main, NextScript } from 'next/document'
export async function middleware ({ req, res }) {
if (req.url === '/another') {
res.setHeader('next-middleware', 'hit another!')
return res.end()
}
res.setHeader('next-middleware', 'hi from middleware')
}
class MyDocument extends Document {
static async getInitialProps (ctx) {
const initialProps = await Document.getInitialProps(ctx)
return { ...initialProps }
}
render () {
return (
<Html>
<Head>
<style>{`body { margin: 0 } /* custom! */`}</style>
</Head>
<body className='custom_class'>
<Main />
<NextScript />
</body>
</Html>
)
}
}
export default MyDocument