put() public static method

Send PUT request to a URL
public static put ( string $url, array $headers = [], mixed $body = null, string $username = null, string $password = null ) : unirest\Response
$url string URL to send the PUT request to
$headers array additional headers to send
$body mixed PUT body data
$username string Basic Authentication username (deprecated)
$password string Basic Authentication password (deprecated)
return unirest\Response
コード例 #1
0
ファイル: Texts.php プロジェクト: radiegtya/rapid-api-php
 public static function put($id, $body = null, $headers = null)
 {
     if (!$headers) {
         $headers = Rapid::getAuthHeader();
     }
     $response = Request::put(Rapid::getUrl(self::$route . '/' . $id), $headers, http_build_query($body));
     return Response::make($response);
 }
コード例 #2
0
 /**
  * Updates Booking status information.Newly created booking has status `reserved`. In this status BeMyGuest inventory is not yet deducted.Inventory is locked after changing status of the booking from `reserved` to `waiting` (`confirm` action).When the booking is first created, it is marked as `reserved`. Inventories aren't touched yet. Once the partner decides to confirm the said booking, this is the only time the inventory will be impacted. The booking status will be updated from `reserved` to `waiting`.5 days after the booking date all booking with status `waiting` will be marked `expired`.There's 3rd extra action you may invoke in this method : `resend`. If `confirmationEmailSentAt` value is not null then the confirmation email copy sent o partner will be sent again and the timestamp value of this field will be updated.In response Booking object is returned, for example        {          "data": {              "uuid": "c53cbc74-1efa-58bb-afef-750afc52cd75",              "totalAmount": "123.98",              "currencyCode": "SGD",              "currencyUuid": "cd15153e-dfd1-5039-8aa3-115bec58e86e",              "totalAmountRequestCurrency": "369.46",              "requestCurrencyCode": "MYR",              "requestCurrencyUuid": "e98aaf89-ae5a-5c11-859a-b36f2c8e13c7",              "createdAt": "2015-12-21 19:53:23",              "updatedAt": "2015-12-21 19:53:23",              "arrivalDate": "2016-02-21",              "salutation": "Mr.",              "firstName": "test",              "lastName": "test",              "email": "*****@*****.**",              "phone": "123456789",              "guests": 2,              "children": 0,              "partnerReference": "test93828",              "confirmationEmailSentAt": null,              "confirmationEmailFiles": [],              "status": "reserved",              "productTypeTitle": "14% OFF for Family: E-Ticket to Universal Studios Singapore",              "productTypeTitleTranslated": "14% OFF for Family: E-Ticket to Universal Studios Singapore",              "productTypeUuid": "9b967f1a-89c2-5083-a758-e359deb2af9b"            }        }### Parameters+ uuid (required,string) - UUID of booking+ status (string) - Status "confirm" or "cancel"
  * @param  string                   $status     Required parameter: New status of the booking, one of [confirm, cancel, resend]
  * @param  string                   $uuid       Required parameter: UUID of booking
  * @param  Models\UpdateBookingRequest $data       Optional parameter: Example: 
  * @return mixed response from the API call
  * @throws APIException Thrown if API call fails
  */
 public function updateBookingStatus($status, $uuid, $data = NULL)
 {
     //the base uri for api requests
     $_queryBuilder = Configuration::$BASEURI;
     //prepare query string for API call
     $_queryBuilder = $_queryBuilder . '/v1/bookings/{uuid}/{status}';
     //process optional query parameters
     APIHelper::appendUrlWithTemplateParameters($_queryBuilder, array('status' => $status, 'uuid' => $uuid));
     //validate and preprocess url
     $_queryUrl = APIHelper::cleanUrl($_queryBuilder);
     //prepare headers
     $_headers = array('user-agent' => 'BeMyGuest.SDK.v1', 'Accept' => 'application/json', 'content-type' => 'application/json; charset=utf-8', 'X-Authorization' => Configuration::$xAuthorization);
     //call on-before Http callback
     $_httpRequest = new HttpRequest(HttpMethod::PUT, $_headers, $_queryUrl);
     if ($this->getHttpCallBack() != null) {
         $this->getHttpCallBack()->callOnBeforeRequest($_httpRequest);
     }
     //and invoke the API call request to fetch the response
     $response = Request::put($_queryUrl, $_headers, Request\Body::Json($data));
     //call on-after Http callback
     if ($this->getHttpCallBack() != null) {
         $_httpResponse = new HttpResponse($response->code, $response->headers, $response->raw_body);
         $_httpContext = new HttpContext($_httpRequest, $_httpResponse);
         $this->getHttpCallBack()->callOnAfterRequest($_httpContext);
     }
     //Error handling using HTTP status codes
     if ($response->code == 400) {
         throw new APIException('Wrong Arguments', $_httpContext);
     } else {
         if ($response->code == 401) {
             throw new APIException('Unauthorized', $_httpContext);
         } else {
             if ($response->code == 403) {
                 throw new APIException('Forbidden', $_httpContext);
             } else {
                 if ($response->code == 404) {
                     throw new APIException('Resource Not Found', $_httpContext);
                 } else {
                     if ($response->code == 405) {
                         throw new APIException('Method Not Allowed', $_httpContext);
                     } else {
                         if ($response->code == 410) {
                             throw new APIException('Resource No Longer Available', $_httpContext);
                         } else {
                             if ($response->code < 200 || $response->code > 208) {
                                 //[200,208] = HTTP OK
                                 throw new APIException("HTTP Response Not OK", $_httpContext);
                             }
                         }
                     }
                 }
             }
         }
     }
     $mapper = $this->getJsonMapper();
     return $mapper->map($response->body, new Models\UpdateBookingStatusResponse());
 }
