request-ntlm-promise

Make easy requests with NTLM authentication

Usage no npm install needed!

<script type="module">
  import requestNtlmPromise from 'https://cdn.skypack.dev/request-ntlm-promise';
</script>

README

js-standard-style npm type definitions

Request-NTLM-promise

Ntlm authentication promise wrapper for the Request module. It authenticates each request via NTLM protocol.

The core of this reposotory comes from request-ntlm which was improved by request-ntlm-continued. Here you can find complete refactor of both with ability to use promises.

Usage

Install from npm

$ npm install request-ntlm-promise

Import

const ntlm = require('request-ntlm-promise');
// Typescript
import * as Request from 'request-ntlm-promise';

Choose method

reqntlm.get(options, json)
reqntlm.post(options, json)
reqntlm.patch(options, json)
reqntlm.put(options, json)
reqntlm.delete(options, json)

Possible parameters

options
  • username: username;
  • password: password;
  • ntlm_domain: domain either http or https;
  • url: complete path to the resource;
  • workstation: workstation;
  • other options, which should be passed to Request module e.g. default headers.
params

This can be string or object

streamCallback

Optional. If provided then you will get a stream instead of promise. Useful if working with files.

Example

const ntlm = require('request-ntlm-promise');
const URL = 'http://yourdomain.com'
const options = {
  username: 'username',
  password: 'password',
  ntlm_domain: URL,
  url: `${URL}/path/to/resource`
};
const json = {
  // whatever object you want to submit
};

ntlm.post(options, json).then(console.log)

// or use async/await
const data = await ntlm.post(options, json)
console.log(data)

// or stream
ntlm.post(options, json, (response) => {
  reply(response)  // Hapi js handler
})