// Copyright © WireMock.Net using WireMock.Settings; using WireMock.WebSockets; namespace WireMock.ResponseBuilders; public partial class Response { /// /// Internal property to store WebSocket builder configuration /// internal WebSocketBuilder? WebSocketBuilder { get; set; } /// /// Configure WebSocket response behavior /// public IResponseBuilder WithWebSocket(Action configure) { var builder = new WebSocketBuilder(this); configure(builder); WebSocketBuilder = builder; return this; } /// /// Proxy WebSocket to another server /// public IResponseBuilder WithWebSocketProxy(string targetUrl) { return WithWebSocketProxy(new ProxyAndRecordSettings { Url = targetUrl }); } /// /// Proxy WebSocket to another server with settings /// public IResponseBuilder WithWebSocketProxy(ProxyAndRecordSettings settings) { var builder = new WebSocketBuilder(this); builder.WithProxy(settings); WebSocketBuilder = builder; return this; } }