Upstream kanboard/kanboard state of the touched files before cf53b54597
This commit is contained in:
commit
f06233d996
1 file changed
+55
@@ -0,0 +1,55 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace JsonRPC\Request;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class BatchRequestParser
|
||||||
|
*
|
||||||
|
* @package JsonRPC\Request
|
||||||
|
* @author Frederic Guillot
|
||||||
|
*/
|
||||||
|
class BatchRequestParser extends RequestParser
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Parse incoming request
|
||||||
|
*
|
||||||
|
* @access public
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function parse()
|
||||||
|
{
|
||||||
|
$responses = array();
|
||||||
|
|
||||||
|
foreach ($this->payload as $payload) {
|
||||||
|
$responses[] = RequestParser::create()
|
||||||
|
->withPayload($payload)
|
||||||
|
->withProcedureHandler($this->procedureHandler)
|
||||||
|
->withMiddlewareHandler($this->middlewareHandler)
|
||||||
|
->withLocalException($this->localExceptions)
|
||||||
|
->parse();
|
||||||
|
}
|
||||||
|
|
||||||
|
$responses = array_filter($responses);
|
||||||
|
return empty($responses) ? '' : '['.implode(',', $responses).']';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return true if we have a batch request
|
||||||
|
*
|
||||||
|
* ex : [
|
||||||
|
* 0 => '...',
|
||||||
|
* 1 => '...',
|
||||||
|
* 2 => '...',
|
||||||
|
* 3 => '...',
|
||||||
|
* ]
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @access public
|
||||||
|
* @param array $payload
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public static function isBatchRequest(array $payload)
|
||||||
|
{
|
||||||
|
return array_keys($payload) === range(0, count($payload) - 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in new issue
Block a user