next-firebase-auth-edge
Version:
Next.js Firebase Authentication for Edge and server runtimes. Compatible with latest Next.js features.
20 lines (19 loc) • 1.08 kB
JavaScript
import { CookieParserFactory } from '../parser/CookieParserFactory.js';
import { CombinedCookieRemover } from './CombinedCookieRemover';
import { MultipleCookieRemover } from './MultipleCookieRemover';
import { SingleCookieRemover } from './SingleCookieRemover';
export class CookieRemoverFactory {
static fromRequestCookies(cookies, provider, cookieName) {
const singleCookie = provider.get(cookieName);
const hasEnabledMultipleCookies = CookieParserFactory.hasMultipleCookies(provider, cookieName);
const hasEnabledLegacyMultipleCookies = CookieParserFactory.hasLegacyMultipleCookies(provider, cookieName);
if (singleCookie &&
(hasEnabledMultipleCookies || hasEnabledLegacyMultipleCookies)) {
return new CombinedCookieRemover(new MultipleCookieRemover(cookieName, cookies), new SingleCookieRemover(cookieName, cookies));
}
if (hasEnabledMultipleCookies) {
return new MultipleCookieRemover(cookieName, cookies);
}
return new SingleCookieRemover(cookieName, cookies);
}
}