protected function __construct(CurlRequest $request)
 {
     $this->request = $request;
     $this->data = $this->parseData();
     self::$last_response = $this;
 }
 public function send()
 {
     // try {
     $request = $this->getCurlRequest();
     $request->setUrl($this->getUrl());
     $request->setMethod($this->getType());
     switch (strtoupper($this->getType())) {
         case 'GET':
             $request->setQueryData($this->getAllArgs());
             break;
         case 'POST':
             // |
         // |
         case 'PUT':
             // v TODO Test PUT request types
             $request->setQueryData($this->getRequestArgs());
             $request->addPostFields($this->getArgs());
             break;
     }
     $request->send();
     $response = ApiClient_Response::create($request);
     return $response;
     //	} catch (Exception $e) {
     $message = "\n\t\t\tAPI Request Failed:<br />\n\t\t\turl: {$this->getUrl()} <br />\n\t\t\tparams: {$this->getAllArgs()}<br />\n\t\t\t";
     die($message);
     //	}
 }