public Task ValidateConnectionAsync(MqttConnectionValidatorContext context) { try { var pythonContext = new PythonDictionary { { "endpoint", context.Endpoint }, { "is_secure_connection", context.IsSecureConnection }, { "client_id", context.ClientId }, { "username", context.Username }, { "password", context.Password }, { "raw_password", new Bytes(context.RawPassword ?? new byte[0]) }, { "clean_session", context.CleanSession }, { "authentication_method", context.AuthenticationMethod }, { "authentication_data", new Bytes(context.AuthenticationData ?? new byte[0]) }, { "result", PythonConvert.Pythonfy(context.ReasonCode) } }; _pythonScriptHostService.InvokeOptionalFunction("on_validate_client_connection", pythonContext); context.ReasonCode = PythonConvert.ParseEnum <MqttConnectReasonCode>((string)pythonContext["result"]); } catch (Exception exception) { _logger.LogError(exception, "Error while validating client connection."); context.ReasonCode = MqttConnectReasonCode.UnspecifiedError; } return(Task.CompletedTask); }
public Task ValidateConnectionAsync(MqttConnectionValidatorContext context) { try { var pythonContext = new PythonDictionary { { "client_id", context.ClientId }, { "endpoint", context.Endpoint }, { "is_secure_connection", context.IsSecureConnection }, { "username", context.Username }, { "password", context.Password }, { "result", PythonConvert.Pythonfy(context.ReturnCode) } }; _pythonScriptHostService.InvokeOptionalFunction("on_validate_client_connection", pythonContext); context.ReturnCode = PythonConvert.ParseEnum <MqttConnectReturnCode>((string)pythonContext["result"]); } catch (Exception exception) { _logger.LogError(exception, "Error while validating client connection."); } return(Task.CompletedTask); }
public Task HandleClientDisconnectedAsync(MqttServerClientDisconnectedEventArgs eventArgs) { try { var pythonEventArgs = new PythonDictionary { { "client_id", eventArgs.ClientId }, { "type", PythonConvert.Pythonfy(eventArgs.DisconnectType) } }; _pythonScriptHostService.InvokeOptionalFunction("on_client_disconnected", pythonEventArgs); } catch (Exception exception) { _logger.LogError(exception, "Error while handling client disconnected event."); } return(Task.CompletedTask); }