hunk.code_window: 	stdoutReader, stdoutWriter := io.Pipe()
   	defer stdoutWriter.Close()
   	errorChan := make(chan error, 1)
   	go streamFromWebsocketToWriter(websocketConn, stdinWriter, errorChan)
   	go streamFromReaderToWebsocket(websocketConn, stdoutReader, errorChan)
  
hunk.labels: keep keep add keep keep keep keep
hunk.after_edit: 	// errorChan is used to propagate errors from the go routines to the caller.
  
hunk.file_path: api/http/handler/websocket/pod.go
hunk.type: add
file: <rd-header>
    <rd-header-title title-text="Endpoints">
      <a data-toggle="tooltip" title="Refresh" ui-sref="portainer.endpoints" ui-sref-opts="{reload: true}">
        <i class="fa fa-sync" aria-hidden="true"></i>
      </a>
    </rd-header-title>
    <rd-header-content>Endpoint management</rd-header-content>
  </rd-header>
  
  <div class="row">
    <div class="col-sm-12">
      <endpoints-datatable
        title-text="Endpoints"
        title-icon="fa-plug"
        table-key="endpoints"
        order-by="Name"
        remove-action="removeAction"
        retrieve-page="getPaginatedEndpoints"
      ></endpoints-datatable>
    </div>
  </div>
  