Requests_Transport_fsockopen::request_multiple()

最后更新于:2021-11-26 04:08:18

Requests_Transport_fsockopen::request_multiple( array$requests, array$options)

Send multiple requests simultaneously

参数

$requests

(array) (Required) Request data (array of ‘url’, ‘headers’, ‘data’, ‘options’) as per Requests_Transport::request

$options

(array) (Required) Global options, see Requests::response() for documentation

响应

(array) Array of Requests_Response objects (may contain Requests_Exception or string responses as well)

源文件

文件: gc-includes/Requests/Transport/fsockopen.php

	public function request_multiple($requests, $options) {
		$responses = array();
		$class     = get_class($this);
		foreach ($requests as $id => $request) {
			try {
				$handler        = new $class();
				$responses[$id] = $handler->request($request['url'], $request['headers'], $request['data'], $request['options']);

				$request['options']['hooks']->dispatch('transport.internal.parse_response', array(&$responses[$id], $request));
			}
			catch (Requests_Exception $e) {
				$responses[$id] = $e;
			}

			if (!is_string($responses[$id])) {
				$request['options']['hooks']->dispatch('multiple.request.complete', array(&$responses[$id], $id));
			}
		}

		return $responses;
	}