This commit is contained in:
Stef Heyenrath
2026-02-22 10:57:17 +01:00
parent 1c69bb51cc
commit 4ed71d578a
4 changed files with 29 additions and 5 deletions
@@ -7,16 +7,29 @@ namespace WireMock.WebSockets;
internal class WebSocketMessageBuilder : IWebSocketMessageBuilder
{
/// <inheritdoc />
public string? MessageText { get; private set; }
/// <inheritdoc />
public byte[]? MessageBytes { get; private set; }
/// <inheritdoc />
public TimeSpan? Delay { get; private set; }
/// <inheritdoc />
public WebSocketMessageType Type { get; private set; }
/// <inheritdoc />
public bool ShouldClose { get; private set; }
/// <inheritdoc />
public IWebSocketMessageBuilder WithEcho()
{
Type = WebSocketMessageType.Close;
return this;
}
/// <inheritdoc />
public IWebSocketMessageBuilder WithText(string text)
{
MessageText = Guard.NotNull(text);
@@ -24,6 +37,7 @@ internal class WebSocketMessageBuilder : IWebSocketMessageBuilder
return this;
}
/// <inheritdoc />
public IWebSocketMessageBuilder WithBinary(byte[] bytes)
{
MessageBytes = Guard.NotNull(bytes);
@@ -31,23 +45,27 @@ internal class WebSocketMessageBuilder : IWebSocketMessageBuilder
return this;
}
/// <inheritdoc />
public IWebSocketMessageBuilder WithDelay(TimeSpan delay)
{
Delay = delay;
return this;
}
/// <inheritdoc />
public IWebSocketMessageBuilder WithDelay(int delayInMilliseconds)
{
Guard.Condition(delayInMilliseconds, d => d >= 0);
return WithDelay(TimeSpan.FromMilliseconds(delayInMilliseconds));
}
/// <inheritdoc />
public IWebSocketMessageBuilder Close()
{
ShouldClose = true;
return this;
}
/// <inheritdoc />
public IWebSocketMessageBuilder AndClose() => Close();
}