diff options
| author | jwijenbergh <jeroenwijenbergh@protonmail.com> | 2022-02-14 11:41:12 +0100 |
|---|---|---|
| committer | jwijenbergh <jeroenwijenbergh@protonmail.com> | 2022-04-05 12:26:11 +0200 |
| commit | d306d7b27ee1df60bf32f03b6160856e78d1b02c (patch) | |
| tree | 17ead8a0b05fe02817c5be954782fdb53c5fb7ac /src | |
| parent | abe952080b01be4524fd03462236b6a3e63589f8 (diff) | |
Expose list retrieval by returning a JSON string
Signed-off-by: jwijenbergh <jeroenwijenbergh@protonmail.com>
Diffstat (limited to 'src')
| -rw-r--r-- | src/server.go | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/src/server.go b/src/server.go index 37a8f62..e39f4c7 100644 --- a/src/server.go +++ b/src/server.go @@ -29,13 +29,13 @@ func getFileUrl(url string) ([]byte, error) { // Helper function that gets a disco json // TODO: Verify signature -func getDiscoFile(jsonFile string) ([]byte, error) { +func getDiscoFile(jsonFile string) (string, error) { // Get json data fileUrl := "https://disco.eduvpn.org/v2/" + jsonFile fileBody, error := getFileUrl(fileUrl) if error != nil { - return nil, error + return "", error } // Get signature @@ -43,7 +43,7 @@ func getDiscoFile(jsonFile string) ([]byte, error) { sigBody, error := getFileUrl(sigUrl) if error != nil { - return nil, error + return "", error } // Verify signature @@ -54,19 +54,23 @@ func getDiscoFile(jsonFile string) ([]byte, error) { verifySuccess, verifyErr := Verify(string(sigBody), fileBody, jsonFile, previousSigTime, forcePrehash) if !verifySuccess || verifyErr != nil { - return nil, detailedVPNError{errVerifySigError, "Signature is not valid", verifyErr} + return "", detailedVPNError{errVerifySigError, "Signature is not valid", verifyErr} } - return fileBody, nil + return string(fileBody), nil } // Get the organization list -func GetOrganizationsList() ([]byte, error) { - return getDiscoFile("organization_list.json") +func GetOrganizationsList() (string, error) { + body, err := getDiscoFile("organization_list.json") + if err != nil { + return "", err.(detailedRequestError).ToVerifyError() + } + return body, nil } // Get the server list -func getServersList() ([]byte, error) { +func GetServersList() (string, error) { return getDiscoFile("server_list.json") } |
