diff options
author | maride <maride@darknebu.la> | 2018-09-08 03:07:20 +0200 |
---|---|---|
committer | maride <maride@darknebu.la> | 2018-09-08 03:07:20 +0200 |
commit | 61dd0e66d0be7c94779f3ecf52eb12b23324df1a (patch) | |
tree | 799f957af6fa5392fbd079ae5cf3152886fbaf72 /src | |
parent | 475c5999b57135fefd6129c00e87d7f5aa9a75cc (diff) |
Fix: really download the certificate, avoid Blobs
Diffstat (limited to 'src')
-rw-r--r-- | src/http.go | 19 |
1 files changed, 14 insertions, 5 deletions
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)) + } } } |