cart Set Id Default
Creates a function that returns a header with a Set-Cookie on the cart ID.
Anchor to cartSetIdDefault-parametersParameters
- CookieOptions
CookieOptions
- maxage
number - expires
string | number | Date - samesite
"Lax" | "Strict" | "None" - secure
boolean - httponly
boolean - domain
string - path
string
{
maxage?: number;
expires?: Date | number | string;
samesite?: 'Lax' | 'Strict' | 'None';
secure?: boolean;
httponly?: boolean;
domain?: string;
path?: string;
}Examples
JavaScript
import {json} from '@remix-run/server-runtime';
import {cartGetIdDefault, cartSetIdDefault} from '@shopify/hydrogen';
// server.js
export default {
async fetch(request) {
const cart = createCartHandler({
storefront,
getCartId: cartGetIdDefault(request.headers),
setCartId: cartSetIdDefault(), // defaults to session cookie
// setCartId: cartSetIdDefault({maxage: 60 * 60 * 24 * 365}), // 1 year expiry
});
},
};
// Some route
export async function action({context}) {
const {cart} = context;
// Usage
const result = await cart.updateNote('Some note');
const headers = cart.setCartId(result.cart.id);
return json(result, {headers});
}
Examples
example
Description
This is the default example
JavaScript
import {json} from '@remix-run/server-runtime'; import {cartGetIdDefault, cartSetIdDefault} from '@shopify/hydrogen'; // server.js export default { async fetch(request) { const cart = createCartHandler({ storefront, getCartId: cartGetIdDefault(request.headers), setCartId: cartSetIdDefault(), // defaults to session cookie // setCartId: cartSetIdDefault({maxage: 60 * 60 * 24 * 365}), // 1 year expiry }); }, }; // Some route export async function action({context}) { const {cart} = context; // Usage const result = await cart.updateNote('Some note'); const headers = cart.setCartId(result.cart.id); return json(result, {headers}); }
Was this page helpful?