mirror of
https://github.com/achiez/NebulaAuth-Steam-Desktop-Authenticator-by-Achies.git
synced 2026-07-31 17:10:49 +00:00
8ff960189e
- 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
38 lines
1.0 KiB
C#
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;
|
|
}
|
|
} |