pub trait RequestWriter {
fn write_header(&mut self, key: &str, val: &str, allow_override: bool);
fn write_scheme(&mut self, key: &str, val: Vec<String>, allow_override: bool);
fn create_scheme(&mut self, scheme: HashMap<String, Vec<String>>);
fn set_cookie(&mut self, key: &str, val: &str, allow_override: bool);
fn create_cookie(&mut self, cookie: HashMap<String, String>);
fn set_param(&mut self, key: &str, val: &str);
fn create_param(&mut self, params: HashMap<String, String>);
fn set_fragment(&mut self, fragment: String);
fn set_host(&mut self, host: String);
fn set_client(&mut self, addr: SocketAddr);
fn extend_body(&mut self, content: &str);
}