@basenjs/base-http 0.0.5 → 0.0.7

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.
@@ -9,6 +9,9 @@ var multiparty = require('multiparty');
9
9
  class BaseHttpRequestCallback {
10
10
  _request = (request) => { };
11
11
  _response = (response) => { };
12
+ _success = (response) => { };
13
+ _failure = (response) => { };
14
+ _unknown = (response) => { };
12
15
  _data = (buffer) => { };
13
16
  _end = (buffer) => { };
14
17
  _error = (buffer) => { };
@@ -24,6 +27,24 @@ class BaseHttpRequestCallback {
24
27
  set response(value) {
25
28
  this._response = value;
26
29
  }
30
+ get success() {
31
+ return this._success;
32
+ }
33
+ set success(value) {
34
+ this._success = value;
35
+ }
36
+ get failure() {
37
+ return this._failure;
38
+ }
39
+ set failure(value) {
40
+ this._failure = value;
41
+ }
42
+ get unknown() {
43
+ return this._unknown;
44
+ }
45
+ set unknown(value) {
46
+ this._unknown = value;
47
+ }
27
48
  get data() {
28
49
  return this._data;
29
50
  }
@@ -42,9 +63,12 @@ class BaseHttpRequestCallback {
42
63
  set error(value) {
43
64
  this._error = value;
44
65
  }
45
- constructor(request = () => { }, response = () => { }, data = () => { }, end = () => { }, error = () => { }) {
66
+ constructor(request = () => { }, response = () => { }, success = () => { }, failure = () => { }, unknown = () => { }, data = () => { }, end = () => { }, error = () => { }) {
46
67
  this._request = request;
47
68
  this._response = response;
69
+ this._success = success;
70
+ this._failure = failure;
71
+ this._unknown = unknown;
48
72
  this._data = data;
49
73
  this._end = end;
50
74
  this._error = error;
@@ -117,23 +141,50 @@ class BaseHttp extends base.BaseObject {
117
141
  // console.log(`<p>STATUS: ${res.statusCode}</p>`);
118
142
  // console.log(`<p>HEADERS: ${JSON.stringify(res.headers)}</p>`);
119
143
  res.setEncoding('utf8');
120
- callbacks.request(req);
121
- callbacks.response(res);
144
+ if (callbacks.request) {
145
+ callbacks.request(req);
146
+ }
147
+ if (callbacks.response) {
148
+ callbacks.response(res);
149
+ }
150
+ if (callbacks.success) {
151
+ // console.log('_put: found callback.success');
152
+ if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
153
+ callbacks.success(res, body);
154
+ }
155
+ }
156
+ if (callbacks.failure) {
157
+ // console.log('_put: found callback.failure');
158
+ if (res.statusCode && (res.statusCode < 200 || res.statusCode >= 400)) {
159
+ callbacks.failure(res, body);
160
+ }
161
+ }
162
+ if (callbacks.unknown) {
163
+ // console.log('_put: found callback.unknown');
164
+ if (res.statusCode && res.statusCode >= 300 && res.statusCode < 400) {
165
+ callbacks.unknown(res);
166
+ }
167
+ }
122
168
  res.on('data', (chunk) => {
123
169
  // this.log.debug(`<p>BODY: ${chunk}</p>`);
124
170
  buffer = Buffer.concat([buffer, Buffer.from(chunk)]);
125
- callbacks.data(buffer);
171
+ if (callbacks.data)
172
+ callbacks.data(buffer);
126
173
  });
127
174
  res.on('end', () => {
128
175
  // this.log.debug('No more data in response.');
129
- callbacks.end(buffer);
176
+ if (callbacks.end) {
177
+ callbacks.end(buffer);
178
+ }
130
179
  return buffer;
131
180
  });
132
181
  });
133
182
  req.on('error', (e) => {
134
183
  console.log(`problem with request: ${e.message}`);
135
184
  console.log(e.stack);
136
- callbacks.error(e);
185
+ if (callbacks.error) {
186
+ callbacks.error(e);
187
+ }
137
188
  throw (e);
138
189
  });
139
190
  if (body && (options.method?.toLowerCase() in ['post', 'put', 'patch'])) {
@@ -7,6 +7,9 @@ import multiparty from 'multiparty';
7
7
  class BaseHttpRequestCallback {
8
8
  _request = (request) => { };
9
9
  _response = (response) => { };
10
+ _success = (response) => { };
11
+ _failure = (response) => { };
12
+ _unknown = (response) => { };
10
13
  _data = (buffer) => { };
11
14
  _end = (buffer) => { };
12
15
  _error = (buffer) => { };
@@ -22,6 +25,24 @@ class BaseHttpRequestCallback {
22
25
  set response(value) {
23
26
  this._response = value;
24
27
  }
28
+ get success() {
29
+ return this._success;
30
+ }
31
+ set success(value) {
32
+ this._success = value;
33
+ }
34
+ get failure() {
35
+ return this._failure;
36
+ }
37
+ set failure(value) {
38
+ this._failure = value;
39
+ }
40
+ get unknown() {
41
+ return this._unknown;
42
+ }
43
+ set unknown(value) {
44
+ this._unknown = value;
45
+ }
25
46
  get data() {
26
47
  return this._data;
27
48
  }
@@ -40,9 +61,12 @@ class BaseHttpRequestCallback {
40
61
  set error(value) {
41
62
  this._error = value;
42
63
  }
43
- constructor(request = () => { }, response = () => { }, data = () => { }, end = () => { }, error = () => { }) {
64
+ constructor(request = () => { }, response = () => { }, success = () => { }, failure = () => { }, unknown = () => { }, data = () => { }, end = () => { }, error = () => { }) {
44
65
  this._request = request;
45
66
  this._response = response;
67
+ this._success = success;
68
+ this._failure = failure;
69
+ this._unknown = unknown;
46
70
  this._data = data;
47
71
  this._end = end;
48
72
  this._error = error;
@@ -115,23 +139,50 @@ class BaseHttp extends BaseObject {
115
139
  // console.log(`<p>STATUS: ${res.statusCode}</p>`);
116
140
  // console.log(`<p>HEADERS: ${JSON.stringify(res.headers)}</p>`);
117
141
  res.setEncoding('utf8');
118
- callbacks.request(req);
119
- callbacks.response(res);
142
+ if (callbacks.request) {
143
+ callbacks.request(req);
144
+ }
145
+ if (callbacks.response) {
146
+ callbacks.response(res);
147
+ }
148
+ if (callbacks.success) {
149
+ // console.log('_put: found callback.success');
150
+ if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
151
+ callbacks.success(res, body);
152
+ }
153
+ }
154
+ if (callbacks.failure) {
155
+ // console.log('_put: found callback.failure');
156
+ if (res.statusCode && (res.statusCode < 200 || res.statusCode >= 400)) {
157
+ callbacks.failure(res, body);
158
+ }
159
+ }
160
+ if (callbacks.unknown) {
161
+ // console.log('_put: found callback.unknown');
162
+ if (res.statusCode && res.statusCode >= 300 && res.statusCode < 400) {
163
+ callbacks.unknown(res);
164
+ }
165
+ }
120
166
  res.on('data', (chunk) => {
121
167
  // this.log.debug(`<p>BODY: ${chunk}</p>`);
122
168
  buffer = Buffer.concat([buffer, Buffer.from(chunk)]);
123
- callbacks.data(buffer);
169
+ if (callbacks.data)
170
+ callbacks.data(buffer);
124
171
  });
125
172
  res.on('end', () => {
126
173
  // this.log.debug('No more data in response.');
127
- callbacks.end(buffer);
174
+ if (callbacks.end) {
175
+ callbacks.end(buffer);
176
+ }
128
177
  return buffer;
129
178
  });
130
179
  });
131
180
  req.on('error', (e) => {
132
181
  console.log(`problem with request: ${e.message}`);
133
182
  console.log(e.stack);
134
- callbacks.error(e);
183
+ if (callbacks.error) {
184
+ callbacks.error(e);
185
+ }
135
186
  throw (e);
136
187
  });
137
188
  if (body && (options.method?.toLowerCase() in ['post', 'put', 'patch'])) {
@@ -6,12 +6,84 @@ export declare class BaseHttp extends BaseObject {
6
6
  constructor();
7
7
  static processResponse(response: http.IncomingMessage): Promise<Buffer>;
8
8
  static buildOptions(options: http.RequestOptions | any | Url): http.RequestOptions;
9
- static head(options: http.RequestOptions | any | Url, callbacks?: BaseHttpRequestCallback): Promise<http.ClientRequest | undefined>;
10
- static options(options: http.RequestOptions | any | Url, callbacks?: BaseHttpRequestCallback): Promise<http.ClientRequest | undefined>;
11
- static get(options: http.RequestOptions | any | Url, callbacks?: BaseHttpRequestCallback): Promise<http.ClientRequest | undefined>;
12
- static post(options: http.RequestOptions | any | Url, body: any, callbacks?: BaseHttpRequestCallback): Promise<http.ClientRequest | undefined>;
13
- static put(options: http.RequestOptions | any | Url, body: any, callbacks?: BaseHttpRequestCallback): Promise<http.ClientRequest | undefined>;
14
- static patch(options: http.RequestOptions | any | Url, body: any, callbacks?: BaseHttpRequestCallback): Promise<http.ClientRequest | undefined>;
15
- static delete(options: http.RequestOptions | any | Url, callbacks?: BaseHttpRequestCallback): Promise<http.ClientRequest | undefined>;
16
- static request(options: http.RequestOptions | any | Url, body?: any, callbacks?: BaseHttpRequestCallback): Promise<http.ClientRequest | undefined>;
9
+ static head(options: http.RequestOptions | any | Url, callbacks?: BaseHttpRequestCallback | {
10
+ request?: Function;
11
+ response?: Function;
12
+ success?: Function;
13
+ failure?: Function;
14
+ unknown?: Function;
15
+ data?: Function;
16
+ end?: Function;
17
+ error?: Function;
18
+ }): Promise<http.ClientRequest | undefined>;
19
+ static options(options: http.RequestOptions | any | Url, callbacks?: BaseHttpRequestCallback | {
20
+ request?: Function;
21
+ response?: Function;
22
+ success?: Function;
23
+ failure?: Function;
24
+ unknown?: Function;
25
+ data?: Function;
26
+ end?: Function;
27
+ error?: Function;
28
+ }): Promise<http.ClientRequest | undefined>;
29
+ static get(options: http.RequestOptions | any | Url, callbacks?: BaseHttpRequestCallback | {
30
+ request?: Function;
31
+ response?: Function;
32
+ success?: Function;
33
+ failure?: Function;
34
+ unknown?: Function;
35
+ data?: Function;
36
+ end?: Function;
37
+ error?: Function;
38
+ }): Promise<http.ClientRequest | undefined>;
39
+ static post(options: http.RequestOptions | any | Url, body: any, callbacks?: BaseHttpRequestCallback | {
40
+ request?: Function;
41
+ response?: Function;
42
+ success?: Function;
43
+ failure?: Function;
44
+ unknown?: Function;
45
+ data?: Function;
46
+ end?: Function;
47
+ error?: Function;
48
+ }): Promise<http.ClientRequest | undefined>;
49
+ static put(options: http.RequestOptions | any | Url, body: any, callbacks?: BaseHttpRequestCallback | {
50
+ request?: Function;
51
+ response?: Function;
52
+ success?: Function;
53
+ failure?: Function;
54
+ unknown?: Function;
55
+ data?: Function;
56
+ end?: Function;
57
+ error?: Function;
58
+ }): Promise<http.ClientRequest | undefined>;
59
+ static patch(options: http.RequestOptions | any | Url, body: any, callbacks?: BaseHttpRequestCallback | {
60
+ request?: Function;
61
+ response?: Function;
62
+ success?: Function;
63
+ failure?: Function;
64
+ unknown?: Function;
65
+ data?: Function;
66
+ end?: Function;
67
+ error?: Function;
68
+ }): Promise<http.ClientRequest | undefined>;
69
+ static delete(options: http.RequestOptions | any | Url, callbacks?: BaseHttpRequestCallback | {
70
+ request?: Function;
71
+ response?: Function;
72
+ success?: Function;
73
+ failure?: Function;
74
+ unknown?: Function;
75
+ data?: Function;
76
+ end?: Function;
77
+ error?: Function;
78
+ }): Promise<http.ClientRequest | undefined>;
79
+ static request(options: http.RequestOptions | any | Url, body?: any, callbacks?: BaseHttpRequestCallback | {
80
+ request?: Function;
81
+ response?: Function;
82
+ success?: Function;
83
+ failure?: Function;
84
+ unknown?: Function;
85
+ data?: Function;
86
+ end?: Function;
87
+ error?: Function;
88
+ }): Promise<http.ClientRequest | undefined>;
17
89
  }
@@ -2,6 +2,9 @@ import http from 'node:http';
2
2
  export declare class BaseHttpRequestCallback {
3
3
  _request: Function;
4
4
  _response: Function;
5
+ _success: Function;
6
+ _failure: Function;
7
+ _unknown: Function;
5
8
  _data: Function;
6
9
  _end: Function;
7
10
  _error: Function;
@@ -9,11 +12,17 @@ export declare class BaseHttpRequestCallback {
9
12
  set request(value: Function);
10
13
  get response(): Function;
11
14
  set response(value: Function);
15
+ get success(): Function;
16
+ set success(value: Function);
17
+ get failure(): Function;
18
+ set failure(value: Function);
19
+ get unknown(): Function;
20
+ set unknown(value: Function);
12
21
  get data(): Function;
13
22
  set data(value: Function);
14
23
  get end(): Function;
15
24
  set end(value: Function);
16
25
  get error(): Function;
17
26
  set error(value: Function);
18
- constructor(request?: (request: http.ClientRequest) => void, response?: (response: http.IncomingMessage) => void, data?: (buffer: Buffer) => void, end?: (buffer: Buffer) => void, error?: (buffer: Buffer) => void);
27
+ constructor(request?: (request: http.ClientRequest) => void, response?: (response: http.IncomingMessage) => void, success?: (response: http.IncomingMessage) => void, failure?: (response: http.IncomingMessage) => void, unknown?: (response: http.IncomingMessage) => void, data?: (buffer: Buffer) => void, end?: (buffer: Buffer) => void, error?: (buffer: Buffer) => void);
19
28
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@basenjs/base-http",
3
- "version": "0.0.5",
3
+ "version": "0.0.7",
4
4
  "private": false,
5
5
  "description": "A base HTTP library for Node.js projects.",
6
6
  "type": "module",
@@ -49,60 +49,88 @@ export class BaseHttp extends BaseObject {
49
49
  return r;
50
50
  }
51
51
 
52
- public static head(options: http.RequestOptions | any | Url, callbacks: BaseHttpRequestCallback = new BaseHttpRequestCallback()): Promise<http.ClientRequest | undefined> {
52
+ public static head(options: http.RequestOptions | any | Url, callbacks: BaseHttpRequestCallback | { request?: Function, response?: Function, success?: Function, failure?: Function, unknown?: Function, data?: Function, end?: Function, error?: Function } = new BaseHttpRequestCallback()): Promise<http.ClientRequest | undefined> {
53
53
  return BaseHttp.request({ ...BaseHttp.buildOptions(options), method: 'HEAD' }, null, callbacks);
54
54
  }
55
55
 
56
- public static options(options: http.RequestOptions | any | Url, callbacks: BaseHttpRequestCallback = new BaseHttpRequestCallback()): Promise<http.ClientRequest | undefined> {
56
+ public static options(options: http.RequestOptions | any | Url, callbacks: BaseHttpRequestCallback | { request?: Function, response?: Function, success?: Function, failure?: Function, unknown?: Function, data?: Function, end?: Function, error?: Function } = new BaseHttpRequestCallback()): Promise<http.ClientRequest | undefined> {
57
57
  return BaseHttp.request({ ...BaseHttp.buildOptions(options), method: 'OPTIONS' }, null, callbacks);
58
58
  }
59
59
 
60
- public static get(options: http.RequestOptions | any | Url, callbacks: BaseHttpRequestCallback = new BaseHttpRequestCallback()): Promise<http.ClientRequest | undefined> {
60
+ public static get(options: http.RequestOptions | any | Url, callbacks: BaseHttpRequestCallback | { request?: Function, response?: Function, success?: Function, failure?: Function, unknown?: Function, data?: Function, end?: Function, error?: Function } = new BaseHttpRequestCallback()): Promise<http.ClientRequest | undefined> {
61
61
  return BaseHttp.request({ ...BaseHttp.buildOptions(options), method: 'GET' }, null, callbacks);
62
62
  }
63
63
 
64
- public static post(options: http.RequestOptions | any | Url, body: any, callbacks: BaseHttpRequestCallback = new BaseHttpRequestCallback()): Promise<http.ClientRequest | undefined> {
64
+ public static post(options: http.RequestOptions | any | Url, body: any, callbacks: BaseHttpRequestCallback | { request?: Function, response?: Function, success?: Function, failure?: Function, unknown?: Function, data?: Function, end?: Function, error?: Function } = new BaseHttpRequestCallback()): Promise<http.ClientRequest | undefined> {
65
65
  options.headers['Content-Length'] = body ? Buffer.byteLength(body) : 0;
66
66
  return BaseHttp.request({ ...BaseHttp.buildOptions(options), method: 'POST' }, body, callbacks);
67
67
  }
68
68
 
69
- public static put(options: http.RequestOptions | any | Url, body: any, callbacks: BaseHttpRequestCallback = new BaseHttpRequestCallback()): Promise<http.ClientRequest | undefined> {
69
+ public static put(options: http.RequestOptions | any | Url, body: any, callbacks: BaseHttpRequestCallback | { request?: Function, response?: Function, success?: Function, failure?: Function, unknown?: Function, data?: Function, end?: Function, error?: Function } = new BaseHttpRequestCallback()): Promise<http.ClientRequest | undefined> {
70
70
  options.headers['Content-Length'] = body ? Buffer.byteLength(body) : 0;
71
71
  return BaseHttp.request({ ...BaseHttp.buildOptions(options), method: 'PUT' }, body, callbacks);
72
72
  }
73
73
 
74
- public static patch(options: http.RequestOptions | any | Url, body: any, callbacks: BaseHttpRequestCallback = new BaseHttpRequestCallback()): Promise<http.ClientRequest | undefined> {
74
+ public static patch(options: http.RequestOptions | any | Url, body: any, callbacks: BaseHttpRequestCallback | { request?: Function, response?: Function, success?: Function, failure?: Function, unknown?: Function, data?: Function, end?: Function, error?: Function } = new BaseHttpRequestCallback()): Promise<http.ClientRequest | undefined> {
75
75
  options.headers['Content-Length'] = body ? Buffer.byteLength(body) : 0;
76
76
  return BaseHttp.request({ ...BaseHttp.buildOptions(options), method: 'PATCH' }, body, callbacks);
77
77
  }
78
78
 
79
- public static delete(options: http.RequestOptions | any | Url, callbacks: BaseHttpRequestCallback = new BaseHttpRequestCallback()): Promise<http.ClientRequest | undefined> {
79
+ public static delete(options: http.RequestOptions | any | Url, callbacks: BaseHttpRequestCallback | { request?: Function, response?: Function, success?: Function, failure?: Function, unknown?: Function, data?: Function, end?: Function, error?: Function } = new BaseHttpRequestCallback()): Promise<http.ClientRequest | undefined> {
80
80
  return BaseHttp.request({ ...BaseHttp.buildOptions(options), method: 'DELETE' }, null, callbacks);
81
81
  }
82
82
 
83
- public static async request(options: http.RequestOptions | any | Url, body: any = null, callbacks: BaseHttpRequestCallback = new BaseHttpRequestCallback()): Promise<http.ClientRequest | undefined> {
83
+ public static async request(options: http.RequestOptions | any | Url, body: any = null, callbacks: BaseHttpRequestCallback | { request?: Function, response?: Function, success?: Function, failure?: Function, unknown?: Function, data?: Function, end?: Function, error?: Function } = new BaseHttpRequestCallback()): Promise<http.ClientRequest | undefined> {
84
84
  var _ = this,
85
85
  buffer: Buffer = Buffer.alloc(0);
86
86
 
87
- const req = https.request(options, (res) => {
87
+ const req = https.request(options, (res: http.IncomingMessage) => {
88
88
  // console.log('<p>https://' + options.hostname + options.path + '</p>');
89
89
  // console.log(`<p>STATUS: ${res.statusCode}</p>`);
90
90
  // console.log(`<p>HEADERS: ${JSON.stringify(res.headers)}</p>`);
91
91
 
92
92
  res.setEncoding('utf8');
93
93
 
94
- callbacks.request(req);
95
- callbacks.response(res);
94
+ if (callbacks.request) {
95
+ callbacks.request(req);
96
+ }
97
+
98
+ if (callbacks.response) {
99
+ callbacks.response(res);
100
+ }
101
+
102
+ if(callbacks.success) {
103
+ // console.log('_put: found callback.success');
104
+ if(res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
105
+ callbacks.success(res, body);
106
+ }
107
+ }
108
+
109
+ if(callbacks.failure) {
110
+ // console.log('_put: found callback.failure');
111
+ if(res.statusCode && (res.statusCode < 200 || res.statusCode >= 400)) {
112
+ callbacks.failure(res, body);
113
+ }
114
+ }
115
+
116
+ if(callbacks.unknown) {
117
+ // console.log('_put: found callback.unknown');
118
+ if(res.statusCode && res.statusCode >= 300 && res.statusCode < 400) {
119
+ callbacks.unknown(res);
120
+ }
121
+ }
96
122
 
97
123
  res.on('data', (chunk) => {
98
124
  // this.log.debug(`<p>BODY: ${chunk}</p>`);
99
125
  buffer = Buffer.concat([buffer, Buffer.from(chunk)]);
100
- callbacks.data(buffer);
126
+ if (callbacks.data) callbacks.data(buffer);
101
127
  });
102
128
 
103
129
  res.on('end', () => {
104
130
  // this.log.debug('No more data in response.');
105
- callbacks.end(buffer);
131
+ if (callbacks.end) {
132
+ callbacks.end(buffer);
133
+ }
106
134
  return buffer;
107
135
  });
108
136
  });
@@ -110,7 +138,9 @@ export class BaseHttp extends BaseObject {
110
138
  req.on('error', (e) => {
111
139
  console.log(`problem with request: ${e.message}`);
112
140
  console.log(e.stack);
113
- callbacks.error(e);
141
+ if (callbacks.error) {
142
+ callbacks.error(e);
143
+ }
114
144
  throw(e);
115
145
  });
116
146
 
@@ -5,6 +5,9 @@ import { Url } from 'node:url';
5
5
  export class BaseHttpRequestCallback {
6
6
  _request: Function = (request: http.ClientRequest) => {};
7
7
  _response: Function = (response: http.IncomingMessage) => {};
8
+ _success: Function = (response: http.IncomingMessage) => {};
9
+ _failure: Function = (response: http.IncomingMessage) => {};
10
+ _unknown: Function = (response: http.IncomingMessage) => {};
8
11
  _data: Function = (buffer: Buffer) => {};
9
12
  _end: Function = (buffer: Buffer) => {};
10
13
  _error: Function = (buffer: Buffer) => {};
@@ -25,6 +28,30 @@ export class BaseHttpRequestCallback {
25
28
  this._response = value;
26
29
  }
27
30
 
31
+ get success(): Function {
32
+ return this._success;
33
+ }
34
+
35
+ set success(value: Function) {
36
+ this._success = value;
37
+ }
38
+
39
+ get failure(): Function {
40
+ return this._failure;
41
+ }
42
+
43
+ set failure(value: Function) {
44
+ this._failure = value;
45
+ }
46
+
47
+ get unknown(): Function {
48
+ return this._unknown;
49
+ }
50
+
51
+ set unknown(value: Function) {
52
+ this._unknown = value;
53
+ }
54
+
28
55
  get data(): Function {
29
56
  return this._data;
30
57
  }
@@ -52,12 +79,18 @@ export class BaseHttpRequestCallback {
52
79
  constructor(
53
80
  request: (request: http.ClientRequest) => void = () => {},
54
81
  response: (response: http.IncomingMessage) => void = () => {},
82
+ success: (response: http.IncomingMessage) => void = () => {},
83
+ failure: (response: http.IncomingMessage) => void = () => {},
84
+ unknown: (response: http.IncomingMessage) => void = () => {},
55
85
  data: (buffer: Buffer) => void = () => {},
56
86
  end: (buffer: Buffer) => void = () => {},
57
87
  error: (buffer: Buffer) => void = () => {}
58
88
  ) {
59
89
  this._request = request;
60
90
  this._response = response;
91
+ this._success = success;
92
+ this._failure = failure;
93
+ this._unknown = unknown;
61
94
  this._data = data;
62
95
  this._end = end;
63
96
  this._error = error;