* http://www.wtfpl.net/ for more details. * * Request signification example * @author alxmsl * @date 3/30/13 */ // Firstly include base class include '../source/Autoloader.php'; use alxmsl\Network\Http\Request; // Create request object $Request = new Request(); $Request->setUrl('http://topface.com'); // Setup transport $Request->setTransport(Request::TRANSPORT_CURL); // Add request data $Request->addGetField('a', 'value_a'); $Request->addGetField('b', 'value_b'); $Request->addPostField('c', 'value_c'); $Request->addPostField('d', 'value_d'); // Create custom request data signature $sign = $Request->getSignature(function (Request $Request) { $sign = ''; $get = $Request->getGetData(); if (!empty($get)) { $sign = http_build_query($get); } $post = $Request->getPostData(); if (!empty($post)) { $sign .= '&' . http_build_query($post); } return $sign;
/** * Add parameters for the request * @param \Network\Http\Request $Request request instance * @param array $get GET method parameters * @param array $post POST method parameters */ private function addRequestParameters(Request &$Request, array $get = null, array $post = null) { if (!is_null($get)) { foreach ($get as $key => $value) { $Request->addGetField($key, $value); } } if (!is_null($post)) { foreach ($post as $key => $value) { $Request->addPostField($key, $value); } } }
/** * Append parameters to HTTP request * @param HttpRequest $HttpRequest HTTP request instance */ private function appendParameters(HttpRequest $HttpRequest) { switch ($HttpRequest->getMethod()) { case HttpRequest::METHOD_GET: foreach ($this->parameters as $field => $value) { $HttpRequest->addGetField($field, $value); } break; case HttpRequest::METHOD_POST: $HttpRequest->setPostData($this->parameters); break; } }