Browse Source

add empty message validation

main
ghost 7 months ago
parent
commit
185d68e909
  1. 4
      config/example.json
  2. 107
      src/Server/Ratchet.php

4
config/example.json

@ -105,6 +105,10 @@ @@ -105,6 +105,10 @@
[
"\u001b[31mReached message length limit!\u001b[0m"
],
"empty":
[
"\u001b[31mMessage could not be empty!\u001b[0m"
],
"internal":
[
"\u001b[31mSomething went wrong, please make your feedback!\u001b[0m",

107
src/Server/Ratchet.php

@ -183,65 +183,80 @@ class Ratchet implements MessageComponentInterface @@ -183,65 +183,80 @@ class Ratchet implements MessageComponentInterface
// Check message commit by dot
if ($request == '.')
{
// Save massage to KevaCoin blockchain
if ($txid = $this->_kevacoin->kevaPut($this->_config->kevacoin->wallet->namespace, time(), $connection->message))
// Check message not empty
if (empty(trim($connection->message)))
{
// Return success response
$connection->send(
str_replace(
[
'{name}',
'{txid}'
],
[
$this->_config->kevacoin->wallet->namespace,
$txid
],
implode(
PHP_EOL,
$config->response->submit->success
) . PHP_EOL
)
implode(
PHP_EOL,
$config->response->submit->failure->empty
) . PHP_EOL
);
}
// Print transaction debug info on enabled
if ($this->_config->kevacoin->event->put->debug->enabled)
// Max length already checked on input, begin message save
else
{
// Save massage to KevaCoin blockchain
if ($txid = $this->_kevacoin->kevaPut($this->_config->kevacoin->wallet->namespace, time(), $connection->message))
{
print(
str_ireplace(
// Return success response
$connection->send(
str_replace(
[
'{time}',
'{host}',
'{crid}',
'{name}',
'{txid}',
'{keva}'
'{txid}'
],
[
(string) date('c'),
(string) $connection->remoteAddress,
(string) $connection->resourceId,
(string) $this->_config->kevacoin->wallet->namespace,
(string) $txid,
(string) $this->_kevacoin->getBalance(
$this->_config->kevacoin->wallet->account
)
$this->_config->kevacoin->wallet->namespace,
$txid
],
$this->_config->kevacoin->event->put->debug->template
) . PHP_EOL
implode(
PHP_EOL,
$config->response->submit->success
) . PHP_EOL
)
);
// Print transaction debug info on enabled
if ($this->_config->kevacoin->event->put->debug->enabled)
{
print(
str_ireplace(
[
'{time}',
'{host}',
'{crid}',
'{name}',
'{txid}',
'{keva}'
],
[
(string) date('c'),
(string) $connection->remoteAddress,
(string) $connection->resourceId,
(string) $this->_config->kevacoin->wallet->namespace,
(string) $txid,
(string) $this->_kevacoin->getBalance(
$this->_config->kevacoin->wallet->account
)
],
$this->_config->kevacoin->event->put->debug->template
) . PHP_EOL
);
}
}
}
// Could not receive transaction, something went wrong
else
{
$connection->send(
implode(
PHP_EOL,
$config->response->submit->failure->internal
) . PHP_EOL
);
// Could not receive transaction, something went wrong
else
{
$connection->send(
implode(
PHP_EOL,
$config->response->submit->failure->internal
) . PHP_EOL
);
}
}
// Close connection at this point

Loading…
Cancel
Save