public RuntimeDelegateImpl() { headerProviders.put(MediaType.class, new MediaTypeHeaderProvider()); headerProviders.put(CacheControl.class, new CacheControlHeaderProvider()); headerProviders.put(EntityTag.class, new EntityTagHeaderProvider()); headerProviders.put(Cookie.class, new CookieHeaderProvider()); headerProviders.put(NewCookie.class, new NewCookieHeaderProvider()); headerProviders.put(Link.class, new LinkHeaderProvider()); }
protected String getSeparator() { String separator = DEFAULT_SEPARATOR; Message message = getCurrentMessage(); if (message != null) { Object sepProperty = message.getContextualProperty(CACHE_CONTROL_SEPARATOR_PROPERTY); if (sepProperty != null) { separator = sepProperty.toString().trim(); if (separator.length() != 1) { throw ExceptionUtils.toInternalServerErrorException(null, null); } } } return separator; }
private String[] getTokens(String c) { if (c == null) { throw new IllegalArgumentException(); } if (c.contains("\"")) { List<String> values = new ArrayList<>(4); Matcher m = COMPLEX_HEADER_PATTERN.matcher(c); while (m.find()) { String val = m.group().trim(); if (val.length() > 0) { values.add(val); } } return values.toArray(new String[0]); } String separator = getSeparator(); return c.split(separator); }
public String toString(CacheControl c) { String separator = getSeparator(); handleFields(c.getPrivateFields(), sb); sb.append(separator); handleFields(c.getNoCacheFields(), sb); sb.append(separator);
Map<String, String> extensions = new HashMap<>(); String[] tokens = getTokens(c); for (String rawToken : tokens) { String token = rawToken.trim(); } else if (token.startsWith(PRIVATE)) { isPrivate = true; addFields(privateFields, token); } else if (token.startsWith(NO_CACHE)) { noCache = true; addFields(noCacheFields, token); } else { String[] extPair = token.split("=");
public String toString(CacheControl c) { String separator = getSeparator(); handleFields(c.getPrivateFields(), sb); sb.append(separator); handleFields(c.getNoCacheFields(), sb); sb.append(separator);
Map<String, String> extensions = new HashMap<String, String>(); String[] tokens = getTokens(c); for (String rawToken : tokens) { String token = rawToken.trim(); } else if (token.startsWith(PRIVATE)) { isPrivate = true; addFields(privateFields, token); } else if (token.startsWith(NO_CACHE)) { noCache = true; addFields(noCacheFields, token); } else { String[] extPair = StringUtils.split(token, "=");
public RuntimeDelegateImpl() { headerProviders.put(MediaType.class, new MediaTypeHeaderProvider()); headerProviders.put(CacheControl.class, new CacheControlHeaderProvider()); headerProviders.put(EntityTag.class, new EntityTagHeaderProvider()); headerProviders.put(Cookie.class, new CookieHeaderProvider()); headerProviders.put(NewCookie.class, new NewCookieHeaderProvider()); headerProviders.put(Link.class, new LinkHeaderProvider()); headerProviders.put(Date.class, new DateHeaderProvider()); }
protected String getSeparator() { String separator = DEFAULT_SEPARATOR; Message message = getCurrentMessage(); if (message != null) { Object sepProperty = message.getContextualProperty(CACHE_CONTROL_SEPARATOR_PROPERTY); if (sepProperty != null) { separator = sepProperty.toString().trim(); if (separator.length() != 1) { throw ExceptionUtils.toInternalServerErrorException(null, null); } } } return separator; }
private String[] getTokens(String c) { if (c.contains("\"")) { List<String> values = new ArrayList<String>(4); Matcher m = COMPLEX_HEADER_PATTERN.matcher(c); while (m.find()) { String val = m.group().trim(); if (val.length() > 0) { values.add(val); } } return values.toArray(new String[values.size()]); } else { String separator = getSeparator(); return StringUtils.split(c, separator); } }