Files
Nebula-Auth/SteamLibForked/ProtoCore/ProtoHelpers.cs
T
achiez 8ff960189e 1.5.6 Bug fixes and code clean-ups
- Update: Added "Copy Password" to Mafile context menu (if available)
- Update: "Save Password" now pre-fills the current password in the "Login Again" dialog when encryption is enabled
- Fix: Prevented overlapping confirmation cycles in AutoConfirmer
- Fix: Added a Snackbar notification when a confirmation cycle is skipped due to a too frequent timer interval
- Fix: Fixed a rare bug where the previous proxy was used instead of the current one during session refresh
- Fix: Corrected "Session Permanently Expired" message showing on unrelated errors (e.g. network issues)
- UI-Fix: Fixed visual glitch where proxy input appeared non-empty when switching to a mafile-specific proxy
- Cleanup: Refactored and cleaned up codebase, improved styling and formatting via ReSharper
2025-05-02 23:29:24 +03:00

38 lines
1.0 KiB
C#

using System.Diagnostics.CodeAnalysis;
using ProtoBuf;
using SteamLib.ProtoCore.Enums;
using SteamLib.ProtoCore.Exceptions;
using SteamLib.ProtoCore.Interfaces;
namespace SteamLib.ProtoCore;
public static class ProtoHelpers
{
public static byte[] ProtoToBytes(IProtoMsg obj)
{
using var stream = new MemoryStream();
Serializer.Serialize(stream, obj);
return stream.ToArray();
}
[return: NotNullIfNotNull("obj")]
public static string? ProtoToString(IProtoMsg? obj)
{
return obj == null ? null : Convert.ToBase64String(ProtoToBytes(obj));
}
public static EResult GetEResult(HttpResponseMessage response)
{
if (response.Headers.TryGetValues("x-eresult", out var val))
{
var eResultInt = Convert.ToInt32(val.Single());
if (Enum.IsDefined(typeof(EResult), eResultInt) == false)
throw new UnknownEResultException(eResultInt);
return (EResult) eResultInt;
}
return EResult.Invalid;
}
}