feat(kubernetes): fetch config file with endpoint name (#5368) [EE-1159]

pull/4320/merge
Chaim Lev-Ari 3 years ago committed by GitHub
parent 0ff9d49c6f
commit 5fd92d8a3f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -68,17 +68,19 @@ func (handler *Handler) getKubernetesConfig(w http.ResponseWriter, r *http.Reque
return &httperror.HandlerError{http.StatusNotFound, "Unable to generate Kubeconfig", err}
}
filenameBase := fmt.Sprintf("%s-%s", tokenData.Username, endpoint.Name)
contentAcceptHeader := r.Header.Get("Accept")
if contentAcceptHeader == "text/yaml" {
yaml, err := kcli.GenerateYAML(config)
if err != nil {
return &httperror.HandlerError{http.StatusInternalServerError, "Failed to generate Kubeconfig", err}
}
w.Header().Set("Content-Disposition", `attachment; filename=config.yaml`)
w.Header().Set("Content-Disposition", fmt.Sprintf("attachment; %s.yaml", filenameBase))
return YAML(w, yaml)
}
w.Header().Set("Content-Disposition", `attachment; filename="config.json"`)
w.Header().Set("Content-Disposition", fmt.Sprintf("attachment; %s.json", filenameBase))
return response.JSON(w, config)
}

@ -9,7 +9,11 @@ class KubernetesConfigService {
async downloadConfig() {
const response = await this.KubernetesConfig.get();
return this.FileSaver.saveAs(response.data, 'config');
const headers = response.headers();
const contentDispositionHeader = headers['content-disposition'];
const filename = contentDispositionHeader.replace('attachment;', '').trim();
return this.FileSaver.saveAs(response.data, filename);
}
}

Loading…
Cancel
Save