Misc fixes and improvements

* Added request logging to com.noccy.apiclient
* Added plugin com.noccy.watcher
* Added pipe command and filter support
* Fixes and stubs
This commit is contained in:
2021-12-14 23:01:25 +01:00
parent 8cc1eac7a4
commit 30dfd4889b
22 changed files with 648 additions and 3 deletions

View File

@ -6,6 +6,7 @@ use Spark\Commands\Command;
use SparkPlug;
use SparkPlug\Com\Noccy\ApiClient\Api\Method;
use SparkPlug\Com\Noccy\ApiClient\ApiClientPlugin;
use SparkPlug\Com\Noccy\ApiClient\Log\RequestData;
use SparkPlug\Com\Noccy\ApiClient\Request\RequestBuilder;
use Symfony\Component\Console\Helper\Table;
use Symfony\Component\Console\Input\InputArgument;
@ -129,6 +130,11 @@ class ApiRequestCommand extends Command
$output->writeln($separator);
$output->writeln(strlen($body)." bytes");
$log = $plugin->getRequestLog("default");
$evt = RequestData::fromRequestResponse($request, $response, $input->getArgument('method'));
$log->append($evt);
$log->flush();
return Command::SUCCESS;
}
}

View File

@ -3,6 +3,7 @@
namespace SparkPlug\Com\Noccy\ApiClient;
use SparkPlug;
use SparkPlug\Com\Noccy\ApiClient\Log\RequestLog;
class ApiClientPlugin extends SparkPlug
{
@ -104,6 +105,14 @@ class ApiClientPlugin extends SparkPlug
return array_keys($this->profiles);
}
public function getRequestLog(string $name): RequestLog
{
$env = get_environment();
$logsDir = $env->getConfigDirectory() . "/api/logs/";
$log = new RequestLog($logsDir.$name.".json");
return $log;
}
}
register_plugin("com.noccy.apiclient", new ApiClientPlugin);