pass server request object to preload

This commit is contained in:
Rich Harris
2017-12-30 17:31:07 -05:00
parent 502dd547d1
commit b66f624f01
3 changed files with 18 additions and 1 deletions

View File

@@ -151,7 +151,7 @@ function get_route_handler(fn) {
const data = { params: req.params, query: req.query };
if (mod.preload) {
const promise = Promise.resolve(mod.preload(data)).then(preloaded => {
const promise = Promise.resolve(mod.preload(req)).then(preloaded => {
Object.assign(data, preloaded);
return mod.render(data);
});

View File

@@ -0,0 +1,9 @@
<p>URL is {{url}}</p>
<script>
export default {
preload({ url }) {
return { url };
}
};
</script>

View File

@@ -267,6 +267,14 @@ function run(env) {
'About this site'
);
});
it('passes entire request object to preload', async () => {
const html = await nightmare
.goto(`${base}/show-url`)
.evaluate(() => document.querySelector('p').innerHTML);
assert.equal(html, `URL is /show-url`);
});
});
describe('headers', () => {