setCookie in api routes

setCookie works fine in a server function but when proxing requests through an api route, setCookie does not work. Is there a context or something additional needed to set secure http cookies?

import { SplatParams } from "@tanstack/react-router";
import { createAPIFileRoute } from "@tanstack/start/api";
import { setCookie } from "vinxi/http";

function proxyRequest(request: Request, params: SplatParams) {
  const proxiedUrl = new URL("http://localhost:8080");
  proxiedUrl.pathname = params._splat as string;
  const proxiedRequest = new Request(proxiedUrl.toString(), request);
  return fetch(proxiedRequest);
}

export const Route = createAPIFileRoute("/api/proxy/$")({
  GET: async ({ request, params }) => {
    const resp = await proxyRequest(request, params);
    return resp;
  },
  PATCH: async ({ request, params }) => {
    return proxyRequest(request, params);
  },
  DELETE: async ({ request, params }) => {
    return proxyRequest(request, params);
  },
  PUT: async ({ request, params }) => {
    return proxyRequest(request, params);
  },
  POST: async ({ request, params }) => {
    setCookie("key", "value"); <---- This is not setting the cookie
    return proxyRequest(request, params);
  }
});
Was this page helpful?