code: func acsWsURL(endpoint, cluster, containerInstanceArn string, taskEngine engine.TaskEngine, acsSessionState sessionState) string {
  	acsURL := endpoint
  	if endpoint[len(endpoint)-1] != '/' {
  		acsURL += "/"
  	}
  	acsURL += "ws"
  	query := url.Values{}
  	query.Set("clusterArn", cluster)
  	query.Set("containerInstanceArn", containerInstanceArn)
  	query.Set("agentHash", version.GitHashString())
  	query.Set("agentVersion", version.Version)
  	query.Set("seqNum", "1")
  	if dockerVersion, err := taskEngine.Version(); err == nil {
  		query.Set("dockerVersion", "DockerVersion: "+dockerVersion)
  	}
  	query.Set(sendCredentialsURLParameterName, acsSessionState.getSendCredentialsURLParameter())
  	return acsURL + "?" + query.Encode()
  }
docs: // acsWsURL returns the websocket url for ACS given the endpoint