@author cenxiaozhong @date 2017/7/5 @since 2.0.0
| 29 | * @since 2.0.0 |
| 30 | */ |
| 31 | public class HttpHeaders { |
| 32 | public static HttpHeaders create() { |
| 33 | return new HttpHeaders(); |
| 34 | } |
| 35 | |
| 36 | private final Map<String, Map<String, String>> mHeaders; |
| 37 | |
| 38 | HttpHeaders() { |
| 39 | mHeaders = new ArrayMap<String, Map<String, String>>(); |
| 40 | } |
| 41 | |
| 42 | public Map<String, String> getHeaders(String url) { |
| 43 | String subUrl = subBaseUrl(url); |
| 44 | if (mHeaders.get(subUrl) == null) { |
| 45 | Map<String, String> headers = new ArrayMap<>(); |
| 46 | mHeaders.put(subUrl, headers); |
| 47 | return headers; |
| 48 | } |
| 49 | return mHeaders.get(subUrl); |
| 50 | } |
| 51 | |
| 52 | public void additionalHttpHeader(String url, String k, String v) { |
| 53 | if (null == url) { |
| 54 | return; |
| 55 | } |
| 56 | url = subBaseUrl(url); |
| 57 | Map<String, Map<String, String>> mHeaders = getHeaders(); |
| 58 | Map<String, String> headersMap = mHeaders.get(subBaseUrl(url)); |
| 59 | if (null == headersMap) { |
| 60 | headersMap = new ArrayMap<>(); |
| 61 | } |
| 62 | headersMap.put(k, v); |
| 63 | mHeaders.put(url, headersMap); |
| 64 | } |
| 65 | |
| 66 | |
| 67 | public void additionalHttpHeaders(String url, Map<String, String> headers) { |
| 68 | if (null == url) { |
| 69 | return; |
| 70 | } |
| 71 | String subUrl = subBaseUrl(url); |
| 72 | Map<String, Map<String, String>> mHeaders = getHeaders(); |
| 73 | Map<String, String> headersMap = headers; |
| 74 | if (null == headersMap) { |
| 75 | headersMap = new ArrayMap<>(); |
| 76 | } |
| 77 | mHeaders.put(subUrl, headersMap); |
| 78 | } |
| 79 | |
| 80 | public void removeHttpHeader(String url, String k) { |
| 81 | if (null == url) { |
| 82 | return; |
| 83 | } |
| 84 | String subUrl = subBaseUrl(url); |
| 85 | Map<String, Map<String, String>> mHeaders = getHeaders(); |
| 86 | Map<String, String> headersMap = mHeaders.get(subUrl); |
| 87 | if (null != headersMap) { |
| 88 | headersMap.remove(k); |
nothing calls this directly
no outgoing calls
no test coverage detected