@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.
package/dist/cjs/index.cjs
CHANGED
|
@@ -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
|
|
121
|
-
|
|
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
|
|
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
|
|
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
|
|
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'])) {
|
package/dist/esm/index.mjs
CHANGED
|
@@ -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
|
|
119
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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
package/src/lib/BaseHttp.ts
CHANGED
|
@@ -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
|
|
95
|
-
|
|
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
|
|
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
|
|
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;
|