First of all I\'m working based on the following assumption: according to the REST architecture you can use PUT to create a new resource, in my case a file with additional i
CURLOPT_CUSTOMREQUEST is useful when you want / need to do some kind of special request that is not common enough to be supported by itself, via its own option.
CURLOPT_POST, CURLOPT_PUT, and CURLOPT_GET allow you to send POST / PUT / GET requests -- which are some types of requests that are common enough to have their own options ; which means they don't need you to use CURLOPT_CUSTOMREQUEST.