Extend docs and add missing constructors
This commit is contained in:
parent
c564229fb2
commit
9191cbaa9f
2 changed files with 43 additions and 6 deletions
22
README.md
22
README.md
|
@ -1,7 +1,10 @@
|
|||
# client-dotnet
|
||||
# INetMock .NET client library
|
||||
|
||||
## NuGet source
|
||||
|
||||
Due to limitations in GitLab one is required to be authenticated to use packages in GitLab NuGet registry.
|
||||
The following credentials are `read_only` and allowed to be used by anyone.
|
||||
|
||||
```shell
|
||||
dotnet nuget add source \
|
||||
https://gitlab.com/api/v4/projects/24385200/packages/nuget/index.json \
|
||||
|
@ -10,3 +13,20 @@ dotnet nuget add source \
|
|||
-p 3FLWym5gfajuJNhBKvWV \
|
||||
--store-password-in-clear-text
|
||||
```
|
||||
|
||||
## Reading audit files
|
||||
|
||||
```c#
|
||||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
using INetMock.Client.Audit;
|
||||
using INetMock.Client.Audit.Serialization;
|
||||
|
||||
await using var auditFileStream = File.OpenRead("test.ima");
|
||||
await using IEventReader reader = new GenericReader(new ProtoReader(auditFileStream));
|
||||
|
||||
await foreach (var ev in reader.ReadAllAsync())
|
||||
{
|
||||
Console.WriteLine(ev.Application);
|
||||
}
|
||||
```
|
||||
|
|
|
@ -3,9 +3,9 @@ using System.Net;
|
|||
|
||||
namespace INetMock.Client.Audit;
|
||||
|
||||
public abstract record EventBase
|
||||
public abstract record EventBase()
|
||||
{
|
||||
protected EventBase(EventEntity entity)
|
||||
protected EventBase(EventEntity entity) : this()
|
||||
{
|
||||
if (entity == null)
|
||||
{
|
||||
|
@ -24,18 +24,30 @@ public abstract record EventBase
|
|||
}
|
||||
|
||||
public long Id { get; init; }
|
||||
public DateTimeOffset Timestamp { get; init; }
|
||||
public TransportProtocol Transport { get; init; }
|
||||
public AppProtocol Application { get; init; }
|
||||
|
||||
public DateTimeOffset Timestamp { get; init; } = DateTimeOffset.UnixEpoch;
|
||||
|
||||
public TransportProtocol Transport { get; init; } = TransportProtocol.Unspecified;
|
||||
|
||||
public AppProtocol Application { get; init; } = AppProtocol.Unspecified;
|
||||
|
||||
public IPAddress SourceIp { get; init; } = IPAddress.Any;
|
||||
|
||||
public IPAddress DestinationIp { get; init; } = IPAddress.Any;
|
||||
|
||||
public ushort SourcePort { get; init; }
|
||||
|
||||
public ushort DestinationPort { get; init; }
|
||||
|
||||
public TLSDetailsEntity TlsDetails { get; init; } = new();
|
||||
}
|
||||
|
||||
public record Event : EventBase
|
||||
{
|
||||
public Event()
|
||||
{
|
||||
}
|
||||
|
||||
public Event(EventEntity entity) : base(entity)
|
||||
{
|
||||
Details = entity.ProtocolDetailsCase switch
|
||||
|
@ -54,6 +66,11 @@ public record Event : EventBase
|
|||
|
||||
public record Event<T> : EventBase where T : EventDetails, new()
|
||||
{
|
||||
public Event()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public Event(EventEntity entity) : base(entity)
|
||||
{
|
||||
Details = entity.ProtocolDetailsCase switch
|
||||
|
|
Loading…
Reference in a new issue