@ewsjs/xhr
renaming ews-javascript-api-auth to @ewsjs/xhr
other related libs will also move to @ewsjs scope/org
1.3.0 brings several changes, new api and proxy support. this is also re-written using popular request
package
3.1.2
- Fixed proxy issue with axios
3.1.1
- Fixed responseType for axios
3.1.0
3.0.0
- Updated
@ewsjs/ntlm-client
to 3.0.0
to fix node 18+ issues with ntlm
2.0.0
- Removed deprecated xhr apis (
cookieAuthXhrApi
, ntlmAuthXhrApi
, proxySupportedXhrApi
). - removed dependency on
request
, bluebird
and fetch
.
1.5.0
#15 use pre-call options in stream
Install
npm install @ewsjs/xhr --save
How To
public methods useProxy
, useNtlmAuthentication
and useCookieAuthentication
returns the instance for chaining.
import { ......, ConfigurationApi } from "ews-javascript-api";
import { XhrApi } from "@ewsjs/xhr";
let xhr = new XhrApi({ headers: { 'custom-header': 'value' }, rejectUnauthorized: false})
.useCookieAuthentication(credentials.userName, credentials.password)
.useProxy("http://squidorOtherProxyServer:3128", "proxyUser", "password");
let xhr = new XhrApi({ headers: { 'custom-header': 'value' }, rejectUnauthorized: false});
xhr.useCookieAuthentication(credentials.userName, credentials.password);
xhr.useProxy("http://squidorOtherProxyServer:3128", "proxyUser", "password");
ConfigurationApi.ConfigureXHR(xhr);
constructor
new XhrApi();
new XhrApi(requestOptions: CoreOptions);
new XhrApi(allowUntrustedCertificate: boolean);
Proxy server support
import { XhrApi } from "@ewsjs/xhr";
let xhr = new XhrApi({ headers: { 'custom-header': 'value' }, rejectUnauthorized: false})
.useProxy("http://squidorOtherProxyServer:3128");
let xhr = new XhrApi({ headers: { 'custom-header': 'value' }, rejectUnauthorized: false})
.useProxy("http://squidorOtherProxyServer:3128", "proxyUser", "password");
adding Ntlm authentication (or Windows Integrated Authentication with EWS)
import { XhrApi } from "@ewsjs/xhr";
let xhr = new XhrApi()
.useNtlmAuthentication(credentials.userName, credentials.password);
adding cookies authentication (usage with TMG/ISA)
import { XhrApi } from "@ewsjs/xhr";
let xhr = new XhrApi({ rejectUnauthorized: false})
.useCookieAuthentication(credentials.userName, credentials.password);
using proxy with cookies authentication
import { XhrApi } from "@ewsjs/xhr";
let xhr = new XhrApi(true)
.useCookieAuthentication(credentials.userName, credentials.password)
.useProxy("http://squidorOtherProxyServer:3128", "proxyUser", "password");
Info: No Proxy support with Ntlm (yet!)
There are issues which needs to be sorted out before Ntlm can be used with proxy, this situation is rarly needed in corporate environment anyways.
License
MIT
1.1.1 changes
- fixed header check to be case insensitive
- moved header helper method creation to util.js