diff --git a/Source/MQTTnet/Client/MqttClientOptionsBuilderWebSocketParameters.cs b/Source/MQTTnet/Client/MqttClientOptionsBuilderWebSocketParameters.cs new file mode 100644 index 00000000..54e048bc --- /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; } + } +} diff --git a/Source/MQTTnet/Client/Options/MqttClientOptionsBuilder.cs b/Source/MQTTnet/Client/Options/MqttClientOptionsBuilder.cs index 6300f6d2..832c8663 100644 --- a/Source/MQTTnet/Client/Options/MqttClientOptionsBuilder.cs +++ b/Source/MQTTnet/Client/Options/MqttClientOptionsBuilder.cs @@ -141,11 +141,13 @@ namespace MQTTnet.Client.Options 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;