cookieBuilder = new CookieBuilder(cookie, header); } else { cookieBuilder.appendAttribute(nameBegin, nameEnd, valueBegin, valueEnd); return cookieBuilder != null ? cookieBuilder.cookie() : null;
private void parse6(int nameStart, int valueStart, int valueEnd) { if (header.regionMatches(true, nameStart, CookieHeaderNames.DOMAIN, 0, 5)) { domain = computeValue(valueStart, valueEnd); } else if (header.regionMatches(true, nameStart, CookieHeaderNames.SECURE, 0, 5)) { secure = true; } }
private String computeValue(int valueStart, int valueEnd) { return isValueDefined(valueStart, valueEnd) ? header.substring(valueStart, valueEnd) : null; } }
cookieBuilder = new CookieBuilder(cookie, header); } else { cookieBuilder.appendAttribute(nameBegin, nameEnd, valueBegin, valueEnd); return cookieBuilder != null ? cookieBuilder.cookie() : null;
cookieBuilder = new CookieBuilder(cookie, header); } else { cookieBuilder.appendAttribute(nameBegin, nameEnd, valueBegin, valueEnd); return cookieBuilder != null ? cookieBuilder.cookie() : null;
cookieBuilder = new CookieBuilder(cookie, header); } else { cookieBuilder.appendAttribute(nameBegin, nameEnd, valueBegin, valueEnd); return cookieBuilder != null ? cookieBuilder.cookie() : null;
cookieBuilder = new CookieBuilder(cookie, header); } else { cookieBuilder.appendAttribute(nameBegin, nameEnd, valueBegin, valueEnd); return cookieBuilder != null ? cookieBuilder.cookie() : null;
/** * Parse and store a key-value pair. First one is considered to be the * cookie name/value. Unknown attribute names are silently discarded. * * @param keyStart * where the key starts in the header * @param keyEnd * where the key ends in the header * @param valueStart * where the value starts in the header * @param valueEnd * where the value ends in the header */ void appendAttribute(int keyStart, int keyEnd, int valueStart, int valueEnd) { int length = keyEnd - keyStart; if (length == 4) { parse4(keyStart, valueStart, valueEnd); } else if (length == 6) { parse6(keyStart, valueStart, valueEnd); } else if (length == 7) { parse7(keyStart, valueStart, valueEnd); } else if (length == 8) { parse8(keyStart); } }
/** * Parse and store a key-value pair. First one is considered to be the * cookie name/value. Unknown attribute names are silently discarded. * * @param keyStart * where the key starts in the header * @param keyEnd * where the key ends in the header * @param valueStart * where the value starts in the header * @param valueEnd * where the value ends in the header */ void appendAttribute(int keyStart, int keyEnd, int valueStart, int valueEnd) { int length = keyEnd - keyStart; if (length == 4) { parse4(keyStart, valueStart, valueEnd); } else if (length == 6) { parse6(keyStart, valueStart, valueEnd); } else if (length == 7) { parse7(keyStart, valueStart, valueEnd); } else if (length == 8) { parse8(keyStart); } }
/** * Parse and store a key-value pair. First one is considered to be the * cookie name/value. Unknown attribute names are silently discarded. * * @param keyStart * where the key starts in the header * @param keyEnd * where the key ends in the header * @param valueStart * where the value starts in the header * @param valueEnd * where the value ends in the header */ void appendAttribute(int keyStart, int keyEnd, int valueStart, int valueEnd) { int length = keyEnd - keyStart; if (length == 4) { parse4(keyStart, valueStart, valueEnd); } else if (length == 6) { parse6(keyStart, valueStart, valueEnd); } else if (length == 7) { parse7(keyStart, valueStart, valueEnd); } else if (length == 8) { parse8(keyStart); } }
/** * Parse and store a key-value pair. First one is considered to be the * cookie name/value. Unknown attribute names are silently discarded. * * @param keyStart * where the key starts in the header * @param keyEnd * where the key ends in the header * @param valueStart * where the value starts in the header * @param valueEnd * where the value ends in the header */ void appendAttribute(int keyStart, int keyEnd, int valueStart, int valueEnd) { int length = keyEnd - keyStart; if (length == 4) { parse4(keyStart, valueStart, valueEnd); } else if (length == 6) { parse6(keyStart, valueStart, valueEnd); } else if (length == 7) { parse7(keyStart, valueStart, valueEnd); } else if (length == 8) { parse8(keyStart); } }
private long mergeMaxAgeAndExpires() { // max age has precedence over expires if (maxAge != Long.MIN_VALUE) { return maxAge; } else if (isValueDefined(expiresStart, expiresEnd)) { Date expiresDate = DateFormatter.parseHttpDate(header, expiresStart, expiresEnd); if (expiresDate != null) { long maxAgeMillis = expiresDate.getTime() - System.currentTimeMillis(); return maxAgeMillis / 1000 + (maxAgeMillis % 1000 != 0 ? 1 : 0); } } return Long.MIN_VALUE; }
private long mergeMaxAgeAndExpires() { // max age has precedence over expires if (maxAge != Long.MIN_VALUE) { return maxAge; } else if (isValueDefined(expiresStart, expiresEnd)) { Date expiresDate = DateFormatter.parseHttpDate(header, expiresStart, expiresEnd); if (expiresDate != null) { long maxAgeMillis = expiresDate.getTime() - System.currentTimeMillis(); return maxAgeMillis / 1000 + (maxAgeMillis % 1000 != 0 ? 1 : 0); } } return Long.MIN_VALUE; }
private String computeValue(int valueStart, int valueEnd) { return isValueDefined(valueStart, valueEnd) ? header.substring(valueStart, valueEnd) : null; } }
private void parse7(int nameStart, int valueStart, int valueEnd) { if (header.regionMatches(true, nameStart, CookieHeaderNames.EXPIRES, 0, 7)) { expiresStart = valueStart; expiresEnd = valueEnd; } else if (header.regionMatches(true, nameStart, CookieHeaderNames.MAX_AGE, 0, 7)) { setMaxAge(computeValue(valueStart, valueEnd)); } }
Cookie cookie() { cookie.setDomain(domain); cookie.setPath(path); cookie.setMaxAge(mergeMaxAgeAndExpires()); cookie.setSecure(secure); cookie.setHttpOnly(httpOnly); return cookie; }
private void parse7(int nameStart, int valueStart, int valueEnd) { if (header.regionMatches(true, nameStart, CookieHeaderNames.EXPIRES, 0, 7)) { expiresStart = valueStart; expiresEnd = valueEnd; } else if (header.regionMatches(true, nameStart, CookieHeaderNames.MAX_AGE, 0, 7)) { setMaxAge(computeValue(valueStart, valueEnd)); } }
private void parse4(int nameStart, int valueStart, int valueEnd) { if (header.regionMatches(true, nameStart, CookieHeaderNames.PATH, 0, 4)) { path = computeValue(valueStart, valueEnd); } }
private String computeValue(int valueStart, int valueEnd) { return isValueDefined(valueStart, valueEnd) ? header.substring(valueStart, valueEnd) : null; } }
private void parse7(int nameStart, int valueStart, int valueEnd) { if (header.regionMatches(true, nameStart, CookieHeaderNames.EXPIRES, 0, 7)) { expiresStart = valueStart; expiresEnd = valueEnd; } else if (header.regionMatches(true, nameStart, CookieHeaderNames.MAX_AGE, 0, 7)) { setMaxAge(computeValue(valueStart, valueEnd)); } }