public static Response BuildError(RIPErrors code, string?details = default, Exception?ex = default) { var message = new StringBuilder(GetMapValue(code)); message.Replace(DETAIL_TOKEN, details is null ? "" : $": {details}"); message.Replace(EXCEPTION_TOKEN, ex is null ? "" : $"[{ex.Message}]"); var error = ((int)code, message.ToString()); return(Response.Fail(error)); }
private static string GetMapValue(RIPErrors code) { if (_map is null) { _map = new Dictionary <RIPErrors, string>(GetErrorMessages()); } if (_map.ContainsKey(code)) { return(_map[code]); } return(_map[RIPErrors.InternalError]); }
private static KeyValuePair <RIPErrors, string> BuildEntry(RIPErrors code, string message) => new KeyValuePair <RIPErrors, string>(code, BuildBaseMessage(code, message));
private static string BuildBaseMessage(RIPErrors code, string baseMessage) => $"Error RIP{(int)code}: {baseMessage}{DETAIL_TOKEN}{EXCEPTION_TOKEN}";