Skip to content

Fixed 414 Request-URI Too Large (POST , PUT, DELETE) #19

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 30 additions & 30 deletions src/MaxCDN.php
Original file line number Diff line number Diff line change
@@ -1,35 +1,35 @@
<?php
/**
/**
* MaxCDN REST Client Library
*
*
* @copyright 2012
* @author Karlo Espiritu
* @version 1.0 2012-09-21
*/
class MaxCDN {

public $alias;

public $key;

public $secret;

public $MaxCDNrws_url = 'https://rws.maxcdn.com';

private $consumer;

public function __construct($alias, $key, $secret, $options=null) {
$this->alias = $alias;
$this->key = $key;
$this->secret = $secret;
$this->consumer = new \MaxCDN\OAuth\OAuthConsumer($key, $secret, NULL);

}

private function execute($selected_call, $method_type, $params) {
// the endpoint for your request
$endpoint = "$this->MaxCDNrws_url/$this->alias$selected_call";
$endpoint = "$this->MaxCDNrws_url/$this->alias$selected_call";

//parse endpoint before creating OAuth request
$parsed = parse_url($endpoint);
if (array_key_exists("parsed", $parsed))
Expand All @@ -44,18 +44,18 @@ private function execute($selected_call, $method_type, $params) {
$sig_method = new \MaxCDN\OAuth\OAuthSignatureMethod_HMAC_SHA1();
$req_req->sign_request($sig_method, $this->consumer, NULL);

// create curl resource
$ch = curl_init();

// set url
curl_setopt($ch, CURLOPT_URL, $req_req);
// create curl resource
$ch = curl_init();
$url_parts = explode('?',$req_req);
// set url
curl_setopt($ch, CURLOPT_URL, $url_parts[0]);

//return the transfer as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER , TRUE);

// set curl timeout
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);

// set curl custom request type if not standard
if ($method_type != "GET" && $method_type != "POST") {
Expand All @@ -65,14 +65,14 @@ private function execute($selected_call, $method_type, $params) {

if ($method_type == "POST" || $method_type == "PUT" || $method_type == "DELETE") {
$query_str = \MaxCDN\OAuth\OAuthUtil::build_http_query($params);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:', 'Content-Length: ' . strlen($query_str)));
curl_setopt($ch, CURLOPT_POSTFIELDS, $query_str);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:', 'Content-Length: ' . strlen($url_parts[1])));
curl_setopt($ch, CURLOPT_POSTFIELDS, $url_parts[1]);
}

// retrieve headers
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLINFO_HEADER_OUT, 1);

//set user agent
curl_setopt($ch, CURLOPT_USERAGENT, 'PHP MaxCDN API Client');

Expand All @@ -81,36 +81,36 @@ private function execute($selected_call, $method_type, $params) {
$headers = curl_getinfo($ch);
$curl_error = curl_error($ch);

// close curl resource to free up system resources
// close curl resource to free up system resources
curl_close($ch);

// $json_output contains the output string
// $json_output contains the output string
$json_output = substr($result, $headers['header_size']);

// catch errors
if(!empty($curl_error) || empty($json_output)) {
if(!empty($curl_error) || empty($json_output)) {
throw new \MaxCDN\RWSException("CURL ERROR: $curl_error, Output: $json_output", $headers['http_code'], null, $headers);
}

return $json_output;
}

public function get($selected_call, $params = array()){

return $this->execute($selected_call, 'GET', $params);
}

public function post($selected_call, $params = array()){
return $this->execute($selected_call, 'POST', $params);
}

public function put($selected_call, $params = array()){
return $this->execute($selected_call, 'PUT', $params);
}

public function delete($selected_call, $params = array()){
return $this->execute($selected_call, 'DELETE', $params);
}


}