From 61dd0e66d0be7c94779f3ecf52eb12b23324df1a Mon Sep 17 00:00:00 2001 From: maride Date: Sat, 8 Sep 2018 03:07:20 +0200 Subject: Fix: really download the certificate, avoid Blobs --- src/http.go | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'src/http.go') diff --git a/src/http.go b/src/http.go index d1e3507..81d55b7 100644 --- a/src/http.go +++ b/src/http.go @@ -316,10 +316,19 @@ func getAccessHandler(w http.ResponseWriter, r *http.Request) { errorString = err.Error() } - jsonAnswer, _ := json.Marshal(map[string]string{ - "error": errorString, - "credentials": credentials, - }) - w.Write([]byte(jsonAnswer)) + // Check if we are asked to prepare the config file as download... + if errorString == "" && r.URL.Query().Get("download") == "true" { + // We are asked to do so, and we didn't encounter an error either + w.Header().Set("Content-Disposition", "attachment; filename=config.ovpn") + w.Header().Set("Content-Type", "x-openvpn-config") + w.Write([]byte(credentials)) + } else { + // Normal operation - provide JSON formatted data + jsonAnswer, _ := json.Marshal(map[string]string{ + "error": errorString, + "credentials": credentials, + }) + w.Write([]byte(jsonAnswer)) + } } } -- cgit 1.4.1