SvelteKit's how to omit host address in fetch url under proxy

Viewed 502

I've configured proxy, so http://localhost:3000/api/articles goes to http://127.0.0.1:8000/articles

svelte.config.js:

const config = {
    kit: {
        target: '#svelte',
        vite: {
            server: {
                proxy: {
                    '/api': {
                        target: 'http://127.0.0.1:8000',
                        rewrite: (path) => path.replace(/^\/api/, ''),
                        changeOrigin: true,
                    }
                }
            }
        }
    }
};

And requests like this works just fine:

<script context="module">
    export const load = async ({ fetch }) => {
        const res = await fetch('http://localhost:3000/api/articles');
        ...
    }
</script>

But they do not work if host is omitted:

<script context="module">
    export const load = async ({ fetch }) => {
        const res = await fetch('/api/articles');
        ...
    }
</script>

res contains 404 error

Playing with https://kit.svelte.dev/docs#configuration-host did not help

So, is it possible to omit host in load's fetch under proxy?

0 Answers
Related