function endereco(&$model, $cep) { if (!$this->_validaCep($cep, '-')) { return ERRO_CORREIOS_PARAMETROS_INVALIDOS; } // Requisição $HttpSocket = new HttpSocket(); $uri = array('scheme' => 'http', 'host' => 'www.correios.com.br', 'port' => 80, 'path' => '/encomendas/prazo/prazo.cfm'); $data = array('resposta' => 'paginaCorreios', 'servico' => CORREIOS_SEDEX, 'cepOrigem' => $cep, 'cepDestino' => $cep, 'peso' => 1, 'MaoPropria' => 'N', 'valorDeclarado' => 0, 'avisoRecebimento' => 'N', 'Altura' => '', 'Comprimento' => '', 'Diametro' => '', 'Formato' => 1, 'Largura' => '', 'embalagem' => 116600055, 'valorD' => ''); $retornoCorreios = $HttpSocket->post($uri, $data); if ($HttpSocket->response['status']['code'] != 200) { return ERRO_CORREIOS_FALHA_COMUNICACAO; } // Convertendo para o encoding da aplicação. Isto só funciona se a extensão multibyte estiver ativa $encoding = Configure::read('App.encoding'); if (function_exists('mb_convert_encoding') && $encoding != null && strcasecmp($encoding, 'iso-8859-1') != 0) { $retornoCorreios = mb_convert_encoding($retornoCorreios, $encoding, 'ISO-8859-1'); } // Checar se o conteúdo está lá e reduzir o escopo de busca dos valores if (!preg_match('/\\<b\\>CEP:\\<\\/b\\>(.*)\\<b\\>Prazo de Entrega/', $retornoCorreios, $matches)) { return ERRO_CORREIOS_CONTEUDO_INVALIDO; } $escopoReduzido = $matches[1]; // Logradouro preg_match('/\\<b\\>Endereço:\\<\\/b\\>\\s*\\<\\/td\\>\\s*\\<td[^\\>]*>([^\\<]*)\\</', $escopoReduzido, $matches); $logradouro = $matches[1]; // Bairro preg_match('/\\<b\\>Bairro:\\<\\/b\\>\\s*\\<\\/td\\>\\s*\\<td[^\\>]*>([^\\<]*)\\</', $escopoReduzido, $matches); $bairro = $matches[1]; // Cidade e Estado preg_match('/\\<b\\>Cidade\\/UF:\\<\\/b\\>\\s*\\<\\/td\\>\\s*\\<td[^\\>]*>([^\\<]*)\\</', $escopoReduzido, $matches); list($cidade, $uf) = explode('/', $matches[1]); return compact('logradouro', 'bairro', 'cidade', 'uf'); }
function admin_callback() { $endpoint = $this->request->query['openid_op_endpoint']; $query = array(); $keys = array('openid.ns', 'openid.mode', 'openid.op_endpoint', 'openid.response_nonce', 'openid.return_to', 'openid.assoc_handle', 'openid.signed', 'openid.sig', 'openid.identity', 'openid.claimed_id', 'openid.ns.ext1', 'openid.ext1.mode', 'openid.ext1.type.firstname', 'openid.ext1.value.firstname', 'openid.ext1.type.email', 'openid.ext1.value.email', 'openid.ext1.type.lastname', 'openid.ext1.value.lastname'); foreach ($keys as $key) { $underscoreKey = str_replace('.', '_', $key); if (isset($this->params['url'][$underscoreKey])) { $query[$key] = $this->params['url'][$underscoreKey]; } } $query['openid.mode'] = 'check_authentication'; $Http = new HttpSocket(); $response = $Http->get($this->request->query['openid_op_endpoint'] . '?' . http_build_query($query)); if (strpos($response, 'is_valid:true') === false) { return $this->redirect($this->Auth->loginAction); } $url = $this->params['url']; if (isset($url['openid_mode']) && $url['openid_mode'] == 'cancel') { return $this->redirect($this->Auth->redirect()); } $user = array('id' => $url['openid_ext1_value_email'], 'name' => $url['openid_ext1_value_firstname'] . ' ' . $url['openid_ext1_value_lastname'], 'email' => $url['openid_ext1_value_email']); $this->__callback($user); $this->Session->write(AuthComponent::$sessionKey, $user); $this->set('redirect', $this->Auth->redirect()); }
protected function _request($method, $params = array(), $request = array()) { // preparing request $query = Hash::merge(array('method' => $method, 'format' => 'json'), $params); $request = Hash::merge($this->_request, array('uri' => array('query' => $query)), $request); // Read cached GET results if ($request['method'] == 'GET') { $cacheKey = $this->_generateCacheKey(); $results = Cache::read($cacheKey); if ($results !== false) { return $results; } } // createding http socket object with auth configuration $HttpSocket = new HttpSocket(); $HttpSocket->configAuth('OauthLib.Oauth', array('Consumer' => array('consumer_token' => $this->_config['key'], 'consumer_secret' => $this->_config['secret']), 'Token' => array('token' => $this->_config['token'], 'secret' => $this->_config['secret2']))); // issuing request $response = $HttpSocket->request($request); // olny valid response is going to be parsed if ($response->code != 200) { if (Configure::read('debugApis')) { debug($request); debug($response->body); } return false; } // parsing response $results = $this->_parseResponse($response); // cache and return results if ($request['method'] == 'GET') { Cache::write($cacheKey, $results); } return $results; }
function download() { $result = array('success' => true, 'error' => null); $home = Configure::read('20Couch.home'); App::import('Core', array('HttpSocket', 'File')); $Http = new HttpSocket(); $Setting = ClassRegistry::init('Setting'); $url = sprintf('%s/registrations/direct/%s/' . Configure::read('Update.file'), $home, $Setting->find('value', 'registration_key')); $latest = $Http->get($url); if ($latest === false || $Http->response['status']['code'] != 200) { if ($Http->response['status']['code'] == 401) { $msg = 'Invalid registration key'; } else { $msg = 'Unable to retrieve latest file from ' . $home; } $this->log($url); $this->log($Http->response); $result = array('success' => false, 'error' => $msg); $this->set('result', $result); return; } $File = new File(TMP . Configure::read('Update.file'), false); $File->write($latest); $File->close(); $latestChecksum = trim($Http->get($home . '/checksum')); $yourChecksum = sha1_file(TMP . Configure::read('Update.file')); if ($yourChecksum != $latestChecksum) { $result = array('success' => false, 'error' => 'Checksum doesn\'t match (' . $yourChecksum . ' vs ' . $latestChecksum . ')'); $this->set('result', $result); return; } $result = array('success' => true, 'error' => null); $this->set('result', $result); }
function index() { App::import('Core', 'HttpSocket'); $HttpSocketPr = new HttpSocket(); // $results = $HttpSocketPr->get('https://www.google.com.mx/search', 'q=php'); $HttpSocketPr->get('http://anonymouse.org/cgi-bin/anon-www.cgi/http://187.141.67.234/projections/users/login'); // returns html for Google's search results for the query "cakephp" if (!empty($HttpSocketPr->response['cookies']['CAKEPHP']['path']) and $HttpSocketPr->response['cookies']['CAKEPHP']['path'] === '/projections') { debug($HttpSocketPr->response['cookies']); var_dump('Projections External site is OK'); } else { var_dump('Projections External site is Down'); } $HttpSocketGst = new HttpSocket(); $HttpSocketGst->get('http://anonymouse.org/cgi-bin/anon-www.cgi/http://187.141.67.234/gst/users/login'); if (!empty($HttpSocketGst->response['cookies']['CAKEPHP']['path']) and $HttpSocketGst->response['cookies']['CAKEPHP']['path'] === '/gst') { debug($HttpSocketGst->response['cookies']); var_dump('Gst External site is OK'); } else { var_dump('Gst External site is Down'); } // $HttpSocketFm = new HttpSocket(); // $HttpSocketFm->get('http://localhost/smb/class/filemanager/filemanager.php'); // // $this->set('fm',$HttpSocketFm->response['body']); $this->FieldView->recursive = 0; $this->set('fieldViews', $this->paginate()); }
function sendSMS($phone, $message) { App::uses('HttpSocket', 'Network/Http'); $HttpSocket = new HttpSocket(); $results = $HttpSocket->post('http://mobileautomatedsystems.com/index.php?option=com_spc&comm=spc_api', array('username' => 'noibilism', 'password' => 'noheeb', 'sender' => 'NASFAT', 'recipient' => $phone, 'message' => $message)); return $results; }
public function getStatus($code) { App::import('Core', 'HttpSocket'); $HttpSocket = new HttpSocket(array('timeout' => $this->timeout)); $response = $HttpSocket->get($this->pgURI . $code, "email={$__config['email']}&token={$__config['token']}"); return $this->__status($response); }
/** * fetches url with curl if available * fallbacks: cake and php * note: expects url with json encoded content * @access private **/ public function fetch($url, $agent = 'cakephp http socket lib') { if ($this->use['curl'] && function_exists('curl_init')) { $this->debug = 'curl'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_USERAGENT, $agent); $response = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($status != '200') { $this->setError('Error ' . $status); return false; } return $response; } elseif ($this->use['cake'] && App::import('Core', 'HttpSocket')) { $this->debug = 'cake'; $HttpSocket = new HttpSocket(array('timeout' => 5)); $response = $HttpSocket->get($url); if (empty($response)) { //TODO: status 200? return false; } return $response; } elseif ($this->use['php'] || true) { $this->debug = 'php'; $response = file_get_contents($url, 'r'); //TODO: status 200? if (empty($response)) { return false; } return $response; } }
/** * test_Censorship * */ public function test_Censorship() { $hash = $this->hash; $to = 'to+' . $hash . '@mailback.me'; Configure::write('Postman.censorship.mode', true); Configure::write('Postman.censorship.config', array('transport' => 'Smtp', 'from' => array('*****@*****.**' => 'from'), 'to' => $to, 'host' => 'mail.mailback.me', 'port' => 25, 'timeout' => 30, 'log' => false, 'charset' => 'utf-8', 'headerCharset' => 'utf-8')); $message = 'Censored'; $expect = $message; $this->email->subject('メールタイトル'); $this->email->send($expect); sleep(15); $url = 'http://mailback.me/to/' . $hash . '.body'; App::uses('HttpSocket', 'Network/Http'); $HttpSocket = new HttpSocket(); $results = $HttpSocket->get($url, array()); $body = trim(str_replace(array("\r\n", "\n", ' '), '', $results->body)); $message = trim(str_replace(array("\r\n", "\n", ' '), '', $message)); $this->assertIdentical($results->code, '200'); $this->assertIdentical($body, $message); // CC $ccUrl = 'http://mailback.me/to/unknown-cc-' . $hash . '.body'; $results = $HttpSocket->get($ccUrl, array()); $this->assertContains('404', $results->body); // BCC $bccUrl = 'http://mailback.me/to/unknown-bcc-' . $hash . '.body'; $results = $HttpSocket->get($bccUrl, array()); $this->assertContains('404', $results->body); }
function sendSMS($phone, $message) { App::uses('HttpSocket', 'Network/Http'); $HttpSocket = new HttpSocket(); $results = $HttpSocket->post('http://www.mobileautomatedsystems.com/components/com_spc/smsapi.php', array('username' => 'noibilism', 'password' => 'noheeb', 'sender' => 'ZEO Ifo', 'recipient' => $phone, 'message' => $message)); return $results; }
function main() { App::import('HttpSocket'); $site = isset($this->args['0']) ? $this->args['0'] : null; while (empty($site)) { $site = $this->in("What site would you like to crawl?"); if (!empty($site)) { break; } $this->out("Try again."); } $Socket = new HttpSocket(); $links = array(); $start = 0; $num = 100; do { $r = $Socket->get('http://www.google.com/search', array('hl' => 'en', 'as_sitesearch' => $site, 'num' => $num, 'filter' => 0, 'start' => $start)); if (!preg_match_all('/href="([^"]+)" class="?l"?/is', $r, $matches)) { die($this->out('Error: Could not parse google results')); } $links = array_merge($links, $matches[1]); $start = $start + $num; } while (count($matches[1]) >= $num); $links = array_unique($links); $this->out(sprintf('-> Found %d links on google:', count($links))); $this->hr(); $this->out(join("\n", $links)); }
/** * Reads all the files in a directory and process them to extract the description terms * * @return void */ public function main() { $url = 'http://search.yahooapis.com/ContentAnalysisService/V1/termExtraction'; $dir = $this->in('Please input the full path to the documentation folder (including the language directory)'); if (!is_dir($dir) && !is_file($dir . DS . 'index.rst')) { throw new Exception('Invalid directory, please input the full path to one of the language directories for the docs repo'); } $files = new RegexIterator(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir)), '/\\.rst$/'); foreach ($files as $item) { if ($item->isDir()) { continue; } $request = new HttpSocket(); $content = file($item->getRealPath()); $data = array('appid' => 'rrLaMQjV34HtIOsgPxf597DEP9KFoUzWybkmb4USJMPA89aCMWjjPFlnF3lD5ys-', 'query' => 'cakephp ' . $content[0], 'output' => 'json', 'context' => file_get_contents($item->getRealPath())); $result = $request->post('http://search.yahooapis.com/ContentAnalysisService/V1/termExtraction', $data); $keywords = json_decode($result->body); $keywords = $keywords->ResultSet->Result; $meta = $this->generateMeta($keywords, str_replace("\n", '', $content[0])); $fh = fopen($item->getRealPath(), 'a'); fwrite($fh, "\n\n" . $meta); fclose($fh); $this->out('<success>Processed</success> ' . $item->getRealPath()); } }
/** * Sends out email via Mandrill * * @return array Return the Mandrill */ public function send(CakeEmail $email) { // CakeEmail $this->_cakeEmail = $email; $this->_config = $this->_cakeEmail->config(); $this->_headers = $this->_cakeEmail->getHeaders(array('from', 'to', 'cc', 'bcc', 'replyTo', 'subject')); // Setup connection $this->__mandrillConnection =& new HttpSocket(); // Build message $message = $this->__buildMessage(); // Build request $request = $this->__buildRequest(); if (isset($this->_config['mandrillTemplate']) && !empty($this->_config['mandrillTemplate'])) { $message_send_uri = $this->_config['uri'] . "messages/send-template.json"; } else { $message_send_uri = $this->_config['uri'] . "messages/send.json"; } // Send message try { $returnMandrill = $this->__mandrillConnection->post($message_send_uri, json_encode($message), $request); // Return data $result = json_decode($returnMandrill, true); $headers = $this->_headersToString($this->_headers); return array_merge(array('Mandrill' => $result), array('headers' => $headers, 'message' => $message)); } catch (Exception $e) { return false; } }
public function wpp_hash($method = null, $nvp = null) { $HttpSocket = new HttpSocket(); $required_nvp = 'METHOD=' . $method; $required_nvp .= '&VERSION=' . Configure::read('Paypal.version'); $required_nvp .= '&USER='******'Paypal.username'); $required_nvp .= '&PWD=' . Configure::read('Paypal.password'); $required_nvp .= '&SIGNATURE=' . Configure::read('Paypal.signature'); debug($required_nvp); die; $http_responder = $HttpSocket->post(Configure::read('Paypal.endpoint'), $required_nvp . $nvp); if (!$http_responder) { throw new BadRequestException($method . 'failed: ' . $http_responder['reasonPhrase']); } $responder = explode('&', $http_responder); $parsed_response = array(); foreach ($responder as $response) { $response_array = explode('=', $response); if (count($response_array) >= 1) { $parsed_response[$response_array[0]] = urldecode($response_array[1]); } } if (count($parsed_response) < 1 || !array_key_exists('ACK', $parsed_response)) { throw new BadRequestException('Invalid HTTP Response for POST request (' . $required_nvp . $nvp . ') to ' . Configure::read('Paypal.endpoint')); } return $parsed_response; }
protected function _request($path, $request = array()) { // preparing request $request = Hash::merge($this->_request, $request); $request['uri']['path'] .= $path; if (isset($request['uri']['query'])) { $request['uri']['query'] = array_merge(array('access_token' => $this->_config['token']), $request['uri']['query']); } else { $request['uri']['query'] = array('access_token' => $this->_config['token']); } // createding http socket object for later use $HttpSocket = new HttpSocket(array('ssl_verify_host' => false)); // issuing request $response = $HttpSocket->request($request); // olny valid response is going to be parsed if (substr($response->code, 0, 1) != 2) { if (Configure::read('debugApis')) { debug($request); debug($response->body); die; } return false; } // parsing response $results = $this->_parseResponse($response); if (isset($results['data'])) { return $results['data']; } return $results; }
public function index() { $HttpSocket = new HttpSocket (); if (sizeof ( $this->params ['pass'] [0] ) != 1) { throw new InvalidArgumentException (); } if (! empty ( $_SERVER ['PHP_AUTH_USER'] ) && ! empty ( $_SERVER ['PHP_AUTH_PW'] )) { $HttpSocket->configAuth ( 'Basic', $_SERVER ['PHP_AUTH_USER'], $_SERVER ['PHP_AUTH_PW'] ); } elseif (isset ( $this->CurrentUser )) { $HttpSocket->configAuth ( 'Basic', $this->Session->read ( 'Auth.User.Login' ), $this->Session->read ( 'Auth.User.Password' ) ); } $this->response->type ( 'json' ); $request = array ( 'method' => env ( 'REQUEST_METHOD' ), 'body' => $this->request->data, 'uri' => array ( 'scheme' => Configure::read ( 'Api.scheme' ), 'host' => Configure::read ( 'Api.host' ), 'port' => 80, 'path' => Configure::read ( 'Api.path' ) . $this->params ['pass'] [0], 'query' => $this->params->query ) ); $response = $HttpSocket->request ( $request ); $this->response->statusCode ( $response->code ); $this->response->body ( $response->body ); return $this->response; }
public function decrypt() { while (empty($md5)) { $md5 = $this->in('Ingrese el Hash a buscar'); } $HttpSocket = new HttpSocket(); $md5 = trim($md5); if (strlen($md5) !== 32) { return $this->out('Hash invalido'); } $matches = array(); $html = $HttpSocket->get($this->_url); $pattern = '/<input type="hidden" name="a" value="(.*)">/Uis'; preg_match_all($pattern, $html->body, $matches, PREG_SET_ORDER); if (empty($matches[0][1])) { return $this->out('El servidor no responde'); } $a = $matches[0][1]; $rest = $this->postDataViaCurl($HttpSocket, $md5, $a); do { $this->out('..'); sleep(1); } while ($rest->code === null); $returnArray = array(); $pattern2 = '/Found (.*) <b>(.*)<\\/b><\\/span>/Uis'; preg_match_all($pattern2, $rest, $returnArray, PREG_SET_ORDER); if (empty($returnArray[0][2])) { return $this->out('El servidor no responde'); } $nt = trim(strip_tags($returnArray[0][2])); if (empty($nt)) { return false; } $this->out('Contraseña desencriptada: <info>' . $nt . '</info>'); }
protected function _request($path, $request = array()) { // preparing request $request = Hash::merge($this->_request, $request); $request['uri']['path'] .= $path; // Read cached GET results if ($request['method'] == 'GET') { $cacheKey = $this->_generateCacheKey(); $results = Cache::read($cacheKey); if ($results !== false) { return $results; } } // createding http socket object for later use $HttpSocket = new HttpSocket(); // issuing request $response = $HttpSocket->request($request); // olny valid response is going to be parsed if (substr($response->code, 0, 1) != 2) { if (Configure::read('debugApis')) { debug($request); debug($response->body); } return false; } // parsing response $results = $this->_parseResponse($response); // cache and return results if ($request['method'] == 'GET') { Cache::write($cacheKey, $results); } return $results; }
public function maestro($key = null) { if ($key != 'secret') { die('sorry'); } App::uses('HttpSocket', 'Network/Http'); $httpSocket = new HttpSocket(); $yesterday = date("Y-m-d H:i:s", strtotime("-1 day")); // print_r($yesterday); // die; $products = $this->Product->find('all', array('recursive' => -1, 'conditions' => array('Product.user_id' => 11, 'Product.active' => 1, 'Product.stock_updated <' => $yesterday), 'order' => 'RAND()', 'limit' => 20)); foreach ($products as $product) { //sleep(1); $response = $httpSocket->get('https://www.maestrolico.com/api/checkstockstatus.asp?distributorid=117&productid=' . $product['Product']['vendor_sku']); echo '<br /><hr><br />'; echo $product['Product']['name'] . ' - ' . $product['Product']['vendor_sku']; echo '<br /><br />'; debug($response['body']); $update = explode('|', $response['body']); debug($update); debug(date('H:i:s')); $data['Product']['id'] = $product['Product']['id']; $data['Product']['stock'] = $update[1]; $data['Product']['stock_updated'] = date('Y-m-d H:i:s'); $this->Product->save($data, false); } die('end'); }
/** * _get() * * @param mixed $url * @param mixed $params * @return string */ protected function _get($url, $params) { $Socket = new HttpSocket(); $response = $Socket->get($url, $params); //$file = TMP . Inflector::slug($url) . '.json'; //file_put_contents($file, $response->body); return isset($response->body) ? $response->body : ''; }
/** * Performs an API request to Basecamp * @param string $url * @param string $method * @param array $options * @return string * @access protected */ protected function _request($url, $method = 'GET', $options = array()) { // Extract our settings and create our HttpSocket extract($this->settings); $socket = new HttpSocket(); // Build, execute and return the response return $socket->request(am(array('method' => $method, 'uri' => array('scheme' => 'http', 'host' => $account . '.' . 'campfirenow.com', 'path' => $url, 'user' => $token, 'pass' => 'X'), 'auth' => array('method' => 'Basic', 'user' => $token, 'pass' => 'X'), 'header' => array('User-Agent' => 'CakePHP CampfireComponent')), $options)); }
public function testPostViaSocket() { $url = 'https://www.sofort.com/payment/notAvailable'; $SofortLibHttpSocket = new HttpSocket($url); $SofortLibHttpSocket->post('test'); $httpCode = $SofortLibHttpSocket->getHttpCode(); $this->assertTrue($httpCode['code'] === 404); $this->assertTrue($httpCode['message'] === '<errors><error><code>0404</code><message>URL not found ' . $url . '</message></error></errors>'); }
/** * Method of API * * @return HttpSocketResponse */ public function api() { $args = func_get_args(); $url = implode('/', array(self::URL, 'api', array_shift($args))) . ".json"; do { $data = array_merge($this->settings, array_shift($args)); } while ($args); return $this->http->post($url, $data); }
/** * Issues request and returns response as an array decoded according to the * response's content type if the response code is 200, else triggers the * $model->onError() method (if it exists) and finally returns false. * * @param mixed $model Either a CakePHP model with a request property, or an * array in the format expected by HttpSocket::request or a string which is a * URI. * @return mixed The response or false */ public function request(&$model) { if (is_object($model)) { $request = $model->request; } elseif (is_array($model)) { $request = $model; } elseif (is_string($model)) { $request = array('uri' => $model); } // Remove unwanted elements from request array $request = array_intersect_key($request, $this->Http->request); // Issues request $response = $this->Http->request($request); // Get content type header $contentType = $this->Http->response['header']['Content-Type']; // Extract content type from content type header if (preg_match('/^([a-z0-9\\/\\+]+);\\s*charset=([a-z0-9\\-]+)/i', $contentType, $matches)) { $contentType = $matches[1]; $charset = $matches[2]; } // Decode response according to content type switch ($contentType) { case 'application/xml': case 'application/atom+xml': case 'application/rss+xml': // If making multiple requests that return xml, I found that using the // same Xml object with Xml::load() to load new responses did not work, // consequently it is necessary to create a whole new instance of the // Xml class. This can use a lot of memory so we have to manually // garbage collect the Xml object when we've finished with it, i.e. got // it to transform the xml string response into a php array. App::import('Core', 'Xml'); $Xml = new Xml($response); $response = $Xml->toArray(false); // Send false to get separate elements $Xml->__destruct(); $Xml = null; unset($Xml); break; case 'application/json': case 'text/javascript': $response = json_decode($response, true); break; } if (is_object($model)) { $model->response = $response; } // Check response status code for success or failure if (substr($this->Http->response['status']['code'], 0, 1) != 2) { if (is_object($model) && method_exists($model, 'onError')) { $model->onError(); } return false; } return $response; }
public function request_delete($id) { $link = Router::url('/', true) . 'rest_posts/' . $id . '.json'; $data = null; $httpSocket = new HttpSocket(); $response = $httpSocket->delete($link, $data); $this->set('response_code', $response->code); $this->set('response_body', $response->body); $this->render('/Client/request_response'); }
/** * paginate * * @param mixed $conditions * @param mixed $fields * @param mixed $order * @param integer $limit * @param integer $page * @param integer $recursive * @param array $extract * @return array */ public function paginate($conditions, $fields, $order, $limit, $page, $recursive, $extra) { $HttpSocket = new HttpSocket(); $query = array('q' => Set::extract('q', $conditions), 'page' => $page, 'rpp' => $limit, 'lang' => Set::extract('lang', $conditions)); $ret = $HttpSocket->get(self::API_SEARCH, $query); if ($ret) { $Xml = new Xml($ret); return $Xml->toArray(); } return array(); }
/** * Makes an HTTP request using HttpSocket. * * @param string $url The URL to make the request to * @param array $params The parameters to use for the POST body * @param CurlHandler $ch Initialized curl handle. (Hopefully this is never used...) * * @return string The response text */ protected function makeRequest($url, $params, $ch = null) { App::import('Core', 'HttpSocket'); $HttpSocket = new HttpSocket(); $result = $HttpSocket->post($url, $params); if ($result === false || $HttpSocket->response['status']['code'] != '200') { $execption = new FacebookApiException(array('error_code' => $HttpSocket->response['status']['code'], 'error' => array('message' => $HttpSocket->response['status']['reason-phrase'], 'type' => 'HttpSocketException'))); throw $execption; } return $result; }
function greet($peer_address = null, $peer_port = null, $data = array()) { if (!$peer_address || !$peer_port) { return true; } App::import('Core', 'HttpSocket'); $HttpSocket = new HttpSocket(); $req = array('method' => 'POST', 'uri' => array('scheme' => 'http', 'host' => $peer_address, 'port' => $peer_port, 'path' => '/peers/hello'), 'header' => array('User-Agent' => 'Gitrbug/0.2'), 'body' => array('data' => $data)); $res = $HttpSocket->request($req); return json_decode($res, true); }
public function request_delete($id) { // remotely post the information to the server $link = "http://" . $_SERVER['HTTP_HOST'] . $this->webroot . 'rest_tasks/' . $id . '.json'; $data = null; $httpSocket = new HttpSocket(); $response = $httpSocket->delete($link, $data); $this->set('response_code', $response->code); $this->set('response_body', $response->body); $this->render('/Client/request_response'); }
/** * Creates a github issue with title and body in configured project. * * @param string $title * @param string $body * @throws BadRequestException */ public function githubIssue($type, $title, $body) { $socket = new HttpSocket(); $url = static::GITHUB_URL . '/repos/' . Configure::read('Feedback.github.project') . '/issues'; $data = json_encode(array('title' => $title, 'body' => $body, 'labels' => array_merge(array($type), Configure::read('Feedback.github.labels')))); $result = $socket->post($url, $data, array('header' => array('Authorization' => 'token ' . Configure::read('Feedback.github.auth_token')))); if (!in_array((int) $result->code, array(200, 201, 202, 203, 204, 205, 206))) { throw new BadRequestException('Error entering feedback.'); } $body = json_decode($result->body, true); return $body['html_url']; }