Request::DELETE()
\nn\t3::Request()->DELETE($url = '', $queryParams = [], $headers = []);
Sends a DELETE request (via curl) to a server
\nn\t3::Request()->DELETE( 'https://...', ['a'=>'123'] );
\nn\t3::Request()->DELETE( 'https://...', ['a'=>'123'], ['Accept-Encoding'=>'gzip, deflate'] );
Copied!
@param string $url
@param array $queryParams
@param array $headers
@return array
Source Code
public function DELETE( $url = '', $queryParams = [], $headers = [] )
{
// ['Accept-Encoding'=>'gzip'] --> ['Accept-Encoding: gzip']
array_walk( $headers, function (&$v, $k) {
if (!is_numeric($k)) $v = $k . ': ' . $v;
});
$headers = array_values($headers);
$url = $this->mergeGetParams($url, $queryParams);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers );
// follow redirects
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$result = curl_exec($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$error = curl_error($ch);
curl_close($ch);
if ($httpcode >= 300) {
return [
'error' => true,
'status' => $httpcode,
'content' => $error,
'response' => @json_decode($result, true) ?: $result,
];
}
return [
'error' => false,
'status' => 200,
'content' => $result,
];
}
Copied!