protected String buildHeaderValue(String name, String value, String comment, String domain, String path, int maxAge, int version, boolean secure, boolean httpOnly) { if (!StringUtils.hasText(name)) { throw new IllegalStateException("Cookie name cannot be null/empty."); } StringBuilder sb = new StringBuilder(name).append(NAME_VALUE_DELIMITER); if (StringUtils.hasText(value)) { sb.append(value); } appendComment(sb, comment); appendDomain(sb, domain); appendPath(sb, path); appendExpires(sb, maxAge); appendVersion(sb, version); appendSecure(sb, secure); appendHttpOnly(sb, httpOnly); return sb.toString(); }