code: func (h *ResponseHeader) AppendBytes(dst []byte) []byte {
  	statusCode := h.StatusCode()
  	if statusCode < 0 {
  		statusCode = StatusOK
  	}
  	dst = append(dst, statusLine(statusCode)...)
  
  	server := h.Server()
  	if len(server) != 0 {
  		dst = appendHeaderLine(dst, strServer, server)
  	}
  	dst = appendHeaderLine(dst, strDate, serverDate.Load().([]byte))
  
  	// Append Content-Type only for non-zero responses
  	// or if it is explicitly set.
  	// See https://github.com/valyala/fasthttp/issues/28 .
  	if h.ContentLength() != 0 || len(h.contentType) > 0 {
  		dst = appendHeaderLine(dst, strContentType, h.ContentType())
  	}
  
  	if len(h.contentLengthBytes) > 0 {
  		dst = appendHeaderLine(dst, strContentLength, h.contentLengthBytes)
  	}
  
  	for i, n := 0, len(h.h); i < n; i++ {
  		kv := &h.h[i]
  		if !bytes.Equal(kv.key, strDate) {
  			dst = appendHeaderLine(dst, kv.key, kv.value)
  		}
  	}
  
  	n := len(h.cookies)
  	if n > 0 {
  		for i := 0; i < n; i++ {
  			kv := &h.cookies[i]
  			dst = appendHeaderLine(dst, strSetCookie, kv.value)
  		}
  	}
  
  	if h.ConnectionClose() {
  		dst = appendHeaderLine(dst, strConnection, strClose)
  	}
  
  	return append(dst, strCRLF...)
  }
docs: // AppendBytes appends response header representation to dst and returns
  // the extended dst.