soap 0.39.0 → 0.43.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 CHANGED
@@ -1,3 +1,36 @@
1
+ 0.43.0 / 2021-11-12
2
+ ===================
3
+ * [DOC] Create SECURITY.md (#1165)
4
+ * [ENHANCEMENT] Publicly expose wsdl in Client (#1167)
5
+ * [ENHANCEMENT] add native support for long deserialization (#1160)
6
+ * [FIX] Fix typo in ISoapFault12 (#1166)
7
+ * [FIX] error when soapaction header is not set (#1171)
8
+ * [FIX] lastElapsedTime for non streaming requests (#1162)
9
+ * [FIX] minor fix for ntlm request (#1163)
10
+ * [FIX] undefined targetNamespace (#1161)
11
+ * [FIX] xsi:type currently requires a namespace, resulting in undefined if no XMLNS is defined. Making attributes working without namespace or xmlns definitions. (#1159)
12
+ * [MAINTENANCE] Bump httpntlm, doctoc as well as other dependencies (#1158)
13
+
14
+ 0.42.0 / 2021-08-23
15
+ ===================
16
+ * [FIX] check method style if exists instead of binding style (#1153)
17
+ * [FIX] update dependency vuln in xmldom via xml-cryoto/xmldom update (#1157)
18
+ * [FIX] update 7 vulnerabilities in the dependency chain (#1156)
19
+ * [FIX] SOAP faults are no longer being passed back in the error callback/promise rejection (#1155)
20
+
21
+ 0.41.0 / 2021-08-20
22
+ ===================
23
+ * [ENHANCEMENT] Support for soap attachments in response. (#1148)
24
+ * [FIX] Correctly add the https agent to axios (#1154)
25
+ * [FIX] prefer SOAPAction header over the body name to get the actual method name (#1152)
26
+ * [MAINTENANCE] Moving to github actions
27
+
28
+ 0.40.0 / 2021-07-06
29
+ ===================
30
+ * [DOC] Update Readme.md (#1150)
31
+ * [ENHANCEMENT] Allow server path to be a regex (#1149)
32
+ * [ENHANCEMENT] replace request & httpntlm with axios & axios-ntlm (#1146)
33
+
1
34
  0.39.0 / 2021-06-01
2
35
  ===================
3
36
 
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/SECURITY.md ADDED
@@ -0,0 +1,5 @@
1
+ # Security Policy
2
+
3
+ ## Reporting a Vulnerability
4
+
5
+ Please report security issues to <email>
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 * as request from 'request';
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,11 +27,12 @@ export declare class Client extends EventEmitter {
28
27
  lastRequest?: string;
29
28
  lastMessage?: string;
30
29
  lastEndpoint?: string;
31
- lastRequestHeaders?: request.Headers;
30
+ lastRequestHeaders?: any;
32
31
  lastResponse?: any;
33
32
  lastResponseHeaders?: IncomingHttpHeaders;
34
33
  lastElapsedTime?: number;
35
- private wsdl;
34
+ lastResponseAttachments: IMTOMAttachments;
35
+ wsdl: WSDL;
36
36
  private httpClient;
37
37
  private soapHeaders;
38
38
  private httpHeaders;
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.statusCode >= 400) {
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,96 @@ 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
- callback(err, undefined, undefined, undefined, xml);
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
- req.on('error', onError_1);
420
- req.on('response', function (response) {
421
- response.on('error', onError_1);
422
- // When the output element cannot be looked up in the wsdl, play it safe and
423
- // don't stream
424
- if (response.statusCode !== 200 || !output || !output.$lookupTypes) {
425
- getStream(response).then(function (body) {
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.emit('response', body, response, eid);
430
- return parseSync(body, response);
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(response);
438
- return finish({ saxStream: saxStream }, '<stream>', response);
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(response, function (error, obj) {
442
- _this_1.lastResponse = response;
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.emit('response', '<stream>', response, eid);
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 = response;
461
+ error.response = res;
448
462
  error.body = '<stream>';
449
463
  _this_1.emit('soapError', error, eid);
450
- return callback(error, response, undefined, undefined, xml);
464
+ return callback(error, res, undefined, undefined, xml);
451
465
  }
452
- return finish(obj, '<stream>', response);
466
+ return finish(obj, '<stream>', res);
453
467
  });
454
468
  }
455
- });
469
+ }, onError_1);
456
470
  return;
457
471
  }
458
- req = this.httpClient.request(location, xml, function (err, response, body) {
472
+ var startTime = Date.now();
473
+ return this.httpClient.request(location, xml, function (err, response, body) {
459
474
  _this_1.lastResponse = body;
460
- _this_1.lastResponseHeaders = response && response.headers;
461
- _this_1.lastElapsedTime = response && response.elapsedTime;
475
+ if (response) {
476
+ _this_1.lastResponseHeaders = response.headers;
477
+ _this_1.lastElapsedTime = Date.now() - startTime;
478
+ _this_1.lastResponseAttachments = response.mtomResponseAttachments;
479
+ // Added mostly for testability, but possibly useful for debugging
480
+ _this_1.lastRequestHeaders = response.config && response.config.headers;
481
+ }
462
482
  _this_1.emit('response', body, response, eid);
463
483
  if (err) {
484
+ _this_1.lastRequestHeaders = err.config && err.config.headers;
485
+ try {
486
+ if (err.response && err.response.data) {
487
+ _this_1.wsdl.xmlToObject(err.response.data);
488
+ }
489
+ }
490
+ catch (error) {
491
+ err.root = error.root || error;
492
+ }
464
493
  callback(err, undefined, undefined, undefined, xml);
465
494
  }
466
495
  else {
467
496
  return parseSync(body, response);
468
497
  }
469
498
  }, 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
499
  };
475
500
  return Client;
476
501
  }(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 'request';
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.Request, res: req.Response, body: any): any;
38
- request(rurl: string, data: any, callback: (error: any, res?: any, body?: any) => any, exheaders?: IHeaders, exoptions?: IExOptions, caller?: any): req.Request;
39
- requestStream(rurl: string, data: any, exheaders?: IHeaders, exoptions?: IExOptions, caller?: any): req.Request;
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._request = options.request || req;
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,11 +74,14 @@ var HttpClient = /** @class */ (function () {
71
74
  headers[attr] = exheaders[attr];
72
75
  }
73
76
  var options = {
74
- uri: curl,
77
+ url: curl.href,
75
78
  method: method,
76
79
  headers: headers,
77
- followAllRedirects: true
80
+ transformResponse: function (data) { return data; }
78
81
  };
82
+ if (!exoptions.ntlm) {
83
+ options.validateStatus = null;
84
+ }
79
85
  if (exoptions.forceMTOM || attachments.length > 0) {
80
86
  var start = uuid_1.v4();
81
87
  var action = null;
@@ -87,8 +93,7 @@ var HttpClient = /** @class */ (function () {
87
93
  }
88
94
  }
89
95
  }
90
- headers['Content-Type'] =
91
- 'multipart/related; type="application/xop+xml"; start="<' + start + '>"; start-info="text/xml"; boundary=' + uuid_1.v4();
96
+ headers['Content-Type'] = 'multipart/related; type="application/xop+xml"; start="<' + start + '>"; start-info="text/xml"; boundary=' + uuid_1.v4();
92
97
  if (action) {
93
98
  headers['Content-Type'] = headers['Content-Type'] + '; ' + action;
94
99
  }
@@ -106,10 +111,10 @@ var HttpClient = /** @class */ (function () {
106
111
  'body': attachment.body
107
112
  });
108
113
  });
109
- options.multipart = multipart_1;
114
+ // options.multipart = multipart;
110
115
  }
111
116
  else {
112
- options.body = data;
117
+ options.data = data;
113
118
  }
114
119
  for (var attr in newExoptions) {
115
120
  if (mergeOptions.indexOf(attr) !== -1) {
@@ -134,9 +139,9 @@ var HttpClient = /** @class */ (function () {
134
139
  HttpClient.prototype.handleResponse = function (req, res, body) {
135
140
  debug('Http response body: %j', body);
136
141
  if (typeof body === 'string') {
137
- // Remove any extra characters that appear before or after the SOAP
138
- // envelope.
139
- var match = body.replace(/<!--[\s\S]*?-->/, '').match(/(?:<\?[^?]*\?>[\s]*)?<([^:]*):Envelope([\S\s]*)<\/\1:Envelope>/i);
142
+ // Remove any extra characters that appear before or after the SOAP envelope.
143
+ var regex = /(?:<\?[^?]*\?>[\s]*)?<([^:]*):Envelope([\S\s]*)<\/\1:Envelope>/i;
144
+ var match = body.replace(/<!--[\s\S]*?-->/, '').match(regex);
140
145
  if (match) {
141
146
  body = match[0];
142
147
  }
@@ -144,41 +149,69 @@ var HttpClient = /** @class */ (function () {
144
149
  return body;
145
150
  };
146
151
  HttpClient.prototype.request = function (rurl, data, callback, exheaders, exoptions, caller) {
147
- var _this = this;
152
+ var _this_1 = this;
148
153
  var options = this.buildRequest(rurl, data, exheaders, exoptions);
149
154
  var req;
150
- if (exoptions !== undefined && exoptions.hasOwnProperty('ntlm')) {
151
- // sadly when using ntlm nothing to return
152
- // Not sure if this can be handled in a cleaner way rather than an if/else,
153
- // will to tidy up if I get chance later, patches welcome - insanityinside
154
- // TODO - should the following be uri?
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);
155
+ if (exoptions !== undefined && exoptions.ntlm) {
156
+ var ntlmReq = axios_ntlm_1.NtlmClient({
157
+ username: exoptions.username,
158
+ password: exoptions.password,
159
+ workstation: exoptions.workstation || '',
160
+ domain: exoptions.domain || ''
166
161
  });
162
+ req = ntlmReq(options);
167
163
  }
168
164
  else {
169
- req = this._request(options, function (err, res, body) {
170
- if (err) {
171
- return callback(err);
172
- }
173
- body = _this.handleResponse(req, res, body);
174
- callback(null, res, body);
175
- });
165
+ if (this.options.parseReponseAttachments) {
166
+ options.responseType = 'arraybuffer';
167
+ options.responseEncoding = 'binary';
168
+ }
169
+ req = this._request(options);
176
170
  }
171
+ var _this = this;
172
+ req.then(function (res) {
173
+ var body;
174
+ if (_this.options.parseReponseAttachments) {
175
+ var isMultipartResp = res.headers['content-type'] && res.headers['content-type'].toLowerCase().indexOf('multipart/related') > -1;
176
+ if (isMultipartResp) {
177
+ var boundary = void 0;
178
+ var parsedContentType = contentTypeParser(res.headers['content-type']);
179
+ if (parsedContentType && parsedContentType.parameterList) {
180
+ boundary = (parsedContentType.parameterList.find(function (item) { return item.key === 'boundary'; }) || {}).value;
181
+ }
182
+ if (!boundary) {
183
+ return callback(new Error('Missing boundary from content-type'));
184
+ }
185
+ var multipartResponse = utils_1.parseMTOMResp(res.data, boundary);
186
+ // first part is the soap response
187
+ var firstPart = multipartResponse.parts.shift();
188
+ if (!firstPart || !firstPart.body) {
189
+ return callback(new Error('Cannot parse multipart response'));
190
+ }
191
+ body = firstPart.body.toString('utf8');
192
+ res.mtomResponseAttachments = multipartResponse;
193
+ }
194
+ else {
195
+ body = res.data.toString('utf8');
196
+ }
197
+ }
198
+ res.data = _this_1.handleResponse(req, res, body || res.data);
199
+ callback(null, res, res.data);
200
+ return res;
201
+ }, function (err) {
202
+ return callback(err);
203
+ });
177
204
  return req;
178
205
  };
179
206
  HttpClient.prototype.requestStream = function (rurl, data, exheaders, exoptions, caller) {
207
+ var _this_1 = this;
180
208
  var options = this.buildRequest(rurl, data, exheaders, exoptions);
181
- return this._request(options);
209
+ options.responseType = 'stream';
210
+ var req = this._request(options).then(function (res) {
211
+ res.data = _this_1.handleResponse(req, res, res.data);
212
+ return res;
213
+ });
214
+ return req;
182
215
  };
183
216
  return HttpClient;
184
217
  }());