Skip to content

Commit 082f2f2

Browse files
authored
Cast config values for strict type matching (#2)
1 parent 78af7a1 commit 082f2f2

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

src/ConnectionManager.php

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -126,13 +126,13 @@ protected function createConnection(string $name): MqttClientContract
126126
throw new ConnectionNotAvailableException($name);
127127
}
128128

129-
$host = Arr::get($config, 'host');
130-
$port = Arr::get($config, 'port', 1883);
129+
$host = (string) Arr::get($config, 'host');
130+
$port = (int) Arr::get($config, 'port', 1883);
131131
$clientId = Arr::get($config, 'client_id');
132-
$protocol = Arr::get($config, 'protocol', MqttClient::MQTT_3_1);
133-
$cleanSession = Arr::get($config, 'use_clean_session', true);
132+
$protocol = (string) Arr::get($config, 'protocol', MqttClient::MQTT_3_1);
133+
$cleanSession = (bool) Arr::get($config, 'use_clean_session', true);
134134
$repository = Arr::get($config, 'repository', Repository::class);
135-
$loggingEnabled = Arr::get($config, 'enable_logging', true);
135+
$loggingEnabled = (bool) Arr::get($config, 'enable_logging', true);
136136

137137
$settings = $this->buildConnectionSettings(Arr::get($config, 'connection_settings', []));
138138
$repository = $this->application->make($repository);
@@ -153,24 +153,24 @@ protected function createConnection(string $name): MqttClientContract
153153
protected function buildConnectionSettings(array $config): ConnectionSettings
154154
{
155155
return (new ConnectionSettings)
156-
->setConnectTimeout(Arr::get($config, 'connect_timeout', 60))
157-
->setSocketTimeout(Arr::get($config, 'socket_timeout', 5))
158-
->setResendTimeout(Arr::get($config, 'resend_timeout', 10))
159-
->setKeepAliveInterval(Arr::get($config, 'keep_alive_interval', 10))
156+
->setConnectTimeout((int) Arr::get($config, 'connect_timeout', 60))
157+
->setSocketTimeout((int) Arr::get($config, 'socket_timeout', 5))
158+
->setResendTimeout((int) Arr::get($config, 'resend_timeout', 10))
159+
->setKeepAliveInterval((int) Arr::get($config, 'keep_alive_interval', 10))
160160
->setUsername(Arr::get($config, 'auth.username'))
161161
->setPassword(Arr::get($config, 'auth.password'))
162-
->setUseTls(Arr::get($config, 'tls.enabled', false))
163-
->setTlsSelfSignedAllowed(Arr::get($config, 'tls.allow_self_signed_certificate', false))
164-
->setTlsVerifyPeer(Arr::get($config, 'tls.verify_peer', true))
165-
->setTlsVerifyPeerName(Arr::get($config, 'tls.verify_peer_name', true))
162+
->setUseTls((bool) Arr::get($config, 'tls.enabled', false))
163+
->setTlsSelfSignedAllowed((bool) Arr::get($config, 'tls.allow_self_signed_certificate', false))
164+
->setTlsVerifyPeer((bool) Arr::get($config, 'tls.verify_peer', true))
165+
->setTlsVerifyPeerName((bool) Arr::get($config, 'tls.verify_peer_name', true))
166166
->setTlsCertificateAuthorityFile(Arr::get($config, 'tls.ca_file'))
167167
->setTlsCertificateAuthorityPath(Arr::get($config, 'tls.ca_path'))
168168
->setTlsClientCertificateFile(Arr::get($config, 'tls.client_certificate_file'))
169169
->setTlsClientCertificateKeyFile(Arr::get($config, 'tls.client_certificate_key_file'))
170170
->setTlsClientCertificateKeyPassphrase(Arr::get($config, 'tls.client_certificate_key_passphrase'))
171171
->setLastWillTopic(Arr::get($config, 'last_will.topic'))
172172
->setLastWillMessage(Arr::get($config, 'last_will.message'))
173-
->setLastWillQualityOfService(Arr::get($config, 'last_will.quality_of_service', MqttClient::QOS_AT_MOST_ONCE))
174-
->setRetainLastWill(Arr::get($config, 'last_will.retain', false));
173+
->setLastWillQualityOfService((int) Arr::get($config, 'last_will.quality_of_service', MqttClient::QOS_AT_MOST_ONCE))
174+
->setRetainLastWill((bool) Arr::get($config, 'last_will.retain', false));
175175
}
176176
}

0 commit comments

Comments
 (0)