예제 #1
0
 private function _baseControl($opt)
 {
     $content = '';
     $resource = 'queue';
     if (isset($opt[self::QUEUE_NAME]) && !is_null($opt[self::QUEUE_NAME])) {
         $resource = $opt[self::QUEUE_NAME];
         unset($opt[self::QUEUE_NAME]);
     } else {
         if (isset($opt[self::UID]) && !is_null($opt[self::UID])) {
             $resource = $opt[self::UID];
         }
     }
     $host = $opt[self::HOST];
     unset($opt[self::HOST]);
     foreach ($opt as $k => $v) {
         if (is_string($v)) {
             $v = urlencode($v);
         }
         $content .= $k . '=' . $v . '&';
     }
     $content = substr($content, 0, strlen($content) - 1);
     $url = 'http://' . $host . '/rest/2.0/' . self::PRODUCT . '/';
     $url .= $resource;
     $request = new RequestCore($url);
     $headers['Content-Type'] = 'application/x-www-form-urlencoded';
     $headers['User-Agent'] = 'Baidu Message Service Phpsdk Client';
     foreach ($headers as $headerKey => $headerValue) {
         $headerValue = str_replace(array("\r", "\n"), '', $headerValue);
         if ($headerValue !== '') {
             $request->add_header($headerKey, $headerValue);
         }
     }
     $request->set_method('POST');
     $request->set_body($content);
     if (is_array($this->_curlOpts)) {
         $request->set_curlOpts($this->_curlOpts);
     }
     $request->send_request();
     return new ResponseCore($request->get_response_header(), $request->get_response_body(), $request->get_response_code());
 }