title: Node JS request-promise for PUT with auth
body: <p>I want to upload a file to server with request-promise.</p>
  
  <pre><code>var requestPromise = require('request-promise');
  var options = {
        uri: 'myurl.com/putImage/image.jpg',
        method: 'PUT',
        auth: {
          'user': 'myusername',
          'pass': 'mypassword',
          'sendImmediately': false
        },
        multipart: [
        {
          'content-type': 'application/json',
          body: JSON.stringify({foo: 'bar', _attachments: {'message.txt': {follows: true, length: 18, 'content_type': 'text/plain' }}})
        },
        { body: 'I am an attachment' },
        { body: fs.createReadStream('test.jpg') }
        ]
      };
  </code></pre>
  
  <p>The constroller function has:</p>
  
  <pre><code>requestPromise.put(options)
    .then(function() {
      response = {
        statusCode: 200,
        message: "Success",
      };
      log.info("Success");
      res.status(200).send(response);
    })
    .catch(function (error) {
      response = {
        statusCode: error.status,
        message: error.message
      };
      log.info(response);
      res.status(400).send(response);
    });
  </code></pre>
  
  <p>I never get to success nor catch an error. What must be wrong? Actual work to be done is a curl like this:</p>
  
  <pre><code>curl --verbose -u myusername:mypassword -X PUT --upload-file test.jpg myurl.com/putImage/image.jpg
  </code></pre>
  
  <p>What is the best approach for this? Can request-promise do this?</p>