mirror of
https://github.com/Mibew/mibew.git
synced 2025-03-03 18:38:31 +03:00
Make *Processor::handleRequest returns a Response
This commit is contained in:
parent
928328f2b0
commit
4ba7804b88
@ -37,12 +37,7 @@ class ThreadController extends AbstractController
|
||||
public function updateAction(Request $request)
|
||||
{
|
||||
$processor = ThreadProcessor::getInstance();
|
||||
// TODO: Remove bufferization after *Processor classes will be rewritten
|
||||
// to play nice with symfony request/response objects
|
||||
ob_start();
|
||||
$processor->handleRequest($request);
|
||||
$content = ob_get_clean();
|
||||
|
||||
return $content;
|
||||
return $processor->handleRequest($request);
|
||||
}
|
||||
}
|
||||
|
@ -91,12 +91,6 @@ class UsersController extends AbstractController
|
||||
$processor = UsersProcessor::getInstance();
|
||||
$processor->setAuthenticationManager($this->getAuthenticationManager());
|
||||
|
||||
// TODO: Remove bufferization after *Processor classes will be rewritten
|
||||
// to play nice with symfony request/response objects
|
||||
ob_start();
|
||||
$processor->handleRequest($request);
|
||||
$content = ob_get_clean();
|
||||
|
||||
return $content;
|
||||
return $processor->handleRequest($request);
|
||||
}
|
||||
}
|
||||
|
@ -24,6 +24,7 @@ use Mibew\Database;
|
||||
use Mibew\EventDispatcher;
|
||||
use Mibew\RequestProcessor\Exception\AbstractProcessorException;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
/**
|
||||
* Implements abstract class for request processing
|
||||
@ -155,8 +156,8 @@ abstract class AbstractProcessor
|
||||
* listener to the "<eventPrefix>RequestError" event.
|
||||
*
|
||||
* @param Request $request The request to handle.
|
||||
* @return boolean true if request processed succussfully or false on
|
||||
* failure
|
||||
* @return Response|boolean A response object if request processed
|
||||
* succussfully or boolean false on failure
|
||||
*/
|
||||
public function handleRequest($request)
|
||||
{
|
||||
@ -229,9 +230,9 @@ abstract class AbstractProcessor
|
||||
if (count($this->responses) != 0) {
|
||||
// Send responses
|
||||
if ($request_package['async']) {
|
||||
$this->sendAsyncResponses($this->responses);
|
||||
return $this->buildAsyncResponses($this->responses);
|
||||
} else {
|
||||
$this->sendSyncResponses($this->responses);
|
||||
return $this->buildSyncResponses($this->responses);
|
||||
}
|
||||
}
|
||||
|
||||
@ -244,7 +245,8 @@ abstract class AbstractProcessor
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
// Return an empty response
|
||||
return new Response();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -542,7 +544,7 @@ abstract class AbstractProcessor
|
||||
*/
|
||||
protected function sendSyncRequest($request)
|
||||
{
|
||||
trigger_error('Method sendSyncRequest does not implement!', E_USER_WARNING);
|
||||
trigger_error('Method sendSyncRequest is not implemented!', E_USER_WARNING);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -553,29 +555,31 @@ abstract class AbstractProcessor
|
||||
*/
|
||||
protected function sendAsyncRequest($request)
|
||||
{
|
||||
trigger_error('Method sendAsyncRequest does not implement!', E_USER_WARNING);
|
||||
trigger_error('Method sendAsyncRequest is not implemented!', E_USER_WARNING);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends synchronous responses
|
||||
* Builds synchronous responses
|
||||
*
|
||||
* @param array $responses An array of the 'Request' arrays. See Mibew API
|
||||
* for details
|
||||
* @return Response A response object that is ready for sending to client.
|
||||
*/
|
||||
protected function sendSyncResponses($responses)
|
||||
protected function buildSyncResponses($responses)
|
||||
{
|
||||
trigger_error('Method sendSyncResponses does not implement!', E_USER_WARNING);
|
||||
trigger_error('Method buildSyncResponses is not implemented!', E_USER_WARNING);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends asynchronous responses
|
||||
* Builds asynchronous responses
|
||||
*
|
||||
* @param array $responses An array of the 'Request' arrays. See Mibew API
|
||||
* for details
|
||||
* @return Response A response object that is ready for sending to client.
|
||||
*/
|
||||
protected function sendAsyncResponses($responses)
|
||||
protected function buildAsyncResponses($responses)
|
||||
{
|
||||
trigger_error('Method sendAsyncResponses does not implement!', E_USER_WARNING);
|
||||
trigger_error('Method buildAsyncResponses is not implemented!', E_USER_WARNING);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -21,6 +21,7 @@ namespace Mibew\RequestProcessor;
|
||||
|
||||
use Mibew\Database;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
/**
|
||||
* Base class for all request processors that interact with JavaScript
|
||||
@ -57,19 +58,24 @@ abstract class ClientSideProcessor extends AbstractProcessor
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends asynchronous responses
|
||||
* Builds asynchronous responses
|
||||
*
|
||||
* @param array $responses An array of the 'Request' arrays. See Mibew API
|
||||
* for details
|
||||
* for details
|
||||
* @return Response A response object that is ready for sending to client.
|
||||
*/
|
||||
protected function sendAsyncResponses($responses)
|
||||
protected function buildAsyncResponses($responses)
|
||||
{
|
||||
header("Content-type: text/plain; charset=UTF-8");
|
||||
echo($this->mibewAPI->encodePackage(
|
||||
$resp = new Response($this->mibewAPI->encodePackage(
|
||||
$responses,
|
||||
$this->config['signature'],
|
||||
true
|
||||
));
|
||||
|
||||
$resp->headers->set('Content-type', 'text/plain');
|
||||
$resp->setCharset('UTF-8');
|
||||
|
||||
return $resp;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user