Refine search
private void addCookies(final Request request, final HttpRequestPacket requestPacket) { final Collection<Cookie> cookies = request.getCookies(); if (MiscUtils.isNonEmpty(cookies)) { StringBuilder sb = new StringBuilder(128); org.glassfish.grizzly.http.Cookie[] gCookies = new org.glassfish.grizzly.http.Cookie[cookies.size()]; convertCookies(cookies, gCookies); CookieSerializerUtils.serializeClientCookies(sb, gCookies); requestPacket.addHeader(Header.Cookie, sb.toString()); } }
public static void serializeServerCookie(StringBuilder buf, Cookie cookie) { serializeServerCookie(buf, COOKIE_VERSION_ONE_STRICT_COMPLIANCE, RFC_6265_SUPPORT_ENABLED, ALWAYS_ADD_EXPIRES, cookie); }
/** * Quotes values using rules that vary depending on Cookie version. * @param version * @param buf * @param value */ public static int maybeQuote2(int version, Buffer buf, String value, boolean versionOneStrictCompliance) { return maybeQuote2(version, buf, value, false, versionOneStrictCompliance); }
put(buf, name); put(buf, '='); version = maybeQuote2(version, buf, value, true); put(buf, "; Version=1"); put(buf, "; Comment="); maybeQuote2(version, buf, comment, versionOneStrictCompliance); put(buf, "; Domain="); maybeQuote2(version, buf, domain, versionOneStrictCompliance); put(buf, "; Max-Age="); putInt(buf, maxAge); put(buf, "; Expires="); put(buf, ancientDate); } else { put(buf, OLD_COOKIE_FORMAT.get().format( new Date(System.currentTimeMillis() put(buf, "; Path="); maybeQuote2(version, buf, path, versionOneStrictCompliance); } else { maybeQuote2(version, buf, path, tspecials2NoSlash, false, versionOneStrictCompliance);
final int version = cookies[0].getVersion(); put(buf, "$Version=\"1\"; "); final Cookie cookie = cookies[i]; put(buf, cookie.getName()); put(buf, "="); maybeQuote2(version, buf, cookie.getValue(), true); final String domain = cookie.getDomain(); if (domain != null) { put(buf, "; $Domain="); maybeQuote2(version, buf, domain, versionOneStrictCompliance); String path = cookie.getPath(); if (path != null) { put(buf, "; $Path="); path = encoder.encodeURL(path, true); maybeQuote2(version, buf, path, tspecials2NoSlash, false, versionOneStrictCompliance); put(buf, "; ");
/** * This will create a unique SessionId, Max-Age,Version,Path to be added to the Set-Cookie header * @return Set-Cookie2 header */ public String getCookieHeader(Request req) { String sessionId = null; // If the request has a Cookie header and // there is no failover then send back the same // JSESSIONID in Set-Cookie2 header if ( hasCookieHeader(req)) { sessionId = getJSESSIONIDHeaders(req)[1]; } else { //There is no Cookie header in request so generate a new JSESSIONID or //failover has occured in which case you can generate a new JSESSIONID sessionId = createSessionId(); } StringBuilder sb = new StringBuilder(); final Cookie cookie = new Cookie(SESSION_COOKIE_NAME, sessionId); cookie.setMaxAge(MAX_AGE); cookie.setPath(ASADMIN_PATH); cookie.setVersion(1); CookieSerializerUtils.serializeServerCookie(sb, true, false, false, cookie); return sb.toString(); }
return; String name = cookie.getName(); final String headername = Header.SetCookie.toString(); final String startsWith = name + "="; CookieSerializerUtils.serializeServerCookie(sb, cookie);
public static int maybeQuote2(int version, Buffer buf, String value, String literals, boolean allowVersionSwitch, boolean versionOneStrictCompliance) { if (value == null || value.length() == 0) { put(buf, "\"\""); } else if (containsCTL(value, version)) { throw new IllegalArgumentException("Control character in cookie value, consider BASE64 encoding your value"); } else if (alreadyQuoted(value)) { put(buf, '"'); put(buf, escapeDoubleQuotes(value, 1, value.length() - 1)); put(buf, '"'); } else if (allowVersionSwitch && versionOneStrictCompliance && version == 0 && !isToken2(value, literals)) { put(buf, '"'); put(buf, escapeDoubleQuotes(value, 0, value.length())); put(buf, '"'); version = 1; } else if (version == 0 && !isToken(value, literals)) { put(buf, '"'); put(buf, escapeDoubleQuotes(value, 0, value.length())); put(buf, '"'); } else if (version == 1 && !isToken2(value, literals)) { put(buf, '"'); put(buf, escapeDoubleQuotes(value, 0, value.length())); put(buf, '"'); } else { put(buf, value); } return version; }
} else if (containsCTL(value, version)) { throw new IllegalArgumentException("Control character in cookie value, consider BASE64 encoding your value"); } else if (alreadyQuoted(value)) { buf.append('"'); buf.append(escapeDoubleQuotes(value, 1, value.length() - 1)); buf.append('"'); } else if (allowVersionSwitch && versionOneStrictCompliance && version == 0 && !isToken2(value, literals)) { buf.append('"'); buf.append(escapeDoubleQuotes(value, 0, value.length())); buf.append('"'); version = 1; } else if (version == 0 && !isToken(value, literals)) { buf.append('"'); buf.append(escapeDoubleQuotes(value, 0, value.length())); buf.append('"'); } else if (version == 1 && !isToken2(value, literals)) { buf.append('"'); buf.append(escapeDoubleQuotes(value, 0, value.length())); buf.append('"'); } else if (version < 0 && rfc6265Enabled) { buf.append('"'); buf.append(escapeDoubleQuotes(value, 0, value.length())); buf.append('"'); } else {
static void putInt(Buffer dstBuffer, int intValue) { put(dstBuffer, Integer.toString(intValue)); }
put(buf, name); put(buf, '='); version = maybeQuote2(version, buf, value, true); put(buf, "; Version=1"); put(buf, "; Comment="); maybeQuote2(version, buf, comment, versionOneStrictCompliance); put(buf, "; Domain="); maybeQuote2(version, buf, domain, versionOneStrictCompliance); put(buf, "; Max-Age="); putInt(buf, maxAge); put(buf, "; Expires="); put(buf, ancientDate); } else { put(buf, OLD_COOKIE_FORMAT.get().format( new Date(System.currentTimeMillis() put(buf, "; Path="); maybeQuote2(version, buf, path, versionOneStrictCompliance); } else { maybeQuote2(version, buf, path, tspecials2NoSlash, false, versionOneStrictCompliance);
final int version = cookies[0].getVersion(); put(buf, "$Version=\"1\"; "); final Cookie cookie = cookies[i]; put(buf, cookie.getName()); put(buf, "="); maybeQuote2(version, buf, cookie.getValue(), true); final String domain = cookie.getDomain(); if (domain != null) { put(buf, "; $Domain="); maybeQuote2(version, buf, domain, versionOneStrictCompliance); String path = cookie.getPath(); if (path != null) { put(buf, "; $Path="); path = encoder.encodeURL(path, true); maybeQuote2(version, buf, path, tspecials2NoSlash, false, versionOneStrictCompliance); put(buf, "; ");
return; String name = cookie.getName(); final String headername = Header.SetCookie.toString(); final String startsWith = name + "="; CookieSerializerUtils.serializeServerCookie(sb, cookie);
public static int maybeQuote2(int version, Buffer buf, String value, String literals, boolean allowVersionSwitch, boolean versionOneStrictCompliance) { if (value == null || value.length() == 0) { put(buf, "\"\""); } else if (containsCTL(value, version)) { throw new IllegalArgumentException("Control character in cookie value, consider BASE64 encoding your value"); } else if (alreadyQuoted(value)) { put(buf, '"'); put(buf, escapeDoubleQuotes(value, 1, value.length() - 1)); put(buf, '"'); } else if (allowVersionSwitch && versionOneStrictCompliance && version == 0 && !isToken2(value, literals)) { put(buf, '"'); put(buf, escapeDoubleQuotes(value, 0, value.length())); put(buf, '"'); version = 1; } else if (version == 0 && !isToken(value, literals)) { put(buf, '"'); put(buf, escapeDoubleQuotes(value, 0, value.length())); put(buf, '"'); } else if (version == 1 && !isToken2(value, literals)) { put(buf, '"'); put(buf, escapeDoubleQuotes(value, 0, value.length())); put(buf, '"'); } else { put(buf, value); } return version; }
} else if (containsCTL(value, version)) { throw new IllegalArgumentException("Control character in cookie value, consider BASE64 encoding your value"); } else if (alreadyQuoted(value)) { buf.append('"'); buf.append(escapeDoubleQuotes(value, 1, value.length() - 1)); buf.append('"'); } else if (allowVersionSwitch && versionOneStrictCompliance && version == 0 && !isToken2(value, literals)) { buf.append('"'); buf.append(escapeDoubleQuotes(value, 0, value.length())); buf.append('"'); version = 1; } else if (version == 0 && !isToken(value, literals)) { buf.append('"'); buf.append(escapeDoubleQuotes(value, 0, value.length())); buf.append('"'); } else if (version == 1 && !isToken2(value, literals)) { buf.append('"'); buf.append(escapeDoubleQuotes(value, 0, value.length())); buf.append('"'); } else if (version < 0 && rfc6265Enabled) { buf.append('"'); buf.append(escapeDoubleQuotes(value, 0, value.length())); buf.append('"'); } else {
static void putInt(Buffer dstBuffer, int intValue) { put(dstBuffer, Integer.toString(intValue)); }
put(buf, name); put(buf, '='); version = maybeQuote2(version, buf, value, true); put(buf, "; Version=1"); put(buf, "; Comment="); maybeQuote2(version, buf, comment, versionOneStrictCompliance); put(buf, "; Domain="); maybeQuote2(version, buf, domain, versionOneStrictCompliance); put(buf, "; Max-Age="); putInt(buf, maxAge); put(buf, "; Expires="); put(buf, ancientDate); } else { put(buf, OLD_COOKIE_FORMAT.get().format( new Date(System.currentTimeMillis() put(buf, "; Path="); maybeQuote2(version, buf, path, versionOneStrictCompliance); } else { maybeQuote2(version, buf, path, tspecials2NoSlash, false, versionOneStrictCompliance);
final int version = cookies[0].getVersion(); put(buf, "$Version=\"1\"; "); final Cookie cookie = cookies[i]; put(buf, cookie.getName()); put(buf, "="); maybeQuote2(version, buf, cookie.getValue(), true); final String domain = cookie.getDomain(); if (domain != null) { put(buf, "; $Domain="); maybeQuote2(version, buf, domain, versionOneStrictCompliance); String path = cookie.getPath(); if (path != null) { put(buf, "; $Path="); path = encoder.encodeURL(path, true); maybeQuote2(version, buf, path, tspecials2NoSlash, false, versionOneStrictCompliance); put(buf, "; ");
return; String name = cookie.getName(); final String headername = Header.SetCookie.toString(); final String startsWith = name + "="; CookieSerializerUtils.serializeServerCookie(sb, cookie);
public static int maybeQuote2(int version, Buffer buf, String value, String literals, boolean allowVersionSwitch, boolean versionOneStrictCompliance) { if (value == null || value.length() == 0) { put(buf, "\"\""); } else if (containsCTL(value, version)) { throw new IllegalArgumentException("Control character in cookie value, consider BASE64 encoding your value"); } else if (alreadyQuoted(value)) { put(buf, '"'); put(buf, escapeDoubleQuotes(value, 1, value.length() - 1)); put(buf, '"'); } else if (allowVersionSwitch && versionOneStrictCompliance && version == 0 && !isToken2(value, literals)) { put(buf, '"'); put(buf, escapeDoubleQuotes(value, 0, value.length())); put(buf, '"'); version = 1; } else if (version == 0 && !isToken(value, literals)) { put(buf, '"'); put(buf, escapeDoubleQuotes(value, 0, value.length())); put(buf, '"'); } else if (version == 1 && !isToken2(value, literals)) { put(buf, '"'); put(buf, escapeDoubleQuotes(value, 0, value.length())); put(buf, '"'); } else { put(buf, value); } return version; }