From b7f172eecf35e8ec4b3bc8b6c8663bf7d361ceb7 Mon Sep 17 00:00:00 2001 From: Dmitriy Din Date: Wed, 12 Feb 2025 20:58:36 +0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=91=80=20Trying=20to=20add=20redirect=20f?= =?UTF-8?q?unctionality?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/index.ts | 6 +++ .../src/routes/redirectTest/+page.svelte | 13 ++++++ .../src/routes/redirectTest/+server.ts | 41 +++++++++++++++++++ .../src/routes/redirectTest/in/+page.svelte | 1 + 4 files changed, 61 insertions(+) create mode 100644 tests/sveltekit/src/routes/redirectTest/+page.svelte create mode 100644 tests/sveltekit/src/routes/redirectTest/+server.ts create mode 100644 tests/sveltekit/src/routes/redirectTest/in/+page.svelte diff --git a/src/server/index.ts b/src/server/index.ts index 5cd7499..b8339cd 100644 --- a/src/server/index.ts +++ b/src/server/index.ts @@ -429,6 +429,12 @@ export class Composer { result }); } catch (e) { + + if (e?.status?.toString()?.startsWith('3')){ + console.log('throw') + throw e + } + (this.config?.onError ?? console.error)(e, req); return buildError({ code: ErrorCode.InternalError, diff --git a/tests/sveltekit/src/routes/redirectTest/+page.svelte b/tests/sveltekit/src/routes/redirectTest/+page.svelte new file mode 100644 index 0000000..11fbaaf --- /dev/null +++ b/tests/sveltekit/src/routes/redirectTest/+page.svelte @@ -0,0 +1,13 @@ + + + + \ No newline at end of file diff --git a/tests/sveltekit/src/routes/redirectTest/+server.ts b/tests/sveltekit/src/routes/redirectTest/+server.ts new file mode 100644 index 0000000..c10c592 --- /dev/null +++ b/tests/sveltekit/src/routes/redirectTest/+server.ts @@ -0,0 +1,41 @@ +import { json } from '@sveltejs/kit'; +import { Composer, rpc, depends } from '../../../../../src/'; +import { sveltekitMiddleware } from '../../../../../src/middlewares'; +import { redirect } from '@sveltejs/kit'; + + +class Crud { + + @rpc() + pong() { + return 'pong' + } + + @rpc() + async ping() { + throw redirect(303, '/redirectTest/in') + } +} + +// function testMode() { +// return async function h(event, ctx, next) { +// console.log(event, ctx, ) +// return buildResponse({request: event.raw, result: 'hello!!!!'}) +// } +// } + + + + +const composer = Composer.init({ Crud: new Crud() }); + +composer.use(sveltekitMiddleware()); + +export type Client = typeof composer.clientType; + + +export async function POST(event) { + // event.locals.username = event.cookies.get('username') + // return json(await composer.exec(event)); + throw redirect(303, '/redirectTest/in') +} diff --git a/tests/sveltekit/src/routes/redirectTest/in/+page.svelte b/tests/sveltekit/src/routes/redirectTest/in/+page.svelte new file mode 100644 index 0000000..453b596 --- /dev/null +++ b/tests/sveltekit/src/routes/redirectTest/in/+page.svelte @@ -0,0 +1 @@ + \ No newline at end of file