@kaito-http/core 2.3.6 → 2.3.9
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.
|
@@ -26,7 +26,6 @@ export declare class Router<Context, Routes extends RoutesInit<Context>> {
|
|
|
26
26
|
readonly 'mkcol': <Result, Path extends `/${string}`, Input extends z.ZodType<any, z.ZodTypeDef, any> = never>(path: Path, route: Omit<Route<Result, Path, "MKCOL", Context, Input>, "method">) => Router<Context, Path extends keyof Routes ? NoEmpty<Pick<Routes, Path>> | { [key in Path]: Route<Result, Path, "MKCOL", Context, Input>; } : Routes & { [key_1 in Path]: Route<Result, Path, "MKCOL", Context, Input>; }>;
|
|
27
27
|
readonly 'move': <Result, Path extends `/${string}`, Input extends z.ZodType<any, z.ZodTypeDef, any> = never>(path: Path, route: Omit<Route<Result, Path, "MOVE", Context, Input>, "method">) => Router<Context, Path extends keyof Routes ? NoEmpty<Pick<Routes, Path>> | { [key in Path]: Route<Result, Path, "MOVE", Context, Input>; } : Routes & { [key_1 in Path]: Route<Result, Path, "MOVE", Context, Input>; }>;
|
|
28
28
|
readonly 'notify': <Result, Path extends `/${string}`, Input extends z.ZodType<any, z.ZodTypeDef, any> = never>(path: Path, route: Omit<Route<Result, Path, "NOTIFY", Context, Input>, "method">) => Router<Context, Path extends keyof Routes ? NoEmpty<Pick<Routes, Path>> | { [key in Path]: Route<Result, Path, "NOTIFY", Context, Input>; } : Routes & { [key_1 in Path]: Route<Result, Path, "NOTIFY", Context, Input>; }>;
|
|
29
|
-
readonly 'options': <Result, Path extends `/${string}`, Input extends z.ZodType<any, z.ZodTypeDef, any> = never>(path: Path, route: Omit<Route<Result, Path, "OPTIONS", Context, Input>, "method">) => Router<Context, Path extends keyof Routes ? NoEmpty<Pick<Routes, Path>> | { [key in Path]: Route<Result, Path, "OPTIONS", Context, Input>; } : Routes & { [key_1 in Path]: Route<Result, Path, "OPTIONS", Context, Input>; }>;
|
|
30
29
|
readonly 'patch': <Result, Path extends `/${string}`, Input extends z.ZodType<any, z.ZodTypeDef, any> = never>(path: Path, route: Omit<Route<Result, Path, "PATCH", Context, Input>, "method">) => Router<Context, Path extends keyof Routes ? NoEmpty<Pick<Routes, Path>> | { [key in Path]: Route<Result, Path, "PATCH", Context, Input>; } : Routes & { [key_1 in Path]: Route<Result, Path, "PATCH", Context, Input>; }>;
|
|
31
30
|
readonly 'post': <Result, Path extends `/${string}`, Input extends z.ZodType<any, z.ZodTypeDef, any> = never>(path: Path, route: Omit<Route<Result, Path, "POST", Context, Input>, "method">) => Router<Context, Path extends keyof Routes ? NoEmpty<Pick<Routes, Path>> | { [key in Path]: Route<Result, Path, "POST", Context, Input>; } : Routes & { [key_1 in Path]: Route<Result, Path, "POST", Context, Input>; }>;
|
|
32
31
|
readonly 'propfind': <Result, Path extends `/${string}`, Input extends z.ZodType<any, z.ZodTypeDef, any> = never>(path: Path, route: Omit<Route<Result, Path, "PROPFIND", Context, Input>, "method">) => Router<Context, Path extends keyof Routes ? NoEmpty<Pick<Routes, Path>> | { [key in Path]: Route<Result, Path, "PROPFIND", Context, Input>; } : Routes & { [key_1 in Path]: Route<Result, Path, "PROPFIND", Context, Input>; }>;
|
|
@@ -5,9 +5,11 @@ import { KaitoRequest } from './req';
|
|
|
5
5
|
import { KaitoResponse } from './res';
|
|
6
6
|
import { KaitoError } from './error';
|
|
7
7
|
import { GetContext } from './util';
|
|
8
|
+
export declare type Before = (req: http.IncomingMessage, res: http.ServerResponse) => Promise<void>;
|
|
8
9
|
export interface ServerConfig<Context> {
|
|
9
10
|
router: Router<Context, RoutesInit<Context>>;
|
|
10
11
|
getContext: GetContext<Context>;
|
|
12
|
+
before?: Before[];
|
|
11
13
|
onError(arg: {
|
|
12
14
|
error: Error;
|
|
13
15
|
req: KaitoRequest;
|
|
@@ -5,37 +5,92 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var http = require('http');
|
|
6
6
|
var fmw = require('find-my-way');
|
|
7
7
|
var tls = require('tls');
|
|
8
|
+
var contentType = require('content-type');
|
|
8
9
|
var getRawBody = require('raw-body');
|
|
9
10
|
|
|
10
11
|
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
|
11
12
|
|
|
12
13
|
function _interopNamespace(e) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
14
|
+
if (e && e.__esModule) return e;
|
|
15
|
+
var n = Object.create(null);
|
|
16
|
+
if (e) {
|
|
17
|
+
Object.keys(e).forEach(function (k) {
|
|
18
|
+
if (k !== 'default') {
|
|
19
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
20
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
21
|
+
enumerable: true,
|
|
22
|
+
get: function () { return e[k]; }
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
n["default"] = e;
|
|
28
|
+
return Object.freeze(n);
|
|
28
29
|
}
|
|
29
30
|
|
|
30
31
|
var http__namespace = /*#__PURE__*/_interopNamespace(http);
|
|
31
32
|
var fmw__default = /*#__PURE__*/_interopDefault(fmw);
|
|
32
33
|
var getRawBody__default = /*#__PURE__*/_interopDefault(getRawBody);
|
|
33
34
|
|
|
35
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
36
|
+
try {
|
|
37
|
+
var info = gen[key](arg);
|
|
38
|
+
var value = info.value;
|
|
39
|
+
} catch (error) {
|
|
40
|
+
reject(error);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
if (info.done) {
|
|
45
|
+
resolve(value);
|
|
46
|
+
} else {
|
|
47
|
+
Promise.resolve(value).then(_next, _throw);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function _asyncToGenerator(fn) {
|
|
52
|
+
return function () {
|
|
53
|
+
var self = this,
|
|
54
|
+
args = arguments;
|
|
55
|
+
return new Promise(function (resolve, reject) {
|
|
56
|
+
var gen = fn.apply(self, args);
|
|
57
|
+
|
|
58
|
+
function _next(value) {
|
|
59
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function _throw(err) {
|
|
63
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
_next(undefined);
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
|
|
34
71
|
function createFMWServer(config) {
|
|
35
72
|
var fmw = config.router.toFindMyWay(config);
|
|
36
|
-
var server = http__namespace.createServer((
|
|
37
|
-
|
|
38
|
-
|
|
73
|
+
var server = http__namespace.createServer( /*#__PURE__*/function () {
|
|
74
|
+
var _ref = _asyncToGenerator(function* (req, res) {
|
|
75
|
+
for (var fn of (_config$before = config.before) !== null && _config$before !== void 0 ? _config$before : []) {
|
|
76
|
+
var _config$before;
|
|
77
|
+
|
|
78
|
+
// Disabled because we need these to run in order!
|
|
79
|
+
// eslint-disable-next-line no-await-in-loop
|
|
80
|
+
yield fn(req, res);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (req.method === 'OPTIONS') {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
fmw.lookup(req, res);
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
return function (_x, _x2) {
|
|
91
|
+
return _ref.apply(this, arguments);
|
|
92
|
+
};
|
|
93
|
+
}());
|
|
39
94
|
return {
|
|
40
95
|
server,
|
|
41
96
|
fmw
|
|
@@ -98,42 +153,6 @@ function _objectSpread2(target) {
|
|
|
98
153
|
return target;
|
|
99
154
|
}
|
|
100
155
|
|
|
101
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
102
|
-
try {
|
|
103
|
-
var info = gen[key](arg);
|
|
104
|
-
var value = info.value;
|
|
105
|
-
} catch (error) {
|
|
106
|
-
reject(error);
|
|
107
|
-
return;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
if (info.done) {
|
|
111
|
-
resolve(value);
|
|
112
|
-
} else {
|
|
113
|
-
Promise.resolve(value).then(_next, _throw);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
function _asyncToGenerator(fn) {
|
|
118
|
-
return function () {
|
|
119
|
-
var self = this,
|
|
120
|
-
args = arguments;
|
|
121
|
-
return new Promise(function (resolve, reject) {
|
|
122
|
-
var gen = fn.apply(self, args);
|
|
123
|
-
|
|
124
|
-
function _next(value) {
|
|
125
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
function _throw(err) {
|
|
129
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
_next(undefined);
|
|
133
|
-
});
|
|
134
|
-
};
|
|
135
|
-
}
|
|
136
|
-
|
|
137
156
|
class WrappedError extends Error {
|
|
138
157
|
static maybe(maybeError) {
|
|
139
158
|
if (maybeError instanceof Error) {
|
|
@@ -187,7 +206,15 @@ function _getInput() {
|
|
|
187
206
|
|
|
188
207
|
var buffer = yield getRawBody__default["default"](req.raw);
|
|
189
208
|
|
|
190
|
-
|
|
209
|
+
if (!req.headers['content-type']) {
|
|
210
|
+
return null;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
var {
|
|
214
|
+
type
|
|
215
|
+
} = contentType.parse(req.headers['content-type']);
|
|
216
|
+
|
|
217
|
+
switch (type) {
|
|
191
218
|
case 'application/json':
|
|
192
219
|
{
|
|
193
220
|
return JSON.parse(buffer.toString());
|
|
@@ -365,8 +392,6 @@ class Router {
|
|
|
365
392
|
|
|
366
393
|
_defineProperty(this, 'notify', this.make('NOTIFY'));
|
|
367
394
|
|
|
368
|
-
_defineProperty(this, 'options', this.make('OPTIONS'));
|
|
369
|
-
|
|
370
395
|
_defineProperty(this, 'patch', this.make('PATCH'));
|
|
371
396
|
|
|
372
397
|
_defineProperty(this, 'post', this.make('POST'));
|
|
@@ -5,37 +5,92 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var http = require('http');
|
|
6
6
|
var fmw = require('find-my-way');
|
|
7
7
|
var tls = require('tls');
|
|
8
|
+
var contentType = require('content-type');
|
|
8
9
|
var getRawBody = require('raw-body');
|
|
9
10
|
|
|
10
11
|
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
|
11
12
|
|
|
12
13
|
function _interopNamespace(e) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
14
|
+
if (e && e.__esModule) return e;
|
|
15
|
+
var n = Object.create(null);
|
|
16
|
+
if (e) {
|
|
17
|
+
Object.keys(e).forEach(function (k) {
|
|
18
|
+
if (k !== 'default') {
|
|
19
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
20
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
21
|
+
enumerable: true,
|
|
22
|
+
get: function () { return e[k]; }
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
n["default"] = e;
|
|
28
|
+
return Object.freeze(n);
|
|
28
29
|
}
|
|
29
30
|
|
|
30
31
|
var http__namespace = /*#__PURE__*/_interopNamespace(http);
|
|
31
32
|
var fmw__default = /*#__PURE__*/_interopDefault(fmw);
|
|
32
33
|
var getRawBody__default = /*#__PURE__*/_interopDefault(getRawBody);
|
|
33
34
|
|
|
35
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
36
|
+
try {
|
|
37
|
+
var info = gen[key](arg);
|
|
38
|
+
var value = info.value;
|
|
39
|
+
} catch (error) {
|
|
40
|
+
reject(error);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
if (info.done) {
|
|
45
|
+
resolve(value);
|
|
46
|
+
} else {
|
|
47
|
+
Promise.resolve(value).then(_next, _throw);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function _asyncToGenerator(fn) {
|
|
52
|
+
return function () {
|
|
53
|
+
var self = this,
|
|
54
|
+
args = arguments;
|
|
55
|
+
return new Promise(function (resolve, reject) {
|
|
56
|
+
var gen = fn.apply(self, args);
|
|
57
|
+
|
|
58
|
+
function _next(value) {
|
|
59
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function _throw(err) {
|
|
63
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
_next(undefined);
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
|
|
34
71
|
function createFMWServer(config) {
|
|
35
72
|
var fmw = config.router.toFindMyWay(config);
|
|
36
|
-
var server = http__namespace.createServer((
|
|
37
|
-
|
|
38
|
-
|
|
73
|
+
var server = http__namespace.createServer( /*#__PURE__*/function () {
|
|
74
|
+
var _ref = _asyncToGenerator(function* (req, res) {
|
|
75
|
+
for (var fn of (_config$before = config.before) !== null && _config$before !== void 0 ? _config$before : []) {
|
|
76
|
+
var _config$before;
|
|
77
|
+
|
|
78
|
+
// Disabled because we need these to run in order!
|
|
79
|
+
// eslint-disable-next-line no-await-in-loop
|
|
80
|
+
yield fn(req, res);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (req.method === 'OPTIONS') {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
fmw.lookup(req, res);
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
return function (_x, _x2) {
|
|
91
|
+
return _ref.apply(this, arguments);
|
|
92
|
+
};
|
|
93
|
+
}());
|
|
39
94
|
return {
|
|
40
95
|
server,
|
|
41
96
|
fmw
|
|
@@ -98,42 +153,6 @@ function _objectSpread2(target) {
|
|
|
98
153
|
return target;
|
|
99
154
|
}
|
|
100
155
|
|
|
101
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
102
|
-
try {
|
|
103
|
-
var info = gen[key](arg);
|
|
104
|
-
var value = info.value;
|
|
105
|
-
} catch (error) {
|
|
106
|
-
reject(error);
|
|
107
|
-
return;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
if (info.done) {
|
|
111
|
-
resolve(value);
|
|
112
|
-
} else {
|
|
113
|
-
Promise.resolve(value).then(_next, _throw);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
function _asyncToGenerator(fn) {
|
|
118
|
-
return function () {
|
|
119
|
-
var self = this,
|
|
120
|
-
args = arguments;
|
|
121
|
-
return new Promise(function (resolve, reject) {
|
|
122
|
-
var gen = fn.apply(self, args);
|
|
123
|
-
|
|
124
|
-
function _next(value) {
|
|
125
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
function _throw(err) {
|
|
129
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
_next(undefined);
|
|
133
|
-
});
|
|
134
|
-
};
|
|
135
|
-
}
|
|
136
|
-
|
|
137
156
|
class WrappedError extends Error {
|
|
138
157
|
static maybe(maybeError) {
|
|
139
158
|
if (maybeError instanceof Error) {
|
|
@@ -187,7 +206,15 @@ function _getInput() {
|
|
|
187
206
|
|
|
188
207
|
var buffer = yield getRawBody__default["default"](req.raw);
|
|
189
208
|
|
|
190
|
-
|
|
209
|
+
if (!req.headers['content-type']) {
|
|
210
|
+
return null;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
var {
|
|
214
|
+
type
|
|
215
|
+
} = contentType.parse(req.headers['content-type']);
|
|
216
|
+
|
|
217
|
+
switch (type) {
|
|
191
218
|
case 'application/json':
|
|
192
219
|
{
|
|
193
220
|
return JSON.parse(buffer.toString());
|
|
@@ -365,8 +392,6 @@ class Router {
|
|
|
365
392
|
|
|
366
393
|
_defineProperty(this, 'notify', this.make('NOTIFY'));
|
|
367
394
|
|
|
368
|
-
_defineProperty(this, 'options', this.make('OPTIONS'));
|
|
369
|
-
|
|
370
395
|
_defineProperty(this, 'patch', this.make('PATCH'));
|
|
371
396
|
|
|
372
397
|
_defineProperty(this, 'post', this.make('POST'));
|
|
@@ -1,13 +1,68 @@
|
|
|
1
1
|
import * as http from 'http';
|
|
2
2
|
import fmw from 'find-my-way';
|
|
3
3
|
import { TLSSocket } from 'tls';
|
|
4
|
+
import { parse } from 'content-type';
|
|
4
5
|
import getRawBody from 'raw-body';
|
|
5
6
|
|
|
7
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
8
|
+
try {
|
|
9
|
+
var info = gen[key](arg);
|
|
10
|
+
var value = info.value;
|
|
11
|
+
} catch (error) {
|
|
12
|
+
reject(error);
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
if (info.done) {
|
|
17
|
+
resolve(value);
|
|
18
|
+
} else {
|
|
19
|
+
Promise.resolve(value).then(_next, _throw);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
function _asyncToGenerator(fn) {
|
|
24
|
+
return function () {
|
|
25
|
+
var self = this,
|
|
26
|
+
args = arguments;
|
|
27
|
+
return new Promise(function (resolve, reject) {
|
|
28
|
+
var gen = fn.apply(self, args);
|
|
29
|
+
|
|
30
|
+
function _next(value) {
|
|
31
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function _throw(err) {
|
|
35
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
_next(undefined);
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
|
|
6
43
|
function createFMWServer(config) {
|
|
7
44
|
var fmw = config.router.toFindMyWay(config);
|
|
8
|
-
var server = http.createServer((
|
|
9
|
-
|
|
10
|
-
|
|
45
|
+
var server = http.createServer( /*#__PURE__*/function () {
|
|
46
|
+
var _ref = _asyncToGenerator(function* (req, res) {
|
|
47
|
+
for (var fn of (_config$before = config.before) !== null && _config$before !== void 0 ? _config$before : []) {
|
|
48
|
+
var _config$before;
|
|
49
|
+
|
|
50
|
+
// Disabled because we need these to run in order!
|
|
51
|
+
// eslint-disable-next-line no-await-in-loop
|
|
52
|
+
yield fn(req, res);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (req.method === 'OPTIONS') {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
fmw.lookup(req, res);
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
return function (_x, _x2) {
|
|
63
|
+
return _ref.apply(this, arguments);
|
|
64
|
+
};
|
|
65
|
+
}());
|
|
11
66
|
return {
|
|
12
67
|
server,
|
|
13
68
|
fmw
|
|
@@ -70,42 +125,6 @@ function _objectSpread2(target) {
|
|
|
70
125
|
return target;
|
|
71
126
|
}
|
|
72
127
|
|
|
73
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
74
|
-
try {
|
|
75
|
-
var info = gen[key](arg);
|
|
76
|
-
var value = info.value;
|
|
77
|
-
} catch (error) {
|
|
78
|
-
reject(error);
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
if (info.done) {
|
|
83
|
-
resolve(value);
|
|
84
|
-
} else {
|
|
85
|
-
Promise.resolve(value).then(_next, _throw);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
function _asyncToGenerator(fn) {
|
|
90
|
-
return function () {
|
|
91
|
-
var self = this,
|
|
92
|
-
args = arguments;
|
|
93
|
-
return new Promise(function (resolve, reject) {
|
|
94
|
-
var gen = fn.apply(self, args);
|
|
95
|
-
|
|
96
|
-
function _next(value) {
|
|
97
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
function _throw(err) {
|
|
101
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
_next(undefined);
|
|
105
|
-
});
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
|
|
109
128
|
class WrappedError extends Error {
|
|
110
129
|
static maybe(maybeError) {
|
|
111
130
|
if (maybeError instanceof Error) {
|
|
@@ -159,7 +178,15 @@ function _getInput() {
|
|
|
159
178
|
|
|
160
179
|
var buffer = yield getRawBody(req.raw);
|
|
161
180
|
|
|
162
|
-
|
|
181
|
+
if (!req.headers['content-type']) {
|
|
182
|
+
return null;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
var {
|
|
186
|
+
type
|
|
187
|
+
} = parse(req.headers['content-type']);
|
|
188
|
+
|
|
189
|
+
switch (type) {
|
|
163
190
|
case 'application/json':
|
|
164
191
|
{
|
|
165
192
|
return JSON.parse(buffer.toString());
|
|
@@ -337,8 +364,6 @@ class Router {
|
|
|
337
364
|
|
|
338
365
|
_defineProperty(this, 'notify', this.make('NOTIFY'));
|
|
339
366
|
|
|
340
|
-
_defineProperty(this, 'options', this.make('OPTIONS'));
|
|
341
|
-
|
|
342
367
|
_defineProperty(this, 'patch', this.make('PATCH'));
|
|
343
368
|
|
|
344
369
|
_defineProperty(this, 'post', this.make('POST'));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kaito-http/core",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.9",
|
|
4
4
|
"description": "Functional HTTP Framework for TypeScript",
|
|
5
5
|
"repository": "https://github.com/kaito-http/kaito",
|
|
6
6
|
"author": "Alistair Smith <hi@alistair.sh>",
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
"module": "dist/kaito-http-core.esm.js",
|
|
10
10
|
"types": "dist/kaito-http-core.cjs.d.ts",
|
|
11
11
|
"devDependencies": {
|
|
12
|
+
"@types/content-type": "^1.1.5",
|
|
12
13
|
"@types/node": "^17.0.25",
|
|
13
14
|
"typescript": "4.6",
|
|
14
15
|
"zod": "^3.14.4"
|
|
@@ -31,6 +32,7 @@
|
|
|
31
32
|
"framework"
|
|
32
33
|
],
|
|
33
34
|
"dependencies": {
|
|
35
|
+
"content-type": "^1.0.4",
|
|
34
36
|
"find-my-way": "^5.5.0",
|
|
35
37
|
"raw-body": "^2.5.1"
|
|
36
38
|
}
|