mirror of
https://github.com/internetarchive/heritrix3.git
synced 2026-08-29 01:46:39 +00:00
[HER-1655] Excessive charset/character-encoding exceptions; is fallback behavior correct?
* ReplayCharSequence.java, GenericReplayCharSequence.java, InMemoryReplayCharSequence.java
refactor to put fallback-encoding in single place
This commit is contained in:
@@ -154,7 +154,7 @@ public class GenericReplayCharSequence implements ReplayCharSequence {
|
||||
} catch (IllegalArgumentException e) {
|
||||
logger.log(Level.WARNING,"charset problem: "+charsetName,e);
|
||||
// TODO: better detection or default
|
||||
charset = Charset.forName("UTF-8");
|
||||
charset = Charset.forName(FALLBACK_CHARSET_NAME);
|
||||
}
|
||||
if (charset.newEncoder().maxBytesPerChar() == 1.0) {
|
||||
logger.info("charset=" + charsetName
|
||||
|
||||
@@ -91,7 +91,7 @@ public class InMemoryReplayCharSequence implements ReplayCharSequence {
|
||||
} catch (IllegalArgumentException e) {
|
||||
logger.log(Level.WARNING,"charset problem: "+encoding,e);
|
||||
// TODO: better detection or default
|
||||
charset = Charset.forName("UTF-8");
|
||||
charset = Charset.forName(FALLBACK_CHARSET_NAME);
|
||||
}
|
||||
return charset.decode(bb).asReadOnlyBuffer();
|
||||
}
|
||||
|
||||
@@ -37,6 +37,11 @@ import java.io.IOException;
|
||||
*/
|
||||
public interface ReplayCharSequence extends CharSequence, Closeable {
|
||||
|
||||
/** charset to use in replay when declared value
|
||||
* is absent/illegal/unavailable */
|
||||
String FALLBACK_CHARSET_NAME = "UTF-8";
|
||||
// String FALLBACK_CHARSET_NAME = "ISO8859_1";
|
||||
|
||||
/**
|
||||
* Call this method when done so implementation has chance to clean up
|
||||
* resources.
|
||||
|
||||
Reference in New Issue
Block a user