< Summary

Information
Class: TeleFlow.Telegram.Internal.CallbackDataRouteDeserializationException
Assembly: TeleFlow.Framework
File(s): /_/src/TeleFlow.Framework/Internal/CallbackDataRouteDeserializationException.cs
Line coverage
100%
Covered lines: 9
Uncovered lines: 0
Coverable lines: 9
Total lines: 36
Line coverage: 100%
Branch coverage
50%
Covered branches: 1
Total branches: 2
Branch coverage: 50%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)50%22100%
CreateMessage(...)100%11100%

File(s)

/_/src/TeleFlow.Framework/Internal/CallbackDataRouteDeserializationException.cs

#LineLine coverage
 1using System.Text;
 2
 3namespace TeleFlow.Telegram.Internal;
 4
 5/// <summary>
 6/// Represents a typed callback route payload that matched the expected callback data
 7/// shape but could not be decoded before handler selection.
 8/// </summary>
 9internal sealed class CallbackDataRouteDeserializationException : Exception
 10{
 11    public CallbackDataRouteDeserializationException(
 12        Type payloadType,
 13        string serializedPayload,
 14        Exception innerException)
 215        : base(
 216            CreateMessage(payloadType),
 217            innerException ?? throw new ArgumentNullException(nameof(innerException)))
 18    {
 219        ArgumentNullException.ThrowIfNull(payloadType);
 220        ArgumentNullException.ThrowIfNull(serializedPayload);
 21
 22        PayloadType = payloadType;
 223        PayloadByteCount = Encoding.UTF8.GetByteCount(serializedPayload);
 224    }
 25
 26    public Type PayloadType { get; }
 27
 28    public int PayloadByteCount { get; }
 29
 30    private static string CreateMessage(Type payloadType)
 31    {
 232        ArgumentNullException.ThrowIfNull(payloadType);
 33
 234        return $"Telegram callback data matched payload type '{payloadType.FullName}' but could not be deserialized.";
 35    }
 36}