From ce93a6cff12a2f8b1c6367c9075099d04ff8fa65 Mon Sep 17 00:00:00 2001 From: Santosh Yadav Date: Sun, 3 Dec 2023 21:51:29 +0000 Subject: [PATCH 1/3] docs(router): add cookies example --- apps/docs-app/docs/features/api/overview.md | 42 +++++++++++++++++++ .../server-side-data-fetching.md | 4 +- 2 files changed, 44 insertions(+), 2 deletions(-) diff --git a/apps/docs-app/docs/features/api/overview.md b/apps/docs-app/docs/features/api/overview.md index 1afbdcc1a..8ce254d82 100644 --- a/apps/docs-app/docs/features/api/overview.md +++ b/apps/docs-app/docs/features/api/overview.md @@ -176,6 +176,48 @@ export default defineEventHandler((event) => { }); ``` +## Accessing Cookies + +Analog allows setting cookies reading them in your server side calls. + +### Setting cookies + +```ts +//(home).server.ts +import { setCookie } from 'h3'; +import { PageServerLoad } from '@analogjs/router'; + +import { Product } from '../products'; + +export const load = async ({ fetch, event }: PageServerLoad) => { + setCookie(event, 'test', 'test'); // setting the cookie + const products = await fetch('/api/v1/products'); + + return { + products: products, + }; +}; +``` + +### Reading cookies + +```ts +//index.server.ts +import { parseCookies } from 'h3'; +import { PageServerLoad } from '@analogjs/router'; + +export const load = async ({ event }: PageServerLoad) => { + console.log('shipping'); + const cookies = parseCookies(event); + + console.log('test cookie', cookies['test']); + + return { + shipping: true, + }; +}; +``` + ## More Info API routes are powered by [Nitro](https://nitro.unjs.io). See the Nitro docs for more examples around building API routes. diff --git a/apps/docs-app/docs/features/data-fetching/server-side-data-fetching.md b/apps/docs-app/docs/features/data-fetching/server-side-data-fetching.md index 897eaa54f..8eae946cc 100644 --- a/apps/docs-app/docs/features/data-fetching/server-side-data-fetching.md +++ b/apps/docs-app/docs/features/data-fetching/server-side-data-fetching.md @@ -42,7 +42,7 @@ Accessing the data fetched on the server can be done using the `injectLoad` func // src/app/pages/index.page.ts import { Component } from '@angular/core'; import { toSignal } from '@angular/core/rxjs-interop'; -import { LoadResult, injectLoad } from '@analogjs/router'; +import { injectLoad } from '@analogjs/router'; import { load } from './index.server'; // not included in client build @@ -85,7 +85,7 @@ Now to get the data in the component add an input called `load`. ```ts // src/app/pages/index.page.ts import { Component } from '@angular/core'; -import { LoadResult, injectLoad } from '@analogjs/router'; +import { LoadResult } from '@analogjs/router'; import { load } from './index.server'; // not included in client build From f94342a084b4d6470d33110585d878194add5dd8 Mon Sep 17 00:00:00 2001 From: Santosh Yadav Date: Mon, 4 Dec 2023 16:43:16 +0000 Subject: [PATCH 2/3] docs(router): fix review comments --- apps/docs-app/docs/features/api/overview.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/apps/docs-app/docs/features/api/overview.md b/apps/docs-app/docs/features/api/overview.md index 8ce254d82..3fb7b6a91 100644 --- a/apps/docs-app/docs/features/api/overview.md +++ b/apps/docs-app/docs/features/api/overview.md @@ -190,7 +190,7 @@ import { PageServerLoad } from '@analogjs/router'; import { Product } from '../products'; export const load = async ({ fetch, event }: PageServerLoad) => { - setCookie(event, 'test', 'test'); // setting the cookie + setCookie(event, 'products', 'loaded'); // setting the cookie const products = await fetch('/api/v1/products'); return { @@ -207,10 +207,9 @@ import { parseCookies } from 'h3'; import { PageServerLoad } from '@analogjs/router'; export const load = async ({ event }: PageServerLoad) => { - console.log('shipping'); const cookies = parseCookies(event); - console.log('test cookie', cookies['test']); + console.log('products cookie', cookies['products']); return { shipping: true, From 631d62963da173b90d60b307256ab827f088dc86 Mon Sep 17 00:00:00 2001 From: Brandon Roberts Date: Mon, 4 Dec 2023 11:21:11 -0600 Subject: [PATCH 3/3] chore: Update apps/docs-app/docs/features/api/overview.md --- apps/docs-app/docs/features/api/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs-app/docs/features/api/overview.md b/apps/docs-app/docs/features/api/overview.md index 3fb7b6a91..048e544c6 100644 --- a/apps/docs-app/docs/features/api/overview.md +++ b/apps/docs-app/docs/features/api/overview.md @@ -178,7 +178,7 @@ export default defineEventHandler((event) => { ## Accessing Cookies -Analog allows setting cookies reading them in your server side calls. +Analog allows setting and reading cookies in your server-side calls. ### Setting cookies