コード例 #3
0
 /**
  * Transfer Credit
  * @param  string     $clientUserId       Required parameter: Example: 
  * @param  int        $balance            Required parameter: Example: 
  * @param  string     $currency           Required parameter: Example: 
  * @return string response from the API call*/
 public function transferCredit($clientUserId, $balance, $currency)
 {
     //check that all required arguments are provided
     if (!isset($clientUserId, $balance, $currency)) {
         throw new \InvalidArgumentException("One or more required arguments were NULL.");
     }
     //the base uri for api requests
     $_queryBuilder = Configuration::$BASEURI;
     //prepare query string for API call
     $_queryBuilder = $_queryBuilder . '/reseller/transfer-credit';
     //process optional query parameters
     APIHelper::appendUrlWithQueryParameters($_queryBuilder, array('client_user_id' => $clientUserId, 'balance' => $balance, 'currency' => $currency));
     //validate and preprocess url
     $_queryUrl = APIHelper::cleanUrl($_queryBuilder);
     //prepare headers
     $_headers = array('user-agent' => 'ClickSendSDK');
     //set HTTP basic auth parameters
     Request::auth(Configuration::$username, Configuration::$key);
     //and invoke the API call request to fetch the response
     $response = Request::put($_queryUrl, $_headers);
     //Error handling using HTTP status codes
     if ($response->code == 400) {
         throw new APIException('BAD_REQUEST', 400, $response->body);
     } else {
         if ($response->code == 401) {
             throw new APIException('UNAUTHORIZED', 401, $response->body);
         } else {
             if ($response->code == 403) {
                 throw new APIException('FORBIDDEN', 403, $response->body);
             } else {
                 if ($response->code == 404) {
                     throw new APIException('NOT_FOUND', 404, $response->body);
                 } else {
                     if ($response->code == 405) {
                         throw new APIException('METHOD_NOT_FOUND', 405, $response->body);
                     } else {
                         if ($response->code == 429) {
                             throw new APIException('TOO_MANY_REQUESTS', 429, $response->body);
                         } else {
                             if ($response->code == 500) {
                                 throw new APIException('INTERNAL_SERVER_ERROR', 500, $response->body);
                             } else {
                                 if ($response->code < 200 || $response->code > 206) {
                                     //[200,206] = HTTP OK
                                     throw new APIException("HTTP Response Not OK", $response->code, $response->body);
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     return $response->body;
 }
コード例 #4
0
 /**
  * Create a new cart
  * @param  CartCreateModel     $body     Required parameter: TODO: type description here
  * @return mixed response from the API call*/
 public function updateCart($body)
 {
     //the base uri for api requests
     $queryBuilder = Configuration::BASEURI;
     $queryBuilder = Config::get('voxbone.base_uri');
     //prepare query string for API call
     $queryBuilder = $queryBuilder . '/ordering/cart';
     //validate and preprocess url
     $queryUrl = APIHelper::cleanUrl($queryBuilder);
     //prepare headers
     $headers = array('User-Agent' => 'APIMATIC 2.0', 'Accept' => 'application/json', 'Content-type' => 'application/json; charset=utf-8');
     //prepare API request
     $response = Request::put($queryUrl, $headers, json_encode($body));
     //and invoke the API call request to fetch the response
     //$response = Unirest::getResponse($request);
     //Error handling using HTTP status codes
     if ($response->code < 200 || $response->code > 206) {
         //[200,206] = HTTP OK
         return $response;
     }
     return $response->body;
 }
コード例 #5
0
ファイル: routes.php プロジェクト: CamTosh/PufferPanel
        $response->redirect('/admin/server/view/' . $request->param('id'))->send();
        return;
    }
    ORM::get_db()->beginTransaction();
    $server = ORM::forTable('servers')->findOne($core->server->getData('id'));
    $server->name = $request->param('server_name');
    $server->max_ram = $request->param('alloc_mem');
    //$server->disk_space = $request->param('alloc_disk');
    $server->cpu_limit = $request->param('cpu_limit');
    $server->block_io = $request->param('block_io');
    $server->save();
    /*
     * Build the Data
     */
    try {
        Request::put("https://" . $core->server->nodeData('fqdn') . ":" . $core->server->nodeData('daemon_listen') . "/server", array("X-Access-Token" => $core->server->nodeData('daemon_secret'), "X-Access-Server" => $core->server->getData('hash')), array("json" => json_encode(array("cpu" => (int) $request->param('cpu_limit'), "memory" => (int) $request->param('alloc_mem'), "io" => (int) $request->param('block_io'))), "object" => "build", "overwrite" => false));
        ORM::get_db()->commit();
        $service->flash('<div class="alert alert-success">Server settings have been updated.</div>');
        $response->redirect('/admin/server/view/' . $request->param('id'))->send();
        return;
    } catch (Exception $e) {
        Debugger::log($e);
        ORM::get_db()->rollBack();
        $service->flash('<div class="alert alert-danger">An error occured while trying to connect to the remote node. Please check that Scales is running and try again.</div>');
        $response->redirect('/admin/server/view/' . $request->param('id'))->send();
        return;
    }
});
$klein->respond('GET', '/admin/server/new', function ($request, $response, $service) use($core) {
    $response->body($core->twig->render('admin/server/new.html', array('locations' => ORM::forTable('locations')->findMany(), 'plugins' => ORM::forTable('plugins')->findMany(), 'flash' => $service->flashes())))->send();
});
コード例 #6
0
ファイル: users.php プロジェクト: ByteKing/Main
 /**
  * Revokes subuser permissions for a given user that has an active account on the panel.
  *
  * @param object $orm Database query object.
  * @return bool
  */
 public function revokeActiveUserPermissions(ORM $orm)
 {
     if (!$this->avaliable($this->server->nodeData('fqdn'), $this->server->nodeData('daemon_listen'))) {
         self::_setError("Unable to access the server management daemon.");
         return false;
     }
     if ($orm->pending == 0) {
         try {
             $unirest = Unirest\Request::put("https://" . $this->server->nodeData('fqdn') . ":" . $this->server->nodeData('daemon_listen') . "/server", array("X-Access-Token" => $this->server->nodeData('daemon_secret'), "X-Access-Server" => $this->server->getData('hash')), array("json" => json_encode(array($orm->daemon_secret => "")), "object" => "keys", "overwrite" => false));
             if ($unirest->code !== 204) {
                 throw new \Exception();
             }
             ORM::forTable('permissions')->where(array('user' => $orm->user, 'server' => $this->server->getData('id')))->delete_many();
             $orm->delete();
             return true;
         } catch (\Exception $e) {
             \Tracy\Debugger::log($e);
             self::_setError("An error occured when trying to update the server information on the daemon.");
             return false;
         }
     } else {
         ORM::forTable('account_change')->where(array('content' => $orm->email, 'type' => 'user_register'))->findOne()->delete();
         ORM::forTable('subusers')->where(array('id' => $orm->user, 'server' => $this->server->getData('id')))->findOne()->delete();
         $orm->delete();
         return true;
     }
 }
コード例 #7
0
ファイル: routes.php プロジェクト: PhenixH/PufferPanel
    if (!$request->param('file') || !$request->param('file_contents')) {
        $response->code(500)->body('Not all required parameters were passed to the script.')->send();
        return;
    }
    $file = (object) pathinfo($request->param('file'));
    if (!in_array($file->extension, $core->files->editable())) {
        $response->code(500)->body("This type of file cannot be edited.")->send();
        return;
    }
    if (in_array($file->dirname, array(".", "./", "/"))) {
        $file->dirname = "";
    } else {
        $file->dirname = trim($file->dirname, '/') . "/";
    }
    try {
        $unirest = Unirest\Request::put("https://" . $core->server->nodeData('fqdn') . ":" . $core->server->nodeData('daemon_listen') . "/server/file/" . rawurlencode($file->dirname . $file->basename), array('X-Access-Token' => $core->server->getData('daemon_secret'), 'X-Access-Server' => $core->server->getData('hash')), array("contents" => $request->param('file_contents')));
        if ($unirest->code === 204) {
            $response->body('<div class="alert alert-success">File has been successfully saved.</div>')->send();
        } else {
            $response->code(500)->body("An error occured while trying to save this file. [" . $unirest->body->message . "]")->send();
        }
    } catch (\Exception $e) {
        \Tracy\Debugger::log($e);
        $response->code(500)->body("An error was encountered when trying to connect to the remote server to save this file.")->send();
    }
});
$klein->respond('POST', '/node/ajax/files/directory', function ($request, $response) use($core) {
    if (!$core->permissions->has('files.view')) {
        $response->code(403);
        $response->body("You are not authorized to perform this action.")->send();
        return;
コード例 #8
0
 /**
  * Update subaccount
  * @param  int             $subaccountId         Required parameter: Example: 
  * @param  string|null     $password             Optional parameter: Example: 
  * @param  string|null     $email                Optional parameter: Example: 
  * @param  string|null     $phoneNumber          Optional parameter: Example: 
  * @param  string|null     $firstName            Optional parameter: Example: 
  * @param  string|null     $lastName             Optional parameter: Example: 
  * @param  bool|null       $accessUsers          Optional parameter: Example: true
  * @param  bool|null       $accessBilling        Optional parameter: Example: true
  * @param  bool|null       $accessReporting      Optional parameter: Example: true
  * @param  bool|null       $accessContacts       Optional parameter: Example: false
  * @param  bool|null       $accessSettings       Optional parameter: Example: true
  * @return string response from the API call*/
 public function updateSubaccount($subaccountId, $password = NULL, $email = NULL, $phoneNumber = NULL, $firstName = NULL, $lastName = NULL, $accessUsers = true, $accessBilling = true, $accessReporting = true, $accessContacts = false, $accessSettings = true)
 {
     //check that all required arguments are provided
     if (!isset($subaccountId)) {
         throw new \InvalidArgumentException("One or more required arguments were NULL.");
     }
     //the base uri for api requests
     $_queryBuilder = Configuration::$BASEURI;
     //prepare query string for API call
     $_queryBuilder = $_queryBuilder . '/subaccounts/{subaccount_id}';
     //process optional query parameters
     APIHelper::appendUrlWithTemplateParameters($_queryBuilder, array('subaccount_id' => $subaccountId));
     //process optional query parameters
     APIHelper::appendUrlWithQueryParameters($_queryBuilder, array('password' => $password, 'email' => $email, 'phone_number' => $phoneNumber, 'first_name' => $firstName, 'last_name' => $lastName, 'access_users' => null != $accessUsers ? var_export($accessUsers, true) : true, 'access_billing' => null != $accessBilling ? var_export($accessBilling, true) : true, 'access_reporting' => null != $accessReporting ? var_export($accessReporting, true) : true, 'access_contacts' => null != $accessContacts ? var_export($accessContacts, true) : false, 'access_settings' => null != $accessSettings ? var_export($accessSettings, true) : true));
     //validate and preprocess url
     $_queryUrl = APIHelper::cleanUrl($_queryBuilder);
     //prepare headers
     $_headers = array('user-agent' => 'ClickSendSDK');
     //set HTTP basic auth parameters
     Request::auth(Configuration::$username, Configuration::$key);
     //and invoke the API call request to fetch the response
     $response = Request::put($_queryUrl, $_headers);
     //Error handling using HTTP status codes
     if ($response->code == 400) {
         throw new APIException('BAD_REQUEST', 400, $response->body);
     } else {
         if ($response->code == 401) {
             throw new APIException('UNAUTHORIZED', 401, $response->body);
         } else {
             if ($response->code == 403) {
                 throw new APIException('FORBIDDEN', 403, $response->body);
             } else {
                 if ($response->code == 404) {
                     throw new APIException('NOT_FOUND', 404, $response->body);
                 } else {
                     if ($response->code == 405) {
                         throw new APIException('METHOD_NOT_FOUND', 405, $response->body);
                     } else {
                         if ($response->code == 429) {
                             throw new APIException('TOO_MANY_REQUESTS', 429, $response->body);
                         } else {
                             if ($response->code == 500) {
                                 throw new APIException('INTERNAL_SERVER_ERROR', 500, $response->body);
                             } else {
                                 if ($response->code < 200 || $response->code > 206) {
                                     //[200,206] = HTTP OK
                                     throw new APIException("HTTP Response Not OK", $response->code, $response->body);
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     return $response->body;
 }
コード例 #9
0
ファイル: Numberapi.php プロジェクト: cloudapidev/apibay
 public function putInfo($doUrl, $inputs, $number = null)
 {
     $url = setApiUrl($doUrl, $number);
     $response = Unirest\Request::put($url, $this->_headers, json_encode($inputs));
     return json_encode($response);
     if ($response->code == 200) {
         // 			return $response->body;
         return 1;
     }
     return 0;
 }
コード例 #10
0
ファイル: daemon.php プロジェクト: ByteKing/Main
 /**
  * Generates a server.properties file from a given template if it does not already exist.
  *
  * @return bool|string
  */
 public function generateServerProperties()
 {
     $response = $this->_getServerProperties();
     if (!$response) {
         \Tracy\Debugger::log($this->node);
         return "Unable to connect to the Surfit Daemon running on the node.";
     }
     if (!in_array($response->code, array(200, 500))) {
         switch ($response->code) {
             case 403:
                 return "Authentication error encountered.";
             default:
                 return "[HTTP/{$response->code}] Invalid response was recieved. ({$response->raw_body})";
         }
     }
     if ($response->code == 500 || !isset($response->body->contents) || empty($response->body->contents)) {
         /*
          * Create server.properties
          */
         if (!file_exists(APP_DIR . 'templates/server.properties.tpl') || empty(file_get_contents(APP_DIR . 'templates/server.properties.tpl'))) {
             return "No Template Avaliable for server.properties";
         }
         try {
             $put = Unirest\Request::put("https://" . $this->node->fqdn . ":" . $this->node->daemon_listen . "/server/file/server.properties", array("X-Access-Token" => $this->server->daemon_secret, "X-Access-Server" => $this->server->hash), array("contents" => sprintf(file_get_contents(APP_DIR . 'templates/server.properties.tpl'), $this->server->server_port, $this->server->server_ip)));
         } catch (\Exception $e) {
             \Tracy\Debugger::log($e);
             return "An error occured when trying to write a server.properties file.";
         }
         if (!empty($put->body)) {
             return "Unable to process request to create server.properties file.";
         }
     }
     return true;
 }
コード例 #11
0
 public function put($uri, $data = [], $files = [])
 {
     $headers = ['Accept' => 'application/json', 'Content-Type' => empty($files) ? 'application/json' : 'multipart/form-data', 'X-IFSISTEM-TOKEN' => $this->token, 'X-IFSISTEM-DIL-ID' => $this->dilId];
     $body = empty($files) ? Request\Body::Json($data) : Request\Body::multipart($data, $files);
     return Request::put($this->uri . $uri, $headers, $body);
 }
コード例 #12
0
 /**
  * Update post return address
  * @param  int        $returnAddressId         Required parameter: Example: 
  * @param  string     $addressName             Required parameter: Example: 
  * @param  string     $addressLine1            Required parameter: Example: 
  * @param  string     $addressLine2            Required parameter: Example: 
  * @param  string     $addressCity             Required parameter: Example: 
  * @param  string     $addressState            Required parameter: Example: 
  * @param  string     $addressPostalCode       Required parameter: Example: 
  * @param  string     $addressCountry          Required parameter: Example: 
  * @return string response from the API call*/
 public function updatePostReturnAddress($returnAddressId, $addressName, $addressLine1, $addressLine2, $addressCity, $addressState, $addressPostalCode, $addressCountry)
 {
     //check that all required arguments are provided
     if (!isset($returnAddressId, $addressName, $addressLine1, $addressLine2, $addressCity, $addressState, $addressPostalCode, $addressCountry)) {
         throw new \InvalidArgumentException("One or more required arguments were NULL.");
     }
     //the base uri for api requests
     $_queryBuilder = Configuration::$BASEURI;
     //prepare query string for API call
     $_queryBuilder = $_queryBuilder . '/post/return-addresses/{return_address_id}';
     //process optional query parameters
     APIHelper::appendUrlWithTemplateParameters($_queryBuilder, array('return_address_id' => $returnAddressId));
     //process optional query parameters
     APIHelper::appendUrlWithQueryParameters($_queryBuilder, array('address_name' => $addressName, 'address_line_1' => $addressLine1, 'address_line_2' => $addressLine2, 'address_city' => $addressCity, 'address_state' => $addressState, 'address_postal_code' => $addressPostalCode, 'address_country' => $addressCountry));
     //validate and preprocess url
     $_queryUrl = APIHelper::cleanUrl($_queryBuilder);
     //prepare headers
     $_headers = array('user-agent' => 'ClickSendSDK');
     //set HTTP basic auth parameters
     Request::auth(Configuration::$username, Configuration::$key);
     //and invoke the API call request to fetch the response
     $response = Request::put($_queryUrl, $_headers);
     //Error handling using HTTP status codes
     if ($response->code == 400) {
         throw new APIException('BAD_REQUEST', 400, $response->body);
     } else {
         if ($response->code == 401) {
             throw new APIException('UNAUTHORIZED', 401, $response->body);
         } else {
             if ($response->code == 403) {
                 throw new APIException('FORBIDDEN', 403, $response->body);
             } else {
                 if ($response->code == 404) {
                     throw new APIException('NOT_FOUND', 404, $response->body);
                 } else {
                     if ($response->code == 405) {
                         throw new APIException('METHOD_NOT_FOUND', 405, $response->body);
                     } else {
                         if ($response->code == 429) {
                             throw new APIException('TOO_MANY_REQUESTS', 429, $response->body);
                         } else {
                             if ($response->code == 500) {
                                 throw new APIException('INTERNAL_SERVER_ERROR', 500, $response->body);
                             } else {
                                 if ($response->code < 200 || $response->code > 206) {
                                     //[200,206] = HTTP OK
                                     throw new APIException("HTTP Response Not OK", $response->code, $response->body);
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     return $response->body;
 }
コード例 #13
0
 /**
  * Request the verification of an address
  * @param  int        $addressId        Required parameter: The address identifier
  * @return mixed response from the API call*/
 public function addressVerification($addressId)
 {
     //the base uri for api requests
     $queryBuilder = Configuration::BASEURI;
     $queryBuilder = Config::get('voxbone.base_uri');
     //prepare query string for API call
     $queryBuilder = $queryBuilder . '/regulation/address/{addressId}/verification';
     //process optional query parameters
     APIHelper::appendUrlWithTemplateParameters($queryBuilder, array('addressId' => $addressId));
     //validate and preprocess url
     $queryUrl = APIHelper::cleanUrl($queryBuilder);
     //prepare headers
     $headers = array('User-Agent' => 'APIMATIC 2.0', 'Accept' => 'application/json', 'Content-type' => 'application/json; charset=utf-8');
     //prepare API request
     $response = Request::put($queryUrl, $headers);
     //and invoke the API call request to fetch the response
     //$response = Unirest::getResponse($request);
     //Error handling using HTTP status codes
     if ($response->code < 200 || $response->code > 206) {
         //[200,206] = HTTP OK
         return $response;
     }
     return $response->body;
 }
コード例 #14
0
ファイル: RequestTest.php プロジェクト: RusinovIG/unirest-php
 public function testPut()
 {
     $response = Request::put('http://mockbin.com/request', array('Accept' => 'application/json'), array('name' => 'Mark', 'nick' => 'thefosk'));
     $this->assertEquals(200, $response->code);
     $this->assertEquals('PUT', $response->body->method);
     $this->assertEquals('Mark', $response->body->postData->params->name);
     $this->assertEquals('thefosk', $response->body->postData->params->nick);
 }
コード例 #15
0
ファイル: AbstractApi.php プロジェクト: ignittion/kong-php
 /**
  * The underlying call to the Kong Server
  *
  * @throws \Ignittion\Kong\KongException when something goes wrong with the Http request
  *
  * @param string $verb
  * @param string $uri
  * @param array $options
  * @param array $body
  * @return \stdClass
  */
 public function call($verb, $uri, array $params = [], array $body = [], array $headers = [])
 {
     $verb = strtoupper($verb);
     $api = "{$this->url}:{$this->port}/{$uri}";
     $headers = array_merge($headers, ['Content-Type: application/json']);
     try {
         switch ($verb) {
             case 'GET':
                 $request = RestClient::get($api, $headers, $params);
                 break;
             case 'POST':
                 $request = RestClient::post($api, $headers, $body);
                 break;
             case 'PUT':
                 $request = RestClient::put($api, $headers, $body);
                 break;
             case 'PATCH':
                 $request = RestClient::patch($api, $headers, $body);
                 break;
             case 'DELETE':
                 $request = RestClient::delete($api, $headers);
                 break;
             default:
                 throw new Exception('Unknown HTTP Request method.');
         }
     } catch (Exception $e) {
         throw new KongException($e->getMessage());
     }
     // save this request
     $this->body = $request->body;
     $this->headers = $request->headers;
     $this->httpCode = $request->code;
     $this->rawBody = $request->raw_body;
     // return a more simplified response
     $object = new stdClass();
     $object->code = $this->httpCode;
     $object->data = $this->body;
     return $object;
 }
コード例 #16
0
ファイル: routes.php プロジェクト: PhenixH/PufferPanel
$klein->respond('GET', '/node/files/add/[*:directory]?', function ($request, $response, $service) use($core) {
    if (!$core->permissions->has('files.create') || !$core->permissions->has('files.upload')) {
        $response->code(403);
        $response->body($core->twig->render('node/403.html'))->send();
        return;
    }
    $response->body($core->twig->render('node/files/add.html', array('flash' => $service->flashes(), 'directory' => $request->param('directory'), 'server' => $core->server->getData(), 'node' => $core->server->nodeData())))->send();
});
$klein->respond('POST', '/node/files/add', function ($request, $response, $service) use($core) {
    if (!$core->permissions->has('files.create')) {
        $response->code(403);
        $response->body($core->twig->render('node/403.html'))->send();
        return;
    }
    try {
        $unirest = \Unirest\Request::put("https://" . $core->server->nodeData('fqdn') . ":" . $core->server->nodeData('daemon_listen') . "/server/file/" . rawurlencode($request->param('newFilePath')), array("X-Access-Token" => $core->server->getData('daemon_secret'), "X-Access-Server" => $core->server->getData('hash')), array("contents" => $request->param('newFileContents')));
        if ($unirest->code !== 204) {
            $response->code($unirest->code);
            $response->body('An error occured while trying to write the file to the server. [' . $unirest->body->message . ']')->send();
            return;
        }
        $response->code(200);
        $response->body('ok')->send();
        return;
    } catch (\Exception $e) {
        \Tracy\Debugger::log($e);
        $response->code(500);
        $response->body('An execption occured when trying to connect to the server.')->send();
        return;
    }
});
コード例 #17
0
ファイル: Ossbss.php プロジェクト: cloudapidev/apibay
 public function putInfo($url, $inputs = null, $param = null)
 {
     $url = setApiUrl($url, $param);
     $response = Unirest\Request::put($url, $this->_headers, json_encode($inputs));
     return dealResponse($response);
 }
コード例 #18
0
 /**
  * Update all voice messages as cancelled
  * @return string response from the API call*/
 public function cancelVoiceMessages()
 {
     //the base uri for api requests
     $_queryBuilder = Configuration::$BASEURI;
     //prepare query string for API call
     $_queryBuilder = $_queryBuilder . '/voice/cancel-all';
     //validate and preprocess url
     $_queryUrl = APIHelper::cleanUrl($_queryBuilder);
     //prepare headers
     $_headers = array('user-agent' => 'ClickSendSDK');
     //set HTTP basic auth parameters
     Request::auth(Configuration::$username, Configuration::$key);
     //and invoke the API call request to fetch the response
     $response = Request::put($_queryUrl, $_headers);
     //Error handling using HTTP status codes
     if ($response->code == 400) {
         throw new APIException('BAD_REQUEST', 400, $response->body);
     } else {
         if ($response->code == 401) {
             throw new APIException('UNAUTHORIZED', 401, $response->body);
         } else {
             if ($response->code == 403) {
                 throw new APIException('FORBIDDEN', 403, $response->body);
             } else {
                 if ($response->code == 404) {
                     throw new APIException('NOT_FOUND', 404, $response->body);
                 } else {
                     if ($response->code == 405) {
                         throw new APIException('METHOD_NOT_FOUND', 405, $response->body);
                     } else {
                         if ($response->code == 429) {
                             throw new APIException('TOO_MANY_REQUESTS', 429, $response->body);
                         } else {
                             if ($response->code == 500) {
                                 throw new APIException('INTERNAL_SERVER_ERROR', 500, $response->body);
                             } else {
                                 if ($response->code < 200 || $response->code > 206) {
                                     //[200,206] = HTTP OK
                                     throw new APIException("HTTP Response Not OK", $response->code, $response->body);
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     return $response->body;
 }
コード例 #19
0
 public function getResultsOverrideAction($data_connector_id, $method = null, $url = null, $parms_in = null, $clean = false)
 {
     if ($url == null) {
         $url = $this->url;
     }
     if ($method == null) {
         $method = $this->method;
     }
     $data_connector = DataConnector::findFirstByid($data_connector_id);
     $storage = (array) json_decode($data_connector->storage, true);
     if (array_key_exists('token_expiry', $storage)) {
         if (time() > $storage['token_expiry']) {
             $authenticatorName = "\\PRIME\\Authenticators\\" . $this->authenticator . "Controller";
             $authenticatorController = new $authenticatorName();
             $authenticatorController->initialize();
             $authenticatorController->RefreshTokenAction($data_connector_id);
             $storage = (array) json_decode($data_connector->storage, true);
         }
     }
     if ($clean) {
         $parameters = array();
     } else {
         $parameters = (array) json_decode($data_connector->parameters, true);
     }
     $parms_in = (array) json_decode($parms_in, true);
     foreach ($parms_in as $key => $value) {
         $parameters[$key] = $value;
     }
     if (array_key_exists('rest', $parameters)) {
         foreach ($parameters['rest'] as $item) {
             $url = $url . "/" . $item;
         }
     }
     $query_parms = array();
     if (array_key_exists('query', $parameters)) {
         $query_parms = $parameters['query'];
     }
     $header_parms = array();
     if (array_key_exists('headers', $parameters)) {
         $header_parms = $parameters['headers'];
     }
     $body_parms = array();
     if (array_key_exists('body', $parameters)) {
         $body_parms = $parameters['body'];
     }
     if (array_key_exists('Authorization', $storage)) {
         $header_parms['Authorization'] = $storage['Authorization'];
     }
     switch ($method) {
         case "POST":
             $response = \Unirest\Request::post($url, $header_parms, $body_parms);
             break;
         case "PUT":
             $response = \Unirest\Request::put($url, $header_parms, $body_parms);
             break;
         default:
             $response = \Unirest\Request::get($url, $header_parms, $query_parms);
     }
     $this->view->disable();
     return $response->raw_body;
 }
コード例 #20
0
ファイル: Api.php プロジェクト: romka-chev/php-yandex-fotki
 /**
  * Редактирование фотографии
  *
  * <h1>Примеры</h1>
  *
  * <h2>Изменение заголовка</h2>
  * <code>
  * <?php
  * $photo = $api->getPhoto(12345678)->load();
  * $photo->setTitle('Новое название');
  *
  * $updatedPhoto = $api->updatePhoto($photo)->load();
  * echo $updatedPhoto->getTitle();
  * ?>
  * </code>
  *
  * <h2>Изменение ссылки на родительский альбом</h2>
  * <code>
  * <?php
  * $photo = $api->getPhoto(12345678)->load();
  * $photo->setAlbumId(654321);
  *
  * $updatedPhoto = $api->updatePhoto($photo)->load();
  * echo $updatedPhoto->getAlbumId();
  * ?>
  * </code>
  *
  * @param \Yandex\Fotki\Api\Photo $photo
  *
  * @return \Yandex\Fotki\Api\Photo Фотография, которую нужно обновить
  * @throws \Yandex\Fotki\Exception\Api\Photo Если призошла ошибка во время запроса на обновление
  * @throws \Yandex\Fotki\Exception\InvalidCall Если произошла ошибка при геренации XML
  */
 public function updatePhoto(Photo $photo)
 {
     $oAuthToken = $this->_transport->getOAuthToken();
     $fimpToken = $this->_transport->getFimpToken();
     $body = $photo->getAtomEntryForSave()->asXML();
     $headers = array('Authorization' => $oAuthToken ? "OAuth {$oAuthToken}" : "FimpToken realm=\"fotki.yandex.ru\", token=\"{$fimpToken}\"", 'Content-Type' => 'application/atom+xml; type=entry');
     $response = Request::put($photo->getApiUrlEdit(), $headers, $body);
     if ($response->code === 200) {
         $url = sprintf("http://api-fotki.yandex.ru/api/users/%s/photo/%s/?format=json", $this->_login, intval($photo->getId()));
         return new Photo($this->_transport, $url);
     } else {
         throw new \Yandex\Fotki\Exception\Api\Photo($response->body, $response->code);
     }
 }