cloudinary.v2.api.visual_search({image_file: 'path/to/file'}, function (error, result) {
console.log(result);
});
or
cloudinary.v2.api.visual_search({image_file: Buffer.from('abc')}, function (error, result) {
console.log(result);
});
What Does This PR Address?
[ ] GitHub issue (Add reference - #XX)
[ ] Refactoring
[X] New feature
[ ] Bug fix
[ ] Adds more tests
Are Tests Included?
[X] Yes
[ ] No
Reviewer, Please Note:
I added the requests dependency because writing an http request with multi-part file upload using vanilla node is a complicated task and to be honest, I failed at that. I tried writing it from scratch and also reusing some components from the upload.js file but the way this sdk is designed does not allow reusing some of the functions there. At least not in an easy way that won't potentially mean a broken contract. Eventually, I'd prefer doing all http requests using an external library rather than avoiding adding it in the first place - to me, the cost of maintaining low level code is much higher than adding this single dependency.
Brief Summary of Changes
or
What Does This PR Address?
Are Tests Included?
Reviewer, Please Note:
I added the
requests
dependency because writing an http request with multi-part file upload using vanilla node is a complicated task and to be honest, I failed at that. I tried writing it from scratch and also reusing some components from the upload.js file but the way this sdk is designed does not allow reusing some of the functions there. At least not in an easy way that won't potentially mean a broken contract. Eventually, I'd prefer doing all http requests using an external library rather than avoiding adding it in the first place - to me, the cost of maintaining low level code is much higher than adding this single dependency.