soap 0.38.0 → 0.42.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/History.md +26 -0
- package/Readme.md +5 -4
- package/lib/client.d.ts +3 -3
- package/lib/client.js +63 -39
- package/lib/client.js.map +1 -1
- package/lib/http.d.ts +6 -5
- package/lib/http.js +69 -39
- package/lib/http.js.map +1 -1
- package/lib/security/ClientSSLSecurity.js +1 -1
- package/lib/security/ClientSSLSecurity.js.map +1 -1
- package/lib/security/ClientSSLSecurityPFX.js +1 -1
- package/lib/security/ClientSSLSecurityPFX.js.map +1 -1
- package/lib/security/WSSecurity.js.map +1 -1
- package/lib/security/WSSecurityCert.js.map +1 -1
- package/lib/server.d.ts +4 -2
- package/lib/server.js +41 -21
- package/lib/server.js.map +1 -1
- package/lib/soap.d.ts +1 -1
- package/lib/soap.js +1 -1
- package/lib/soap.js.map +1 -1
- package/lib/types.d.ts +19 -7
- package/lib/utils.d.ts +3 -0
- package/lib/utils.js +41 -1
- package/lib/utils.js.map +1 -1
- package/lib/wsdl/elements.js +2 -1
- package/lib/wsdl/elements.js.map +1 -1
- package/lib/wsdl/index.js +6 -6
- package/lib/wsdl/index.js.map +1 -1
- package/package.json +13 -10
package/History.md
CHANGED
|
@@ -1,3 +1,29 @@
|
|
|
1
|
+
0.42.0 / 2021-08-23
|
|
2
|
+
===================
|
|
3
|
+
* [FIX] check method style if exists instead of binding style (#1153)
|
|
4
|
+
* [FIX] update dependency vuln in xmldom via xml-cryoto/xmldom update (#1157)
|
|
5
|
+
* [FIX] update 7 vulnerabilities in the dependency chain (#1156)
|
|
6
|
+
* [FIX] SOAP faults are no longer being passed back in the error callback/promise rejection (#1155)
|
|
7
|
+
|
|
8
|
+
0.41.0 / 2021-08-20
|
|
9
|
+
===================
|
|
10
|
+
* [ENHANCEMENT] Support for soap attachments in response. (#1148)
|
|
11
|
+
* [FIX] Correctly add the https agent to axios (#1154)
|
|
12
|
+
* [FIX] prefer SOAPAction header over the body name to get the actual method name (#1152)
|
|
13
|
+
* [MAINTENANCE] Moving to github actions
|
|
14
|
+
|
|
15
|
+
0.40.0 / 2021-07-06
|
|
16
|
+
===================
|
|
17
|
+
* [DOC] Update Readme.md (#1150)
|
|
18
|
+
* [ENHANCEMENT] Allow server path to be a regex (#1149)
|
|
19
|
+
* [ENHANCEMENT] replace request & httpntlm with axios & axios-ntlm (#1146)
|
|
20
|
+
|
|
21
|
+
0.39.0 / 2021-06-01
|
|
22
|
+
===================
|
|
23
|
+
|
|
24
|
+
* [FIX] Fixed namespace resolution in case of complexType extension. (#1145)
|
|
25
|
+
* [FIX] Read length of buffer directly (#1147)
|
|
26
|
+
|
|
1
27
|
0.38.0 / 2021-05-14
|
|
2
28
|
===================
|
|
3
29
|
|
package/Readme.md
CHANGED
|
@@ -113,7 +113,7 @@ If you're looking for professional help you can contact the maintainers through
|
|
|
113
113
|
});
|
|
114
114
|
});
|
|
115
115
|
```
|
|
116
|
-
This client has a built in WSDL cache. You can use the `disableCache` option to disable it.
|
|
116
|
+
This client (WSDL files and specified options) has a built in WSDL cache. You can use the `disableCache` option to disable it.
|
|
117
117
|
|
|
118
118
|
### soap.createClientAsync(url[, options]) - create a new SOAP client from a WSDL url. Also supports a local filesystem path.
|
|
119
119
|
|
|
@@ -128,7 +128,7 @@ This client has a built in WSDL cache. You can use the `disableCache` option to
|
|
|
128
128
|
});
|
|
129
129
|
```
|
|
130
130
|
|
|
131
|
-
This client has a built in WSDL cache. You can use the `disableCache` option to disable it.
|
|
131
|
+
This client (WSDL files and specified options) has a built in WSDL cache. You can use the `disableCache` option to disable it.
|
|
132
132
|
|
|
133
133
|
#### Options
|
|
134
134
|
|
|
@@ -145,14 +145,15 @@ The `options` argument allows you to customize the client with the following pro
|
|
|
145
145
|
- request: to override the [request](https://github.com/request/request) module.
|
|
146
146
|
- wsdl_headers: custom HTTP headers to be sent on WSDL requests.
|
|
147
147
|
- wsdl_options: custom options for the request module on WSDL requests.
|
|
148
|
-
- disableCache: don't cache WSDL files, request them every time.
|
|
148
|
+
- disableCache: don't cache WSDL files and client options, request them every time.
|
|
149
149
|
- overridePromiseSuffix: if your wsdl operations contains names with Async suffix, you will need to override the default promise suffix to a custom one, default: `Async`.
|
|
150
150
|
- normalizeNames: if your wsdl operations contains names with non identifier characters (`[^a-z$_0-9]`), replace them with `_`. Note: if using this option, clients using wsdls with two operations like `soap:method` and `soap-method` will be overwritten. Then, use bracket notation instead (`client['soap:method']()`).
|
|
151
151
|
- namespaceArrayElements: provides support for nonstandard array semantics. If true, JSON arrays of the form `{list: [{elem: 1}, {elem: 2}]}` are marshalled into xml as `<list><elem>1</elem></list> <list><elem>2</elem></list>`. If false, marshalls into `<list> <elem>1</elem> <elem>2</elem> </list>`. Default: `true`.
|
|
152
152
|
- stream: allows using a stream to parse the XML SOAP response. Default: `false`
|
|
153
153
|
- returnSaxStream: enables the library to return the sax stream, transferring to the end user the responsibility of parsing the XML. It can be used only in combination with *stream* argument set to `true`. Default: `false`
|
|
154
|
+
- parseReponseAttachments: Treat response as multipart/related response with MTOM attachment. Reach attachments on the `lastResponseAttachments` property of SoapClient. Default: `false`
|
|
154
155
|
|
|
155
|
-
Note: for versions of node >0.10.X, you may need to specify `{connection: 'keep-alive'}` in SOAP headers to avoid truncation of longer chunked responses.
|
|
156
|
+
Note: for versions of node >0.10.X, you may need to specify `{connection: 'keep-alive'}` in SOAP headers to avoid truncation of longer chunked responses.
|
|
156
157
|
|
|
157
158
|
### soap.listen(*server*, *path*, *services*, *wsdl*, *callback*) - create a new SOAP server that listens on *path* and provides *services*.
|
|
158
159
|
*server* can be a [http](https://nodejs.org/api/http.html) Server or [express](http://expressjs.com/) framework based server
|
package/lib/client.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { EventEmitter } from 'events';
|
|
3
3
|
import { IncomingHttpHeaders } from 'http';
|
|
4
|
-
import
|
|
5
|
-
import { IHeaders, IOptions, ISecurity } from './types';
|
|
4
|
+
import { IHeaders, IMTOMAttachments, IOptions, ISecurity } from './types';
|
|
6
5
|
import { WSDL } from './wsdl';
|
|
7
6
|
export interface ISoapError extends Error {
|
|
8
7
|
response?: any;
|
|
@@ -28,10 +27,11 @@ export declare class Client extends EventEmitter {
|
|
|
28
27
|
lastRequest?: string;
|
|
29
28
|
lastMessage?: string;
|
|
30
29
|
lastEndpoint?: string;
|
|
31
|
-
lastRequestHeaders?:
|
|
30
|
+
lastRequestHeaders?: any;
|
|
32
31
|
lastResponse?: any;
|
|
33
32
|
lastResponseHeaders?: IncomingHttpHeaders;
|
|
34
33
|
lastElapsedTime?: number;
|
|
34
|
+
lastResponseAttachments: IMTOMAttachments;
|
|
35
35
|
private wsdl;
|
|
36
36
|
private httpClient;
|
|
37
37
|
private soapHeaders;
|
package/lib/client.js
CHANGED
|
@@ -169,12 +169,12 @@ var Client = /** @class */ (function (_super) {
|
|
|
169
169
|
Client.prototype._promisifyMethod = function (method) {
|
|
170
170
|
return function (args, options, extraHeaders) {
|
|
171
171
|
return new Promise(function (resolve, reject) {
|
|
172
|
-
var callback = function (err, result, rawResponse, soapHeader, rawRequest) {
|
|
172
|
+
var callback = function (err, result, rawResponse, soapHeader, rawRequest, mtomAttachments) {
|
|
173
173
|
if (err) {
|
|
174
174
|
reject(err);
|
|
175
175
|
}
|
|
176
176
|
else {
|
|
177
|
-
resolve([result, rawResponse, soapHeader, rawRequest]);
|
|
177
|
+
resolve([result, rawResponse, soapHeader, rawRequest, mtomAttachments]);
|
|
178
178
|
}
|
|
179
179
|
};
|
|
180
180
|
method(args, callback, options, extraHeaders);
|
|
@@ -200,8 +200,8 @@ var Client = /** @class */ (function (_super) {
|
|
|
200
200
|
extraHeaders = options;
|
|
201
201
|
options = temp;
|
|
202
202
|
}
|
|
203
|
-
_this_1._invoke(method, args, location, function (error, result, rawResponse, soapHeader, rawRequest) {
|
|
204
|
-
callback(error, result, rawResponse, soapHeader, rawRequest);
|
|
203
|
+
_this_1._invoke(method, args, location, function (error, result, rawResponse, soapHeader, rawRequest, mtomAttachments) {
|
|
204
|
+
callback(error, result, rawResponse, soapHeader, rawRequest, mtomAttachments);
|
|
205
205
|
}, options, extraHeaders);
|
|
206
206
|
};
|
|
207
207
|
};
|
|
@@ -238,7 +238,6 @@ var Client = /** @class */ (function (_super) {
|
|
|
238
238
|
var encoding = '';
|
|
239
239
|
var message = '';
|
|
240
240
|
var xml = null;
|
|
241
|
-
var req;
|
|
242
241
|
var soapAction;
|
|
243
242
|
var alias = utils_1.findPrefix(defs.xmlns, ns);
|
|
244
243
|
var headers = {
|
|
@@ -249,11 +248,11 @@ var Client = /** @class */ (function (_super) {
|
|
|
249
248
|
var result;
|
|
250
249
|
if (!output) {
|
|
251
250
|
// one-way, no output expected
|
|
252
|
-
return callback(null, null, body, obj.Header, xml);
|
|
251
|
+
return callback(null, null, body, obj.Header, xml, response.mtomResponseAttachments);
|
|
253
252
|
}
|
|
254
253
|
// If it's not HTML and Soap Body is empty
|
|
255
254
|
if (!obj.html && !obj.Body) {
|
|
256
|
-
if (response.
|
|
255
|
+
if (response.status >= 400) {
|
|
257
256
|
var error = new Error('Error http status codes');
|
|
258
257
|
error.response = response;
|
|
259
258
|
error.body = body;
|
|
@@ -282,7 +281,7 @@ var Client = /** @class */ (function (_super) {
|
|
|
282
281
|
}
|
|
283
282
|
});
|
|
284
283
|
}
|
|
285
|
-
callback(null, result, body, obj.Header, xml);
|
|
284
|
+
callback(null, result, body, obj.Header, xml, response.mtomResponseAttachments);
|
|
286
285
|
};
|
|
287
286
|
var parseSync = function (body, response) {
|
|
288
287
|
var obj;
|
|
@@ -303,7 +302,7 @@ var Client = /** @class */ (function (_super) {
|
|
|
303
302
|
error.response = response;
|
|
304
303
|
error.body = body;
|
|
305
304
|
_this_1.emit('soapError', error, eid);
|
|
306
|
-
return callback(error, response, body, undefined, xml);
|
|
305
|
+
return callback(error, response, body, undefined, xml, response.mtomResponseAttachments);
|
|
307
306
|
}
|
|
308
307
|
return finish(obj, body, response);
|
|
309
308
|
};
|
|
@@ -407,70 +406,95 @@ var Client = /** @class */ (function (_super) {
|
|
|
407
406
|
if (this.streamAllowed && typeof this.httpClient.requestStream === 'function') {
|
|
408
407
|
callback = _.once(callback);
|
|
409
408
|
var startTime_1 = Date.now();
|
|
410
|
-
req = this.httpClient.requestStream(location, xml, headers, options, this);
|
|
411
|
-
this.lastRequestHeaders = req.headers;
|
|
412
409
|
var onError_1 = function (err) {
|
|
413
410
|
_this_1.lastResponse = null;
|
|
414
411
|
_this_1.lastResponseHeaders = null;
|
|
415
412
|
_this_1.lastElapsedTime = null;
|
|
413
|
+
_this_1.lastRequestHeaders = err.config && err.config.headers;
|
|
416
414
|
_this_1.emit('response', null, null, eid);
|
|
417
|
-
|
|
415
|
+
if (_this_1.returnSaxStream || !err.response || !err.response.data) {
|
|
416
|
+
callback(err, undefined, undefined, undefined, xml);
|
|
417
|
+
}
|
|
418
|
+
else {
|
|
419
|
+
err.response.data.on('close', function (e) {
|
|
420
|
+
callback(err, undefined, undefined, undefined, xml);
|
|
421
|
+
});
|
|
422
|
+
err.response.data.on('data', function (e) {
|
|
423
|
+
err.response.data = e.toString();
|
|
424
|
+
});
|
|
425
|
+
}
|
|
418
426
|
};
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
427
|
+
this.httpClient.requestStream(location, xml, headers, options, this).then(function (res) {
|
|
428
|
+
_this_1.lastRequestHeaders = res.headers;
|
|
429
|
+
if (res.data.on) {
|
|
430
|
+
res.data.on('error', function (err) { return onError_1(err); });
|
|
431
|
+
}
|
|
432
|
+
// When the output element cannot be looked up in the wsdl,
|
|
433
|
+
// play it safe and don't stream
|
|
434
|
+
if (res.status !== 200 || !output || !output.$lookupTypes) {
|
|
435
|
+
getStream(res.data).then(function (body) {
|
|
426
436
|
_this_1.lastResponse = body;
|
|
427
|
-
_this_1.lastResponseHeaders = response && response.headers;
|
|
428
437
|
_this_1.lastElapsedTime = Date.now() - startTime_1;
|
|
429
|
-
_this_1.
|
|
430
|
-
|
|
438
|
+
_this_1.lastResponseHeaders = res && res.headers;
|
|
439
|
+
// Added mostly for testability, but possibly useful for debugging
|
|
440
|
+
_this_1.lastRequestHeaders = res.config && res.config.headers || res.headers;
|
|
441
|
+
_this_1.emit('response', body, res, eid);
|
|
442
|
+
return parseSync(body, res);
|
|
431
443
|
});
|
|
432
444
|
return;
|
|
433
445
|
}
|
|
434
446
|
if (_this_1.returnSaxStream) {
|
|
435
447
|
// directly return the saxStream allowing the end user to define
|
|
436
448
|
// the parsing logics and corresponding errors managements
|
|
437
|
-
var saxStream = _this_1.wsdl.getSaxStream(
|
|
438
|
-
return finish({ saxStream: saxStream }, '<stream>',
|
|
449
|
+
var saxStream = _this_1.wsdl.getSaxStream(res.data);
|
|
450
|
+
return finish({ saxStream: saxStream }, '<stream>', res.data);
|
|
439
451
|
}
|
|
440
452
|
else {
|
|
441
|
-
_this_1.wsdl.xmlToObject(
|
|
442
|
-
_this_1.lastResponse =
|
|
443
|
-
_this_1.lastResponseHeaders = response && response.headers;
|
|
453
|
+
_this_1.wsdl.xmlToObject(res.data, function (error, obj) {
|
|
454
|
+
_this_1.lastResponse = res;
|
|
444
455
|
_this_1.lastElapsedTime = Date.now() - startTime_1;
|
|
445
|
-
_this_1.
|
|
456
|
+
_this_1.lastResponseHeaders = res && res.headers;
|
|
457
|
+
// Added mostly for testability, but possibly useful for debugging
|
|
458
|
+
_this_1.lastRequestHeaders = res.config.headers;
|
|
459
|
+
_this_1.emit('response', '<stream>', res.data, eid);
|
|
446
460
|
if (error) {
|
|
447
|
-
error.response =
|
|
461
|
+
error.response = res;
|
|
448
462
|
error.body = '<stream>';
|
|
449
463
|
_this_1.emit('soapError', error, eid);
|
|
450
|
-
return callback(error,
|
|
464
|
+
return callback(error, res, undefined, undefined, xml);
|
|
451
465
|
}
|
|
452
|
-
return finish(obj, '<stream>',
|
|
466
|
+
return finish(obj, '<stream>', res);
|
|
453
467
|
});
|
|
454
468
|
}
|
|
455
|
-
});
|
|
469
|
+
}, onError_1);
|
|
456
470
|
return;
|
|
457
471
|
}
|
|
458
|
-
|
|
472
|
+
return this.httpClient.request(location, xml, function (err, response, body) {
|
|
459
473
|
_this_1.lastResponse = body;
|
|
460
|
-
|
|
461
|
-
|
|
474
|
+
if (response) {
|
|
475
|
+
_this_1.lastResponseHeaders = response.headers;
|
|
476
|
+
_this_1.lastElapsedTime = response.headers.date;
|
|
477
|
+
_this_1.lastResponseAttachments = response.mtomResponseAttachments;
|
|
478
|
+
// Added mostly for testability, but possibly useful for debugging
|
|
479
|
+
_this_1.lastRequestHeaders = response.config && response.config.headers;
|
|
480
|
+
}
|
|
462
481
|
_this_1.emit('response', body, response, eid);
|
|
463
482
|
if (err) {
|
|
483
|
+
_this_1.lastRequestHeaders = err.config && err.config.headers;
|
|
484
|
+
try {
|
|
485
|
+
if (err.response && err.response.data) {
|
|
486
|
+
_this_1.wsdl.xmlToObject(err.response.data);
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
catch (error) {
|
|
490
|
+
err.root = error.root || error;
|
|
491
|
+
}
|
|
464
492
|
callback(err, undefined, undefined, undefined, xml);
|
|
465
493
|
}
|
|
466
494
|
else {
|
|
467
495
|
return parseSync(body, response);
|
|
468
496
|
}
|
|
469
497
|
}, headers, options, this);
|
|
470
|
-
// Added mostly for testability, but possibly useful for debugging
|
|
471
|
-
if (req && req.headers && !options.ntlm) { // fixes an issue when req or req.headers is undefined, doesn't apply to ntlm requests
|
|
472
|
-
this.lastRequestHeaders = req.headers;
|
|
473
|
-
}
|
|
474
498
|
};
|
|
475
499
|
return Client;
|
|
476
500
|
}(events_1.EventEmitter));
|
package/lib/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/lib/http.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import * as req from '
|
|
2
|
+
import * as req from 'axios';
|
|
3
|
+
import { ReadStream } from 'fs';
|
|
3
4
|
import { IExOptions, IHeaders, IHttpClient, IOptions } from './types';
|
|
4
5
|
export interface IAttachment {
|
|
5
6
|
name: string;
|
|
@@ -7,7 +8,6 @@ export interface IAttachment {
|
|
|
7
8
|
mimetype: string;
|
|
8
9
|
body: NodeJS.ReadableStream;
|
|
9
10
|
}
|
|
10
|
-
export declare type Request = req.Request;
|
|
11
11
|
/**
|
|
12
12
|
* A class representing the http client
|
|
13
13
|
* @param {Object} [options] Options object. It allows the customization of
|
|
@@ -17,6 +17,7 @@ export declare type Request = req.Request;
|
|
|
17
17
|
*/
|
|
18
18
|
export declare class HttpClient implements IHttpClient {
|
|
19
19
|
private _request;
|
|
20
|
+
private options;
|
|
20
21
|
constructor(options?: IOptions);
|
|
21
22
|
/**
|
|
22
23
|
* Build the HTTP request (method, uri, headers, ...)
|
|
@@ -34,7 +35,7 @@ export declare class HttpClient implements IHttpClient {
|
|
|
34
35
|
* @param {Object} body The http body
|
|
35
36
|
* @param {Object} The parsed body
|
|
36
37
|
*/
|
|
37
|
-
handleResponse(req: req.
|
|
38
|
-
request(rurl: string, data: any, callback: (error: any, res?: any, body?: any) => any, exheaders?: IHeaders, exoptions?: IExOptions, caller?: any): req.
|
|
39
|
-
requestStream(rurl: string, data: any, exheaders?: IHeaders, exoptions?: IExOptions, caller?: any): req.
|
|
38
|
+
handleResponse(req: req.AxiosPromise, res: req.AxiosResponse, body: any): any;
|
|
39
|
+
request(rurl: string, data: any, callback: (error: any, res?: any, body?: any) => any, exheaders?: IHeaders, exoptions?: IExOptions, caller?: any): req.AxiosPromise<any>;
|
|
40
|
+
requestStream(rurl: string, data: any, exheaders?: IHeaders, exoptions?: IExOptions, caller?: any): req.AxiosPromise<ReadStream>;
|
|
40
41
|
}
|
package/lib/http.js
CHANGED
|
@@ -16,11 +16,13 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
16
16
|
};
|
|
17
17
|
exports.__esModule = true;
|
|
18
18
|
exports.HttpClient = void 0;
|
|
19
|
+
var req = require("axios");
|
|
20
|
+
var axios_ntlm_1 = require("axios-ntlm");
|
|
21
|
+
var contentTypeParser = require("content-type-parser");
|
|
19
22
|
var debugBuilder = require("debug");
|
|
20
|
-
var httpNtlm = require("httpntlm");
|
|
21
|
-
var req = require("request");
|
|
22
23
|
var url = require("url");
|
|
23
24
|
var uuid_1 = require("uuid");
|
|
25
|
+
var utils_1 = require("./utils");
|
|
24
26
|
var debug = debugBuilder('node-soap');
|
|
25
27
|
var VERSION = require('../package.json').version;
|
|
26
28
|
/**
|
|
@@ -33,7 +35,8 @@ var VERSION = require('../package.json').version;
|
|
|
33
35
|
var HttpClient = /** @class */ (function () {
|
|
34
36
|
function HttpClient(options) {
|
|
35
37
|
options = options || {};
|
|
36
|
-
this.
|
|
38
|
+
this.options = options;
|
|
39
|
+
this._request = options.request || req["default"].create();
|
|
37
40
|
}
|
|
38
41
|
/**
|
|
39
42
|
* Build the HTTP request (method, uri, headers, ...)
|
|
@@ -46,11 +49,11 @@ var HttpClient = /** @class */ (function () {
|
|
|
46
49
|
HttpClient.prototype.buildRequest = function (rurl, data, exheaders, exoptions) {
|
|
47
50
|
if (exoptions === void 0) { exoptions = {}; }
|
|
48
51
|
var curl = url.parse(rurl);
|
|
52
|
+
var method = data ? 'POST' : 'GET';
|
|
49
53
|
var secure = curl.protocol === 'https:';
|
|
54
|
+
var path = [curl.pathname || '/', curl.search || '', curl.hash || ''].join('');
|
|
50
55
|
var host = curl.hostname;
|
|
51
56
|
var port = parseInt(curl.port, 10);
|
|
52
|
-
var path = [curl.pathname || '/', curl.search || '', curl.hash || ''].join('');
|
|
53
|
-
var method = data ? 'POST' : 'GET';
|
|
54
57
|
var headers = {
|
|
55
58
|
'User-Agent': 'node-soap/' + VERSION,
|
|
56
59
|
'Accept': 'text/html,application/xhtml+xml,application/xml,text/xml;q=0.9,*/*;q=0.8',
|
|
@@ -71,10 +74,11 @@ var HttpClient = /** @class */ (function () {
|
|
|
71
74
|
headers[attr] = exheaders[attr];
|
|
72
75
|
}
|
|
73
76
|
var options = {
|
|
74
|
-
|
|
77
|
+
url: curl.href,
|
|
75
78
|
method: method,
|
|
76
79
|
headers: headers,
|
|
77
|
-
|
|
80
|
+
validateStatus: null,
|
|
81
|
+
transformResponse: function (data) { return data; }
|
|
78
82
|
};
|
|
79
83
|
if (exoptions.forceMTOM || attachments.length > 0) {
|
|
80
84
|
var start = uuid_1.v4();
|
|
@@ -87,8 +91,7 @@ var HttpClient = /** @class */ (function () {
|
|
|
87
91
|
}
|
|
88
92
|
}
|
|
89
93
|
}
|
|
90
|
-
headers['Content-Type'] =
|
|
91
|
-
'multipart/related; type="application/xop+xml"; start="<' + start + '>"; start-info="text/xml"; boundary=' + uuid_1.v4();
|
|
94
|
+
headers['Content-Type'] = 'multipart/related; type="application/xop+xml"; start="<' + start + '>"; start-info="text/xml"; boundary=' + uuid_1.v4();
|
|
92
95
|
if (action) {
|
|
93
96
|
headers['Content-Type'] = headers['Content-Type'] + '; ' + action;
|
|
94
97
|
}
|
|
@@ -106,10 +109,10 @@ var HttpClient = /** @class */ (function () {
|
|
|
106
109
|
'body': attachment.body
|
|
107
110
|
});
|
|
108
111
|
});
|
|
109
|
-
options.multipart =
|
|
112
|
+
// options.multipart = multipart;
|
|
110
113
|
}
|
|
111
114
|
else {
|
|
112
|
-
options.
|
|
115
|
+
options.data = data;
|
|
113
116
|
}
|
|
114
117
|
for (var attr in newExoptions) {
|
|
115
118
|
if (mergeOptions.indexOf(attr) !== -1) {
|
|
@@ -134,9 +137,9 @@ var HttpClient = /** @class */ (function () {
|
|
|
134
137
|
HttpClient.prototype.handleResponse = function (req, res, body) {
|
|
135
138
|
debug('Http response body: %j', body);
|
|
136
139
|
if (typeof body === 'string') {
|
|
137
|
-
// Remove any extra characters that appear before or after the SOAP
|
|
138
|
-
|
|
139
|
-
var match = body.replace(/<!--[\s\S]*?-->/, '').match(
|
|
140
|
+
// Remove any extra characters that appear before or after the SOAP envelope.
|
|
141
|
+
var regex = /(?:<\?[^?]*\?>[\s]*)?<([^:]*):Envelope([\S\s]*)<\/\1:Envelope>/i;
|
|
142
|
+
var match = body.replace(/<!--[\s\S]*?-->/, '').match(regex);
|
|
140
143
|
if (match) {
|
|
141
144
|
body = match[0];
|
|
142
145
|
}
|
|
@@ -144,41 +147,68 @@ var HttpClient = /** @class */ (function () {
|
|
|
144
147
|
return body;
|
|
145
148
|
};
|
|
146
149
|
HttpClient.prototype.request = function (rurl, data, callback, exheaders, exoptions, caller) {
|
|
147
|
-
var
|
|
150
|
+
var _this_1 = this;
|
|
148
151
|
var options = this.buildRequest(rurl, data, exheaders, exoptions);
|
|
149
152
|
var req;
|
|
150
|
-
if (exoptions !== undefined && exoptions.
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
options.url = rurl;
|
|
156
|
-
httpNtlm[options.method.toLowerCase()](options, function (err, res) {
|
|
157
|
-
if (err) {
|
|
158
|
-
return callback(err);
|
|
159
|
-
}
|
|
160
|
-
// if result is stream
|
|
161
|
-
if (typeof res.body !== 'string') {
|
|
162
|
-
res.body = res.body.toString();
|
|
163
|
-
}
|
|
164
|
-
res.body = _this.handleResponse(req, res, res.body);
|
|
165
|
-
callback(null, res, res.body);
|
|
153
|
+
if (exoptions !== undefined && exoptions.ntlm) {
|
|
154
|
+
var ntlmReq = axios_ntlm_1.NtlmClient({
|
|
155
|
+
username: exoptions.username,
|
|
156
|
+
password: exoptions.password,
|
|
157
|
+
domain: exoptions.domain
|
|
166
158
|
});
|
|
159
|
+
req = ntlmReq(options);
|
|
167
160
|
}
|
|
168
161
|
else {
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
callback(null, res, body);
|
|
175
|
-
});
|
|
162
|
+
if (this.options.parseReponseAttachments) {
|
|
163
|
+
options.responseType = 'arraybuffer';
|
|
164
|
+
options.responseEncoding = 'binary';
|
|
165
|
+
}
|
|
166
|
+
req = this._request(options);
|
|
176
167
|
}
|
|
168
|
+
var _this = this;
|
|
169
|
+
req.then(function (res) {
|
|
170
|
+
var body;
|
|
171
|
+
if (_this.options.parseReponseAttachments) {
|
|
172
|
+
var isMultipartResp = res.headers['content-type'] && res.headers['content-type'].toLowerCase().indexOf('multipart/related') > -1;
|
|
173
|
+
if (isMultipartResp) {
|
|
174
|
+
var boundary = void 0;
|
|
175
|
+
var parsedContentType = contentTypeParser(res.headers['content-type']);
|
|
176
|
+
if (parsedContentType && parsedContentType.parameterList) {
|
|
177
|
+
boundary = (parsedContentType.parameterList.find(function (item) { return item.key === 'boundary'; }) || {}).value;
|
|
178
|
+
}
|
|
179
|
+
if (!boundary) {
|
|
180
|
+
return callback(new Error('Missing boundary from content-type'));
|
|
181
|
+
}
|
|
182
|
+
var multipartResponse = utils_1.parseMTOMResp(res.data, boundary);
|
|
183
|
+
// first part is the soap response
|
|
184
|
+
var firstPart = multipartResponse.parts.shift();
|
|
185
|
+
if (!firstPart || !firstPart.body) {
|
|
186
|
+
return callback(new Error('Cannot parse multipart response'));
|
|
187
|
+
}
|
|
188
|
+
body = firstPart.body.toString('utf8');
|
|
189
|
+
res.mtomResponseAttachments = multipartResponse;
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
body = res.data.toString('utf8');
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
res.data = _this_1.handleResponse(req, res, body || res.data);
|
|
196
|
+
callback(null, res, res.data);
|
|
197
|
+
return res;
|
|
198
|
+
}, function (err) {
|
|
199
|
+
return callback(err);
|
|
200
|
+
});
|
|
177
201
|
return req;
|
|
178
202
|
};
|
|
179
203
|
HttpClient.prototype.requestStream = function (rurl, data, exheaders, exoptions, caller) {
|
|
204
|
+
var _this_1 = this;
|
|
180
205
|
var options = this.buildRequest(rurl, data, exheaders, exoptions);
|
|
181
|
-
|
|
206
|
+
options.responseType = 'stream';
|
|
207
|
+
var req = this._request(options).then(function (res) {
|
|
208
|
+
res.data = _this_1.handleResponse(req, res, res.data);
|
|
209
|
+
return res;
|
|
210
|
+
});
|
|
211
|
+
return req;
|
|
182
212
|
};
|
|
183
213
|
return HttpClient;
|
|
184
214
|
}());
|
package/lib/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;AAEH,
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
|