diff options
| author | jwijenbergh <jeroenwijenbergh@protonmail.com> | 2022-05-02 14:34:35 +0200 |
|---|---|---|
| committer | jwijenbergh <jeroenwijenbergh@protonmail.com> | 2022-05-02 14:34:35 +0200 |
| commit | 466450f0c47bdc614e66326d90e5fc6fb56ae732 (patch) | |
| tree | a01518a58d50d2f8449d37dadecc40e35c9f1fe1 /internal/wireguard.go | |
| parent | a2a8efdcaad3d9b1852b1367a7cd7e8c5860cecf (diff) | |
Refactor: Wrap most errors in a custom type
Diffstat (limited to 'internal/wireguard.go')
| -rw-r--r-- | internal/wireguard.go | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/internal/wireguard.go b/internal/wireguard.go index 4ec12bd..7977dbc 100644 --- a/internal/wireguard.go +++ b/internal/wireguard.go @@ -8,8 +8,12 @@ import ( ) func wireguardGenerateKey() (wgtypes.Key, error) { - key, error := wgtypes.GeneratePrivateKey() - return key, error + key, keyErr := wgtypes.GeneratePrivateKey() + + if keyErr != nil { + return key, &WireguardGenerateKeyError{Err: keyErr} + } + return key, nil } // FIXME: Instead of doing a regex replace, decide if we should use a parser @@ -31,14 +35,14 @@ func (server *Server) WireguardGetConfig() (string, error) { wireguardKey, wireguardErr := wireguardGenerateKey() if wireguardErr != nil { - return "", wireguardErr + return "", &WireguardGetConfigError{Err: wireguardErr} } wireguardPublicKey := wireguardKey.PublicKey().String() configWireguard, _, configErr := server.APIConnectWireguard(profile_id, wireguardPublicKey) if configErr != nil { - return "", configErr + return "", &WireguardGetConfigError{Err: wireguardErr} } // FIXME: Store expiry @@ -50,3 +54,19 @@ func (server *Server) WireguardGetConfig() (string, error) { return configWireguardKey, nil } + +type WireguardGenerateKeyError struct { + Err error +} + +func (e *WireguardGenerateKeyError) Error() string { + return fmt.Sprintf("failed generating Wireguard key with error: %v", e.Err) +} + +type WireguardGetConfigError struct { + Err error +} + +func (e *WireguardGetConfigError) Error() string { + return fmt.Sprintf("failed getting Wireguard config with error: %v", e.Err) +} |
