Vendoring deprecated composer libs
This commit is contained in:
55
libs/jsonrpc/src/JsonRPC/Request/BatchRequestParser.php
Normal file
55
libs/jsonrpc/src/JsonRPC/Request/BatchRequestParser.php
Normal file
@@ -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