diff --git a/Source/MQTTnet/Client/MqttClientOptionsBuilder.cs b/Source/MQTTnet/Client/MqttClientOptionsBuilder.cs index 85e2b4d87..aaf4f146a 100644 --- a/Source/MQTTnet/Client/MqttClientOptionsBuilder.cs +++ b/Source/MQTTnet/Client/MqttClientOptionsBuilder.cs @@ -92,11 +92,13 @@ public MqttClientOptionsBuilder WithProxy(string address, string username = null return this; } - public MqttClientOptionsBuilder WithWebSocketServer(string uri) + public MqttClientOptionsBuilder WithWebSocketServer(string uri, MqttClientOptionsBuilderWebSocketParameters parameters = null) { _webSocketOptions = new MqttClientWebSocketOptions { - Uri = uri + Uri = uri, + RequestHeaders = parameters?.RequestHeaders, + CookieContainer = parameters?.CookieContainer }; return this; diff --git a/Source/MQTTnet/Client/MqttClientOptionsBuilderWebSocketParameters.cs b/Source/MQTTnet/Client/MqttClientOptionsBuilderWebSocketParameters.cs new file mode 100644 index 000000000..54e048bcc --- /dev/null +++ b/Source/MQTTnet/Client/MqttClientOptionsBuilderWebSocketParameters.cs @@ -0,0 +1,12 @@ +using System.Collections.Generic; +using System.Net; + +namespace MQTTnet.Client +{ + public class MqttClientOptionsBuilderWebSocketParameters + { + public IDictionary RequestHeaders { get; set; } + + public CookieContainer CookieContainer { get; set; } + } +}