code: func (h *ResponseHeader) SetContentLength(contentLength int) {
  	if h.mustSkipContentLength() {
  		return
  	}
  	h.contentLength = contentLength
  	if contentLength >= 0 {
  		h.contentLengthBytes = AppendUint(h.contentLengthBytes[:0], contentLength)
  		h.h = delAllArgsBytes(h.h, strTransferEncoding)
  	} else {
  		h.contentLengthBytes = h.contentLengthBytes[:0]
  		value := strChunked
  		if contentLength == -2 {
  			h.SetConnectionClose()
  			value = strIdentity
  		}
  		h.h = setArgBytes(h.h, strTransferEncoding, value, argsHasValue)
  	}
  }
docs: // SetContentLength sets Content-Length header value.
  //
  // Content-Length may be negative:
  // -1 means Transfer-Encoding: chunked.
  // -2 means Transfer-Encoding: identity.