< Summary

Information
Class: TeleFlow.Telegram.Internal.TelegramTransportEnvelope
Assembly: TeleFlow.Telegram.Client
File(s): /_/src/TeleFlow.Telegram.Client/Internal/TelegramTransportEnvelope.cs
Line coverage
100%
Covered lines: 5
Uncovered lines: 0
Coverable lines: 5
Total lines: 50
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
Dispose()100%11100%

File(s)

/_/src/TeleFlow.Telegram.Client/Internal/TelegramTransportEnvelope.cs

#LineLine coverage
 1using System.Text.Json;
 2using TeleFlow.Telegram.Schema.Types;
 3
 4namespace TeleFlow.Telegram.Internal;
 5
 6/// <summary>
 7/// Owns a parsed Telegram Bot API response envelope for one request attempt.
 8/// The request executor uses it to decide between success, API error, retry-after, and decode failure paths.
 9/// </summary>
 10internal sealed class TelegramTransportEnvelope : IDisposable
 11{
 12    private readonly JsonDocument _document;
 13
 14    public TelegramTransportEnvelope(
 15        JsonDocument document,
 16        bool ok,
 17        bool hasResult,
 18        JsonElement result,
 19        string? description,
 20        int? errorCode,
 21        ResponseParameters? responseParameters)
 22    {
 8223        ArgumentNullException.ThrowIfNull(document);
 24
 8225        _document = document;
 26        Ok = ok;
 27        HasResult = hasResult;
 28        Result = result;
 29        Description = description;
 30        ErrorCode = errorCode;
 31        ResponseParameters = responseParameters;
 8232    }
 33
 34    public bool Ok { get; }
 35
 36    public bool HasResult { get; }
 37
 38    public JsonElement Result { get; }
 39
 40    public string? Description { get; }
 41
 42    public int? ErrorCode { get; }
 43
 44    public ResponseParameters? ResponseParameters { get; }
 45
 46    public void Dispose()
 47    {
 8248        _document.Dispose();
 8249    }
 50}