func (h Header) Type() string {
	return "name: value"
}
Type returns a description string for header.
package request
import (
	"bufio"
	"bytes"
	"errors"
	"fmt"
	"io"
	"io/ioutil"
	"net/http"
	"net/textproto"
	"net/url"
	"sort"
	"strings"
)
type Header struct {
	Header http.Header
	Remove map[string]struct{}  
}
func (h Header) String() (s string) {
	for k, v := range h.Header {
		s += fmt.Sprintf(`"%v: %v", `, k, strings.Join(v, ","))
	}
	if len(s) > 0 {
		s = strings.TrimSuffix(s, ", ")
	}
	return s
}
func (h Header) Set(s string) error {
	data := strings.SplitN(s, ":", 2)
	name := data[0]
	if len(data) == 1 {
		h.Remove[name] = struct{}{}
		return nil
	}
	val := data[1]
	if headerDefaultValue(h, name) {
		delete(h.Header, textproto.CanonicalMIMEHeaderKey(name))
	}
	if len(val) > 0 && val[0] == ' ' {
		val = val[1:]
	}
	h.Header[name] = append(h.Header[name], val)
	return nil
}