1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 package org.apache.http.impl;
28
29 import org.apache.http.config.ConnectionConfig;
30
31 import java.nio.charset.Charset;
32 import java.nio.charset.CharsetDecoder;
33 import java.nio.charset.CharsetEncoder;
34 import java.nio.charset.CodingErrorAction;
35
36
37
38
39
40
41 public final class ConnSupport {
42
43 public static CharsetDecoder createDecoder(final ConnectionConfig cconfig) {
44 if (cconfig == null) {
45 return null;
46 }
47 final Charset charset = cconfig.getCharset();
48 final CodingErrorAction malformed = cconfig.getMalformedInputAction();
49 final CodingErrorAction unmappable = cconfig.getUnmappableInputAction();
50 if (charset != null) {
51 return charset.newDecoder()
52 .onMalformedInput(malformed != null ? malformed : CodingErrorAction.REPORT)
53 .onUnmappableCharacter(unmappable != null ? unmappable: CodingErrorAction.REPORT);
54 }
55 return null;
56 }
57
58 public static CharsetEncoder createEncoder(final ConnectionConfig cconfig) {
59 if (cconfig == null) {
60 return null;
61 }
62 final Charset charset = cconfig.getCharset();
63 if (charset != null) {
64 final CodingErrorAction malformed = cconfig.getMalformedInputAction();
65 final CodingErrorAction unmappable = cconfig.getUnmappableInputAction();
66 return charset.newEncoder()
67 .onMalformedInput(malformed != null ? malformed : CodingErrorAction.REPORT)
68 .onUnmappableCharacter(unmappable != null ? unmappable: CodingErrorAction.REPORT);
69 }
70 return null;
71 }
72
73 }