diff --git a/src/api/export.ts b/src/api/export.ts index 921b51d..8188ad7 100644 --- a/src/api/export.ts +++ b/src/api/export.ts @@ -18,6 +18,7 @@ type Opts = { cwd?: string, static?: string, basepath?: string, + host_header?: string, timeout?: number | false, concurrent?: number, oninfo?: ({ message }: { message: string }) => void; @@ -44,6 +45,7 @@ async function _export({ build_dir = '__sapper__/build', export_dir = '__sapper__/export', basepath = '', + host_header, timeout = 5000, concurrent = 8, oninfo = noop, @@ -140,6 +142,7 @@ async function _export({ const r = await Promise.race([ fetch(url.href, { + headers: { host: host_header || host }, redirect: 'manual' }), timeout_deferred.promise diff --git a/src/cli.ts b/src/cli.ts index 045bd36..2ff4f1c 100755 --- a/src/cli.ts +++ b/src/cli.ts @@ -194,6 +194,7 @@ prog.command('export [dest]') .describe('Export your app as static files (if possible)') .option('--build', '(Re)build app before exporting', true) .option('--basepath', 'Specify a base path') + .option('--host', 'Host header to use when crawling site') .option('--concurrent', 'Concurrent requests', 8) .option('--timeout', 'Milliseconds to wait for a page (--no-timeout to disable)', 5000) .option('--legacy', 'Create separate legacy build') @@ -210,6 +211,7 @@ prog.command('export [dest]') legacy: boolean, bundler?: 'rollup' | 'webpack', basepath?: string, + host?: string, concurrent: number, timeout: number | false, cwd: string, @@ -236,6 +238,7 @@ prog.command('export [dest]') build_dir: opts['build-dir'], export_dir: dest, basepath: opts.basepath, + host_header: opts.host, timeout: opts.timeout, concurrent: opts.concurrent,