package com.wesabe.servlet.normalizers;
import com.wesabe.servlet.normalizers.util.CharacterSet;
/**
* Normalizes HTTP header values.
*
* @author coda
*/
public class HeaderValueNormalizer implements Normalizer<String> {
private static final CharacterSet VALID_CHARACTERS = CharacterSet.of("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789()-=*.?;,+/:&_ \"");
@Override
public String normalize(String value) throws ValidationException {
if (value == null) {
return value;
}
if (VALID_CHARACTERS.composes(value)) {
return value;
}
throw new ValidationException(value, "not a valid HTTP header value");
}
}