9a50e926e3
* Add document middleware * Update tests * Apply suggestions from code review Co-Authored-By: Luis Fernando Alvarez D. <luis@zeit.co>
32 lines
750 B
JavaScript
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
|