All files / src/http/utility build-cookie.ts

28.57% Statements 2/7
100% Branches 0/0
0% Functions 0/1
28.57% Lines 2/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 212x                                     2x  
import CookieAttribute from 'http/enum/cookie-attribute';
 
function buildCookie(session_id: string, duration: number): string {
	const expiration_timestamp = Date.now() + duration;
	const expiration_date = new Date(expiration_timestamp);
	const expiration_string = expiration_date.toUTCString();
 
	const cookie_parts = [
		`${CookieAttribute.SESSION}=${session_id}`,
		`${CookieAttribute.PATH}=/`,
		`${CookieAttribute.EXPIRES}=${expiration_string}`,
		`${CookieAttribute.SAMESITE}=none`,
		CookieAttribute.HTTPONLY,
		CookieAttribute.SECURE
	];
 
	return cookie_parts.join('; ');
}
 
export default buildCookie;