code: func NewCloseFrameBody(code StatusCode, reason string) []byte {
  	n := min(2+len(reason), MaxControlFramePayloadSize)
  	p := make([]byte, n)
  
  	crop := min(MaxControlFramePayloadSize-2, len(reason))
  	PutCloseFrameBody(p, code, reason[:crop])
  
  	return p
  }
docs: // NewCloseFrameBody encodes a closure code and a reason into a binary
  // representation.
  //
  // It returns slice which is at most MaxControlFramePayloadSize bytes length.
  // If the reason is too big it will be cropped to fit the limit defined by the
  // spec.
  //
  // See https://tools.ietf.org/html/rfc6455#section-5.5