Add interface for server options. Add context class for connection validator (hide internal packets).

This commit is contained in:
Christian Kratky
2017-11-25 20:12:50 +01:00
parent f9d67e2cd2
commit ee6ec14bf8
20 changed files with 74 additions and 50 deletions
@@ -62,7 +62,7 @@ namespace MQTTnet.Core.Tests
ClientAccepted?.Invoke(this, new MqttServerAdapterClientAcceptedEventArgs(adapter));
}
public Task StartAsync(MqttServerOptions options)
public Task StartAsync(IMqttServerOptions options)
{
return Task.FromResult(0);
}
+1 -3
View File
@@ -23,11 +23,9 @@ namespace MQTTnet.TestApp.NetCore
{
if (p.Username != "USER" || p.Password != "PASS")
{
return MqttConnectReturnCode.ConnectionRefusedBadUsernameOrPassword;
p.ReturnCode = MqttConnectReturnCode.ConnectionRefusedBadUsernameOrPassword;
}
}
return MqttConnectReturnCode.ConnectionAccepted;
},
Storage = new RetainedMessageHandler(),
@@ -354,20 +354,23 @@ namespace MQTTnet.TestApp.UniversalWindows
{
if (c.ClientId.Length < 10)
{
return MqttConnectReturnCode.ConnectionRefusedIdentifierRejected;
c.ReturnCode = MqttConnectReturnCode.ConnectionRefusedIdentifierRejected;
return;
}
if (c.Username != "mySecretUser")
{
return MqttConnectReturnCode.ConnectionRefusedBadUsernameOrPassword;
c.ReturnCode = MqttConnectReturnCode.ConnectionRefusedBadUsernameOrPassword;
return;
}
if (c.Password != "mySecretPassword")
{
return MqttConnectReturnCode.ConnectionRefusedBadUsernameOrPassword;
c.ReturnCode = MqttConnectReturnCode.ConnectionRefusedBadUsernameOrPassword;
return;
}
return MqttConnectReturnCode.ConnectionAccepted;
c.ReturnCode = MqttConnectReturnCode.ConnectionAccepted;
};
var factory = new MqttFactory();
@@ -410,14 +413,15 @@ namespace MQTTnet.TestApp.UniversalWindows
};
options.DefaultEndpointOptions.Port = 1884;
options.ConnectionValidator = packet =>
options.ConnectionValidator = c =>
{
if (packet.ClientId != "Highlander")
if (c.ClientId != "Highlander")
{
return MqttConnectReturnCode.ConnectionRefusedIdentifierRejected;
c.ReturnCode = MqttConnectReturnCode.ConnectionRefusedIdentifierRejected;
return;
}
return MqttConnectReturnCode.ConnectionAccepted;
c.ReturnCode = MqttConnectReturnCode.ConnectionAccepted;
};
var mqttServer = new MqttFactory().CreateMqttServer();
@@ -432,20 +436,23 @@ namespace MQTTnet.TestApp.UniversalWindows
{
if (c.ClientId.Length < 10)
{
return MqttConnectReturnCode.ConnectionRefusedIdentifierRejected;
c.ReturnCode = MqttConnectReturnCode.ConnectionRefusedIdentifierRejected;
return;
}
if (c.Username != "mySecretUser")
{
return MqttConnectReturnCode.ConnectionRefusedBadUsernameOrPassword;
c.ReturnCode = MqttConnectReturnCode.ConnectionRefusedBadUsernameOrPassword;
return;
}
if (c.Password != "mySecretPassword")
{
return MqttConnectReturnCode.ConnectionRefusedBadUsernameOrPassword;
c.ReturnCode = MqttConnectReturnCode.ConnectionRefusedBadUsernameOrPassword;
return;
}
return MqttConnectReturnCode.ConnectionAccepted;
c.ReturnCode = MqttConnectReturnCode.ConnectionAccepted;
}
};
}