Spaces:
Running
Running
File size: 2,551 Bytes
5fd8183 3ea9c87 5fd8183 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
import { respond } from './kit.js';
import root from './generated/root.svelte';
import { set_paths, assets, base } from './runtime/paths.js';
import { set_prerendering } from './runtime/env.js';
import * as user_hooks from "../../src/hooks.js";
const template = ({ head, body, assets }) => "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<meta charset=\"utf-8\" />\n\t\t<meta name=\"description\" content=\"Svelte demo app\" />\n\t\t<link rel=\"icon\" href=\"" + assets + "/favicon.png\" />\n\t\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n\t\t" + head + "\n\t</head>\n\t<body>\n\t\t<div id=\"svelte\">" + body + "</div>\n\t</body>\n</html>\n";
let read = null;
set_paths({"base":"/staticspaceiframe/pngwn/static-test/build","assets":""});
// this looks redundant, but the indirection allows us to access
// named imports without triggering Rollup's missing import detection
const get_hooks = hooks => ({
getSession: hooks.getSession || (() => ({})),
handle: hooks.handle || (({ request, resolve }) => resolve(request)),
handleError: hooks.handleError || (({ error }) => console.error(error.stack)),
externalFetch: hooks.externalFetch || fetch
});
let default_protocol = 'https';
// allow paths to be globally overridden
// in svelte-kit preview and in prerendering
export function override(settings) {
default_protocol = settings.protocol || default_protocol;
set_paths(settings.paths);
set_prerendering(settings.prerendering);
read = settings.read;
}
export class App {
constructor(manifest) {
const hooks = get_hooks(user_hooks);
this.options = {
amp: false,
dev: false,
floc: false,
get_stack: error => String(error), // for security
handle_error: (error, request) => {
hooks.handleError({ error, request });
error.stack = this.options.get_stack(error);
},
hooks,
hydrate: true,
manifest,
paths: { base, assets },
prefix: assets + '/_app/',
prerender: true,
read,
root,
service_worker: null,
router: true,
ssr: true,
target: "#svelte",
template,
trailing_slash: "never"
};
}
render(request, {
prerender
} = {}) {
// TODO remove this for 1.0
if (Object.keys(request).sort().join() !== 'headers,method,rawBody,url') {
throw new Error('Adapters should call app.render({ url, method, headers, rawBody })');
}
const host = request.headers["host"];
const protocol = default_protocol;
return respond({ ...request, url: new URL(request.url, protocol + '://' + host) }, this.options, { prerender });
}
}
|