public void addCookie()

in aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/servlet/AwsHttpServletResponse.java [101:132]


    public void addCookie(Cookie cookie) {
        if (request != null && request.getDispatcherType() == DispatcherType.INCLUDE && isCommitted()) {
            throw new IllegalStateException("Cannot add Cookies for include request when response is committed");
        }
        String cookieData = cookie.getName() + "=" + cookie.getValue();
        if (cookie.getPath() != null) {
            cookieData += "; Path=" + cookie.getPath();
        }
        if (cookie.getSecure()) {
            cookieData += "; Secure";
        }
        if (cookie.isHttpOnly()) {
            cookieData += "; HttpOnly";
        }
        if (cookie.getDomain() != null && !"".equals(cookie.getDomain().trim())) {
            cookieData += "; Domain=" + cookie.getDomain();
        }

        if (cookie.getMaxAge() > 0) {
            cookieData += "; Max-Age=" + cookie.getMaxAge();

            // we always set the timezone to GMT
            TimeZone gmtTimeZone = TimeZone.getTimeZone(COOKIE_DEFAULT_TIME_ZONE);
            Calendar currentTimestamp = Calendar.getInstance(gmtTimeZone);
            currentTimestamp.add(Calendar.SECOND, cookie.getMaxAge());
            SimpleDateFormat cookieDateFormatter = new SimpleDateFormat(HEADER_DATE_PATTERN);
            cookieDateFormatter.setTimeZone(gmtTimeZone);
            cookieData += "; Expires=" + cookieDateFormatter.format(currentTimestamp.getTime());
        }

        setHeader(HttpHeaders.SET_COOKIE, cookieData, false);
    }