D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
opt
/
psa
/
admin
/
plib
/
modules
/
rest-api
/
v2
/
externals
/
Handler
/
Filename :
CliCall.php
back
Copy
<?php // Copyright 1999-2024. WebPros International GmbH. All rights reserved. namespace PleskExt\RestApi\v2\Handler; use PleskExt\RestApi\v2\Annotation\Consumer; use PleskExt\RestApi\v2\Helper\InvokableHandler; use PleskExt\RestApi\v2\SDK; use PleskExt\RestApi\v2\Entity\CliCallRequest; use PleskExt\RestApi\v2\Entity\CliCallResponse; use PleskRestApi\Slim\Psr7\Request; use PleskRestApi\Slim\Psr7\Response; class CliCall extends InvokableHandler { /** * @Consumer(type=CliCallRequest::class) */ protected function post(Request $request, Response $response) { $cmd = $request->getAttribute('id'); /** @var CliCallRequest $cliCall */ $cliCall = $this->consume(); $result = SDK\pm_ApiCli::call($cmd, $cliCall->params, \pm_ApiCli::RESULT_FULL, $cliCall->env); $data = new CliCallResponse(); $data->code = (int) $result['code']; $data->stdout = \trim((string) $result['stdout']); $data->stderr = \trim((string) $result['stderr']); $response->getBody()->write($this->serialize($data)); return $response; } }