package com.troy.xifan.http;
import android.text.TextUtils;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
/**
* Created by chenlongfei on 2016/11/18.
*/
public class Headers {
private Map<String, String> headers;
public Headers(Map<String, String> headers) {
this.headers = headers;
}
public Map<String, String> getHeadersMap() {
return headers;
}
public static class Builder {
private static final String USER_AGENT = "User-Agent";
private static final String DEFAULT_USER_AGENT = System.getProperty("http.agent");
private static final Map<String, String> DEFAULT_HEADERS;
private Map<String, String> headers;
static {
Map<String, String> headers = new HashMap<>(1);
headers.put(USER_AGENT, DEFAULT_USER_AGENT);
DEFAULT_HEADERS = Collections.unmodifiableMap(headers);
}
public Builder setHeader(String key, String values) {
if (headers == null) {
headers = new HashMap<>();
}
if (!TextUtils.isEmpty(key) && !TextUtils.isEmpty(values)) {
headers.put(key, values);
}
return this;
}
public Headers build() {
makeDefault();
return new Headers(headers);
}
private void makeDefault() {
if (headers == null) {
headers = new HashMap<>();
}
headers.putAll(DEFAULT_HEADERS);
}
}
}