diff options
-rw-r--r-- | pkg/api/api0/errors.go | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/pkg/api/api0/errors.go b/pkg/api/api0/errors.go new file mode 100644 index 0000000..95b5c00 --- /dev/null +++ b/pkg/api/api0/errors.go @@ -0,0 +1,52 @@ +package api0 + +// ErrorCode represents a known Northstar error code. +type ErrorCode string + +// https://github.com/R2Northstar/NorthstarMasterServer/blob/b45ff0ef267712e8bff6cd718bb5dc1afcdec420/shared/errorcodes.js +const ( + ErrorCode_NO_GAMESERVER_RESPONSE ErrorCode = "NO_GAMESERVER_RESPONS" // Couldn't reach game server + ErrorCode_BAD_GAMESERVER_RESPONSE ErrorCode = "BAD_GAMESERVER_RESPONSE" // Game server gave an invalid response + ErrorCode_UNAUTHORIZED_GAMESERVER ErrorCode = "UNAUTHORIZED_GAMESERVER" // Game server is not authorized to make that request + ErrorCode_UNAUTHORIZED_GAME ErrorCode = "UNAUTHORIZED_GAME" // Stryder couldn't confirm that this account owns Titanfall 2 + ErrorCode_UNAUTHORIZED_PWD ErrorCode = "UNAUTHORIZED_PWD" // Wrong password + ErrorCode_STRYDER_RESPONSE ErrorCode = "STRYDER_RESPONSE" // Got bad response from stryder + ErrorCode_STRYDER_PARSE ErrorCode = "STRYDER_PARSE" // Couldn't parse stryder response + ErrorCode_PLAYER_NOT_FOUND ErrorCode = "PLAYER_NOT_FOUND" // Couldn't find player account + ErrorCode_INVALID_MASTERSERVER_TOKEN ErrorCode = "INVALID_MASTERSERVER_TOKEN" // Invalid or expired masterserver token + ErrorCode_JSON_PARSE_ERROR ErrorCode = "JSON_PARSE_ERROR" // Error parsing json response + ErrorCode_UNSUPPORTED_VERSION ErrorCode = "UNSUPPORTED_VERSION" // The version you are using is no longer supported + ErrorCode_DUPLICATE_SERVER ErrorCode = "DUPLICATE_SERVER" // A server with this port already exists for your IP address +) + +// Message returns the default message for error code n. +func (n ErrorCode) Message() string { + switch n { + case ErrorCode_NO_GAMESERVER_RESPONSE: + return "Couldn't reach game server" + case ErrorCode_BAD_GAMESERVER_RESPONSE: + return "Game server gave an invalid response" + case ErrorCode_UNAUTHORIZED_GAMESERVER: + return "Game server is not authorized to make that request" + case ErrorCode_UNAUTHORIZED_GAME: + return "Stryder couldn't confirm that this account owns Titanfall 2" + case ErrorCode_UNAUTHORIZED_PWD: + return "Wrong password" + case ErrorCode_STRYDER_RESPONSE: + return "Got bad response from stryder" + case ErrorCode_STRYDER_PARSE: + return "Couldn't parse stryder response" + case ErrorCode_PLAYER_NOT_FOUND: + return "Couldn't find player account" + case ErrorCode_INVALID_MASTERSERVER_TOKEN: + return "Invalid or expired masterserver token" + case ErrorCode_JSON_PARSE_ERROR: + return "Error parsing json response" + case ErrorCode_UNSUPPORTED_VERSION: + return "The version you are using is no longer supported" + case ErrorCode_DUPLICATE_SERVER: + return "A server with this port already exists for your IP address" + default: + return string(n) + } +} |