|
@@ -70,8 +70,8 @@ __export(index_exports, {
|
|
|
module.exports = __toCommonJS(index_exports);
|
|
module.exports = __toCommonJS(index_exports);
|
|
|
|
|
|
|
|
// src/route.js
|
|
// src/route.js
|
|
|
-var import_js_format12 = require("@e22m4u/js-format");
|
|
|
|
|
var import_js_debug = require("@e22m4u/js-debug");
|
|
var import_js_debug = require("@e22m4u/js-debug");
|
|
|
|
|
+var import_js_format12 = require("@e22m4u/js-format");
|
|
|
|
|
|
|
|
// src/hooks/hook-invoker.js
|
|
// src/hooks/hook-invoker.js
|
|
|
var import_js_format11 = require("@e22m4u/js-format");
|
|
var import_js_format11 = require("@e22m4u/js-format");
|
|
@@ -136,13 +136,13 @@ __name(isPromise, "isPromise");
|
|
|
var import_js_format = require("@e22m4u/js-format");
|
|
var import_js_format = require("@e22m4u/js-format");
|
|
|
function createError(errorCtor, message, ...args) {
|
|
function createError(errorCtor, message, ...args) {
|
|
|
if (typeof errorCtor !== "function") {
|
|
if (typeof errorCtor !== "function") {
|
|
|
- throw new import_js_format.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format.InvalidArgumentError(
|
|
|
'The first parameter of "createError" must be a constructor, but %v was given.',
|
|
'The first parameter of "createError" must be a constructor, but %v was given.',
|
|
|
errorCtor
|
|
errorCtor
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
if (message != null && typeof message !== "string") {
|
|
if (message != null && typeof message !== "string") {
|
|
|
- throw new import_js_format.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format.InvalidArgumentError(
|
|
|
'The second parameter of "createError" must be a String, but %v was given.',
|
|
'The second parameter of "createError" must be a String, but %v was given.',
|
|
|
message
|
|
message
|
|
|
);
|
|
);
|
|
@@ -159,7 +159,7 @@ __name(createError, "createError");
|
|
|
var import_js_format2 = require("@e22m4u/js-format");
|
|
var import_js_format2 = require("@e22m4u/js-format");
|
|
|
function toCamelCase(input) {
|
|
function toCamelCase(input) {
|
|
|
if (typeof input !== "string") {
|
|
if (typeof input !== "string") {
|
|
|
- throw new import_js_format2.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format2.InvalidArgumentError(
|
|
|
'The first parameter of "toCamelCase" must be a String, but %v was given.',
|
|
'The first parameter of "toCamelCase" must be a String, but %v was given.',
|
|
|
input
|
|
input
|
|
|
);
|
|
);
|
|
@@ -172,7 +172,7 @@ __name(toCamelCase, "toCamelCase");
|
|
|
var import_js_format3 = require("@e22m4u/js-format");
|
|
var import_js_format3 = require("@e22m4u/js-format");
|
|
|
function isResponseSent(response) {
|
|
function isResponseSent(response) {
|
|
|
if (!response || typeof response !== "object" || Array.isArray(response) || typeof response.headersSent !== "boolean") {
|
|
if (!response || typeof response !== "object" || Array.isArray(response) || typeof response.headersSent !== "boolean") {
|
|
|
- throw new import_js_format3.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format3.InvalidArgumentError(
|
|
|
'The first parameter of "isResponseSent" must be an instance of ServerResponse, but %v was given.',
|
|
'The first parameter of "isResponseSent" must be an instance of ServerResponse, but %v was given.',
|
|
|
response
|
|
response
|
|
|
);
|
|
);
|
|
@@ -204,7 +204,7 @@ __name(isReadableStream, "isReadableStream");
|
|
|
var import_js_format4 = require("@e22m4u/js-format");
|
|
var import_js_format4 = require("@e22m4u/js-format");
|
|
|
function parseContentType(input) {
|
|
function parseContentType(input) {
|
|
|
if (typeof input !== "string") {
|
|
if (typeof input !== "string") {
|
|
|
- throw new import_js_format4.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format4.InvalidArgumentError(
|
|
|
"The first parameter of `parseContentType` must be a String, but %v was given.",
|
|
"The first parameter of `parseContentType` must be a String, but %v was given.",
|
|
|
input
|
|
input
|
|
|
);
|
|
);
|
|
@@ -250,13 +250,13 @@ var CHARACTER_ENCODING_LIST = [
|
|
|
];
|
|
];
|
|
|
function fetchRequestBody(request, bodyBytesLimit = 0) {
|
|
function fetchRequestBody(request, bodyBytesLimit = 0) {
|
|
|
if (!(request instanceof import_http.IncomingMessage)) {
|
|
if (!(request instanceof import_http.IncomingMessage)) {
|
|
|
- throw new import_js_format5.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format5.InvalidArgumentError(
|
|
|
'The first parameter of "fetchRequestBody" must be an IncomingMessage instance, but %v was given.',
|
|
'The first parameter of "fetchRequestBody" must be an IncomingMessage instance, but %v was given.',
|
|
|
request
|
|
request
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
if (typeof bodyBytesLimit !== "number") {
|
|
if (typeof bodyBytesLimit !== "number") {
|
|
|
- throw new import_js_format5.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format5.InvalidArgumentError(
|
|
|
'The parameter "bodyBytesLimit" of "fetchRequestBody" must be a number, but %v was given.',
|
|
'The parameter "bodyBytesLimit" of "fetchRequestBody" must be a number, but %v was given.',
|
|
|
bodyBytesLimit
|
|
bodyBytesLimit
|
|
|
);
|
|
);
|
|
@@ -336,7 +336,7 @@ __name(fetchRequestBody, "fetchRequestBody");
|
|
|
var import_js_format6 = require("@e22m4u/js-format");
|
|
var import_js_format6 = require("@e22m4u/js-format");
|
|
|
function parseCookieString(input) {
|
|
function parseCookieString(input) {
|
|
|
if (typeof input !== "string") {
|
|
if (typeof input !== "string") {
|
|
|
- throw new import_js_format6.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format6.InvalidArgumentError(
|
|
|
'The first parameter of "parseCookieString" must be a String, but %v was given.',
|
|
'The first parameter of "parseCookieString" must be a String, but %v was given.',
|
|
|
input
|
|
input
|
|
|
);
|
|
);
|
|
@@ -361,7 +361,7 @@ var import_js_format8 = require("@e22m4u/js-format");
|
|
|
var import_js_format7 = require("@e22m4u/js-format");
|
|
var import_js_format7 = require("@e22m4u/js-format");
|
|
|
function createCookieString(data) {
|
|
function createCookieString(data) {
|
|
|
if (!data || typeof data !== "object" || Array.isArray(data)) {
|
|
if (!data || typeof data !== "object" || Array.isArray(data)) {
|
|
|
- throw new import_js_format7.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format7.InvalidArgumentError(
|
|
|
'The first parameter of "createCookieString" must be an Object, but %v was given.',
|
|
'The first parameter of "createCookieString" must be an Object, but %v was given.',
|
|
|
data
|
|
data
|
|
|
);
|
|
);
|
|
@@ -384,69 +384,69 @@ __name(createCookieString, "createCookieString");
|
|
|
// src/utils/create-request-mock.js
|
|
// src/utils/create-request-mock.js
|
|
|
function createRequestMock(patch) {
|
|
function createRequestMock(patch) {
|
|
|
if (patch != null && typeof patch !== "object" || Array.isArray(patch)) {
|
|
if (patch != null && typeof patch !== "object" || Array.isArray(patch)) {
|
|
|
- throw new import_js_format8.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format8.InvalidArgumentError(
|
|
|
'The first parameter of "createRequestMock" must be an Object, but %v was given.',
|
|
'The first parameter of "createRequestMock" must be an Object, but %v was given.',
|
|
|
patch
|
|
patch
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
patch = patch || {};
|
|
patch = patch || {};
|
|
|
if (patch.host != null && typeof patch.host !== "string") {
|
|
if (patch.host != null && typeof patch.host !== "string") {
|
|
|
- throw new import_js_format8.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format8.InvalidArgumentError(
|
|
|
'The parameter "host" of "createRequestMock" must be a String, but %v was given.',
|
|
'The parameter "host" of "createRequestMock" must be a String, but %v was given.',
|
|
|
patch.host
|
|
patch.host
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
if (patch.method != null && typeof patch.method !== "string") {
|
|
if (patch.method != null && typeof patch.method !== "string") {
|
|
|
- throw new import_js_format8.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format8.InvalidArgumentError(
|
|
|
'The parameter "method" of "createRequestMock" must be a String, but %v was given.',
|
|
'The parameter "method" of "createRequestMock" must be a String, but %v was given.',
|
|
|
patch.method
|
|
patch.method
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
if (patch.secure != null && typeof patch.secure !== "boolean") {
|
|
if (patch.secure != null && typeof patch.secure !== "boolean") {
|
|
|
- throw new import_js_format8.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format8.InvalidArgumentError(
|
|
|
'The parameter "secure" of "createRequestMock" must be a Boolean, but %v was given.',
|
|
'The parameter "secure" of "createRequestMock" must be a Boolean, but %v was given.',
|
|
|
patch.secure
|
|
patch.secure
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
if (patch.path != null && typeof patch.path !== "string") {
|
|
if (patch.path != null && typeof patch.path !== "string") {
|
|
|
- throw new import_js_format8.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format8.InvalidArgumentError(
|
|
|
'The parameter "path" of "createRequestMock" must be a String, but %v was given.',
|
|
'The parameter "path" of "createRequestMock" must be a String, but %v was given.',
|
|
|
patch.path
|
|
patch.path
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
if (patch.query != null && typeof patch.query !== "object" && typeof patch.query !== "string" || Array.isArray(patch.query)) {
|
|
if (patch.query != null && typeof patch.query !== "object" && typeof patch.query !== "string" || Array.isArray(patch.query)) {
|
|
|
- throw new import_js_format8.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format8.InvalidArgumentError(
|
|
|
'The parameter "query" of "createRequestMock" must be a String or Object, but %v was given.',
|
|
'The parameter "query" of "createRequestMock" must be a String or Object, but %v was given.',
|
|
|
patch.query
|
|
patch.query
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
if (patch.cookies != null && typeof patch.cookies !== "string" && typeof patch.cookies !== "object" || Array.isArray(patch.cookies)) {
|
|
if (patch.cookies != null && typeof patch.cookies !== "string" && typeof patch.cookies !== "object" || Array.isArray(patch.cookies)) {
|
|
|
- throw new import_js_format8.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format8.InvalidArgumentError(
|
|
|
'The parameter "cookies" of "createRequestMock" must be a String or Object, but %v was given.',
|
|
'The parameter "cookies" of "createRequestMock" must be a String or Object, but %v was given.',
|
|
|
patch.cookies
|
|
patch.cookies
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
if (patch.headers != null && typeof patch.headers !== "object" || Array.isArray(patch.headers)) {
|
|
if (patch.headers != null && typeof patch.headers !== "object" || Array.isArray(patch.headers)) {
|
|
|
- throw new import_js_format8.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format8.InvalidArgumentError(
|
|
|
'The parameter "headers" of "createRequestMock" must be an Object, but %v was given.',
|
|
'The parameter "headers" of "createRequestMock" must be an Object, but %v was given.',
|
|
|
patch.headers
|
|
patch.headers
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
if (patch.stream != null && !isReadableStream(patch.stream)) {
|
|
if (patch.stream != null && !isReadableStream(patch.stream)) {
|
|
|
- throw new import_js_format8.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format8.InvalidArgumentError(
|
|
|
'The parameter "stream" of "createRequestMock" must be a Stream, but %v was given.',
|
|
'The parameter "stream" of "createRequestMock" must be a Stream, but %v was given.',
|
|
|
patch.stream
|
|
patch.stream
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
if (patch.encoding != null) {
|
|
if (patch.encoding != null) {
|
|
|
if (typeof patch.encoding !== "string") {
|
|
if (typeof patch.encoding !== "string") {
|
|
|
- throw new import_js_format8.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format8.InvalidArgumentError(
|
|
|
'The parameter "encoding" of "createRequestMock" must be a String, but %v was given.',
|
|
'The parameter "encoding" of "createRequestMock" must be a String, but %v was given.',
|
|
|
patch.encoding
|
|
patch.encoding
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
if (!CHARACTER_ENCODING_LIST.includes(patch.encoding)) {
|
|
if (!CHARACTER_ENCODING_LIST.includes(patch.encoding)) {
|
|
|
- throw new import_js_format8.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format8.InvalidArgumentError(
|
|
|
"Character encoding %v is not supported.",
|
|
"Character encoding %v is not supported.",
|
|
|
patch.encoding
|
|
patch.encoding
|
|
|
);
|
|
);
|
|
@@ -454,17 +454,17 @@ function createRequestMock(patch) {
|
|
|
}
|
|
}
|
|
|
if (patch.stream) {
|
|
if (patch.stream) {
|
|
|
if (patch.secure != null) {
|
|
if (patch.secure != null) {
|
|
|
- throw new import_js_format8.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format8.InvalidArgumentError(
|
|
|
'The "createRequestMock" does not allow specifying the "stream" and "secure" options simultaneously.'
|
|
'The "createRequestMock" does not allow specifying the "stream" and "secure" options simultaneously.'
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
if (patch.body != null) {
|
|
if (patch.body != null) {
|
|
|
- throw new import_js_format8.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format8.InvalidArgumentError(
|
|
|
'The "createRequestMock" does not allow specifying the "stream" and "body" options simultaneously.'
|
|
'The "createRequestMock" does not allow specifying the "stream" and "body" options simultaneously.'
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
if (patch.encoding != null) {
|
|
if (patch.encoding != null) {
|
|
|
- throw new import_js_format8.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format8.InvalidArgumentError(
|
|
|
'The "createRequestMock" does not allow specifying the "stream" and "encoding" options simultaneously.'
|
|
'The "createRequestMock" does not allow specifying the "stream" and "encoding" options simultaneously.'
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
@@ -485,7 +485,7 @@ function createRequestMock(patch) {
|
|
|
__name(createRequestMock, "createRequestMock");
|
|
__name(createRequestMock, "createRequestMock");
|
|
|
function createRequestStream(secure, body, encoding) {
|
|
function createRequestStream(secure, body, encoding) {
|
|
|
if (encoding != null && typeof encoding !== "string") {
|
|
if (encoding != null && typeof encoding !== "string") {
|
|
|
- throw new import_js_format8.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format8.InvalidArgumentError(
|
|
|
'The parameter "encoding" of "createRequestStream" must be a String, but %v was given.',
|
|
'The parameter "encoding" of "createRequestStream" must be a String, but %v was given.',
|
|
|
encoding
|
|
encoding
|
|
|
);
|
|
);
|
|
@@ -511,13 +511,13 @@ function createRequestStream(secure, body, encoding) {
|
|
|
__name(createRequestStream, "createRequestStream");
|
|
__name(createRequestStream, "createRequestStream");
|
|
|
function createRequestUrl(path, query) {
|
|
function createRequestUrl(path, query) {
|
|
|
if (typeof path !== "string") {
|
|
if (typeof path !== "string") {
|
|
|
- throw new import_js_format8.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format8.InvalidArgumentError(
|
|
|
'The parameter "path" of "createRequestUrl" must be a String, but %v was given.',
|
|
'The parameter "path" of "createRequestUrl" must be a String, but %v was given.',
|
|
|
path
|
|
path
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
if (query != null && typeof query !== "string" && typeof query !== "object" || Array.isArray(query)) {
|
|
if (query != null && typeof query !== "string" && typeof query !== "object" || Array.isArray(query)) {
|
|
|
- throw new import_js_format8.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format8.InvalidArgumentError(
|
|
|
'The parameter "query" of "createRequestUrl" must be a String or Object, but %v was given.',
|
|
'The parameter "query" of "createRequestUrl" must be a String or Object, but %v was given.',
|
|
|
query
|
|
query
|
|
|
);
|
|
);
|
|
@@ -536,34 +536,34 @@ function createRequestUrl(path, query) {
|
|
|
__name(createRequestUrl, "createRequestUrl");
|
|
__name(createRequestUrl, "createRequestUrl");
|
|
|
function createRequestHeaders(host, secure, body, cookies, encoding, headers) {
|
|
function createRequestHeaders(host, secure, body, cookies, encoding, headers) {
|
|
|
if (host != null && typeof host !== "string") {
|
|
if (host != null && typeof host !== "string") {
|
|
|
- throw new import_js_format8.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format8.InvalidArgumentError(
|
|
|
'The parameter "host" of "createRequestHeaders" a non-empty String, but %v was given.',
|
|
'The parameter "host" of "createRequestHeaders" a non-empty String, but %v was given.',
|
|
|
host
|
|
host
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
host = host || "localhost";
|
|
host = host || "localhost";
|
|
|
if (secure != null && typeof secure !== "boolean") {
|
|
if (secure != null && typeof secure !== "boolean") {
|
|
|
- throw new import_js_format8.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format8.InvalidArgumentError(
|
|
|
'The parameter "secure" of "createRequestHeaders" must be a String, but %v was given.',
|
|
'The parameter "secure" of "createRequestHeaders" must be a String, but %v was given.',
|
|
|
secure
|
|
secure
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
secure = Boolean(secure);
|
|
secure = Boolean(secure);
|
|
|
if (cookies != null && typeof cookies !== "object" && typeof cookies !== "string" || Array.isArray(cookies)) {
|
|
if (cookies != null && typeof cookies !== "object" && typeof cookies !== "string" || Array.isArray(cookies)) {
|
|
|
- throw new import_js_format8.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format8.InvalidArgumentError(
|
|
|
'The parameter "cookies" of "createRequestHeaders" must be a String or Object, but %v was given.',
|
|
'The parameter "cookies" of "createRequestHeaders" must be a String or Object, but %v was given.',
|
|
|
cookies
|
|
cookies
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
if (headers != null && typeof headers !== "object" || Array.isArray(headers)) {
|
|
if (headers != null && typeof headers !== "object" || Array.isArray(headers)) {
|
|
|
- throw new import_js_format8.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format8.InvalidArgumentError(
|
|
|
'The parameter "headers" of "createRequestHeaders" must be an Object, but %v was given.',
|
|
'The parameter "headers" of "createRequestHeaders" must be an Object, but %v was given.',
|
|
|
headers
|
|
headers
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
headers = headers || {};
|
|
headers = headers || {};
|
|
|
if (encoding != null && typeof encoding !== "string") {
|
|
if (encoding != null && typeof encoding !== "string") {
|
|
|
- throw new import_js_format8.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format8.InvalidArgumentError(
|
|
|
'The parameter "encoding" of "createRequestHeaders" must be a String, but %v was given.',
|
|
'The parameter "encoding" of "createRequestHeaders" must be a String, but %v was given.',
|
|
|
encoding
|
|
encoding
|
|
|
);
|
|
);
|
|
@@ -719,7 +719,7 @@ __name(patchBody, "patchBody");
|
|
|
var import_js_format9 = require("@e22m4u/js-format");
|
|
var import_js_format9 = require("@e22m4u/js-format");
|
|
|
function getRequestPathname(request) {
|
|
function getRequestPathname(request) {
|
|
|
if (!request || typeof request !== "object" || Array.isArray(request) || typeof request.url !== "string") {
|
|
if (!request || typeof request !== "object" || Array.isArray(request) || typeof request.url !== "string") {
|
|
|
- throw new import_js_format9.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format9.InvalidArgumentError(
|
|
|
'The first parameter of "getRequestPathname" must be an instance of IncomingMessage, but %v was given.',
|
|
'The first parameter of "getRequestPathname" must be an instance of IncomingMessage, but %v was given.',
|
|
|
request
|
|
request
|
|
|
);
|
|
);
|
|
@@ -751,13 +751,19 @@ var _HookRegistry = class _HookRegistry {
|
|
|
*/
|
|
*/
|
|
|
addHook(type, hook) {
|
|
addHook(type, hook) {
|
|
|
if (!type || typeof type !== "string") {
|
|
if (!type || typeof type !== "string") {
|
|
|
- throw new import_js_format10.Errorf("The hook type is required, but %v was given.", type);
|
|
|
|
|
|
|
+ throw new import_js_format10.InvalidArgumentError(
|
|
|
|
|
+ "The hook type is required, but %v was given.",
|
|
|
|
|
+ type
|
|
|
|
|
+ );
|
|
|
}
|
|
}
|
|
|
if (!Object.values(RouterHookType).includes(type)) {
|
|
if (!Object.values(RouterHookType).includes(type)) {
|
|
|
- throw new import_js_format10.Errorf("The hook type %v is not supported.", type);
|
|
|
|
|
|
|
+ throw new import_js_format10.InvalidArgumentError(
|
|
|
|
|
+ "The hook type %v is not supported.",
|
|
|
|
|
+ type
|
|
|
|
|
+ );
|
|
|
}
|
|
}
|
|
|
if (!hook || typeof hook !== "function") {
|
|
if (!hook || typeof hook !== "function") {
|
|
|
- throw new import_js_format10.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format10.InvalidArgumentError(
|
|
|
"The hook %v must be a Function, but %v was given.",
|
|
"The hook %v must be a Function, but %v was given.",
|
|
|
type,
|
|
type,
|
|
|
hook
|
|
hook
|
|
@@ -777,13 +783,19 @@ var _HookRegistry = class _HookRegistry {
|
|
|
*/
|
|
*/
|
|
|
hasHook(type, hook) {
|
|
hasHook(type, hook) {
|
|
|
if (!type || typeof type !== "string") {
|
|
if (!type || typeof type !== "string") {
|
|
|
- throw new import_js_format10.Errorf("The hook type is required, but %v was given.", type);
|
|
|
|
|
|
|
+ throw new import_js_format10.InvalidArgumentError(
|
|
|
|
|
+ "The hook type is required, but %v was given.",
|
|
|
|
|
+ type
|
|
|
|
|
+ );
|
|
|
}
|
|
}
|
|
|
if (!Object.values(RouterHookType).includes(type)) {
|
|
if (!Object.values(RouterHookType).includes(type)) {
|
|
|
- throw new import_js_format10.Errorf("The hook type %v is not supported.", type);
|
|
|
|
|
|
|
+ throw new import_js_format10.InvalidArgumentError(
|
|
|
|
|
+ "The hook type %v is not supported.",
|
|
|
|
|
+ type
|
|
|
|
|
+ );
|
|
|
}
|
|
}
|
|
|
if (!hook || typeof hook !== "function") {
|
|
if (!hook || typeof hook !== "function") {
|
|
|
- throw new import_js_format10.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format10.InvalidArgumentError(
|
|
|
"The hook %v must be a Function, but %v was given.",
|
|
"The hook %v must be a Function, but %v was given.",
|
|
|
type,
|
|
type,
|
|
|
hook
|
|
hook
|
|
@@ -800,10 +812,16 @@ var _HookRegistry = class _HookRegistry {
|
|
|
*/
|
|
*/
|
|
|
getHooks(type) {
|
|
getHooks(type) {
|
|
|
if (!type || typeof type !== "string") {
|
|
if (!type || typeof type !== "string") {
|
|
|
- throw new import_js_format10.Errorf("The hook type is required, but %v was given.", type);
|
|
|
|
|
|
|
+ throw new import_js_format10.InvalidArgumentError(
|
|
|
|
|
+ "The hook type is required, but %v was given.",
|
|
|
|
|
+ type
|
|
|
|
|
+ );
|
|
|
}
|
|
}
|
|
|
if (!Object.values(RouterHookType).includes(type)) {
|
|
if (!Object.values(RouterHookType).includes(type)) {
|
|
|
- throw new import_js_format10.Errorf("The hook type %v is not supported.", type);
|
|
|
|
|
|
|
+ throw new import_js_format10.InvalidArgumentError(
|
|
|
|
|
+ "The hook type %v is not supported.",
|
|
|
|
|
+ type
|
|
|
|
|
+ );
|
|
|
}
|
|
}
|
|
|
return this._hooks.get(type) || [];
|
|
return this._hooks.get(type) || [];
|
|
|
}
|
|
}
|
|
@@ -824,22 +842,25 @@ var _HookInvoker = class _HookInvoker extends DebuggableService {
|
|
|
*/
|
|
*/
|
|
|
invokeAndContinueUntilValueReceived(route, hookType, response, ...args) {
|
|
invokeAndContinueUntilValueReceived(route, hookType, response, ...args) {
|
|
|
if (!route || !(route instanceof Route)) {
|
|
if (!route || !(route instanceof Route)) {
|
|
|
- throw new import_js_format11.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format11.InvalidArgumentError(
|
|
|
'The parameter "route" of the HookInvoker.invokeAndContinueUntilValueReceived must be a Route instance, but %v was given.',
|
|
'The parameter "route" of the HookInvoker.invokeAndContinueUntilValueReceived must be a Route instance, but %v was given.',
|
|
|
route
|
|
route
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
if (!hookType || typeof hookType !== "string") {
|
|
if (!hookType || typeof hookType !== "string") {
|
|
|
- throw new import_js_format11.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format11.InvalidArgumentError(
|
|
|
'The parameter "hookType" of the HookInvoker.invokeAndContinueUntilValueReceived must be a non-empty String, but %v was given.',
|
|
'The parameter "hookType" of the HookInvoker.invokeAndContinueUntilValueReceived must be a non-empty String, but %v was given.',
|
|
|
hookType
|
|
hookType
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
if (!Object.values(RouterHookType).includes(hookType)) {
|
|
if (!Object.values(RouterHookType).includes(hookType)) {
|
|
|
- throw new import_js_format11.Errorf("The hook type %v is not supported.", hookType);
|
|
|
|
|
|
|
+ throw new import_js_format11.InvalidArgumentError(
|
|
|
|
|
+ "The hook type %v is not supported.",
|
|
|
|
|
+ hookType
|
|
|
|
|
+ );
|
|
|
}
|
|
}
|
|
|
if (!response || typeof response !== "object" || Array.isArray(response) || typeof response.headersSent !== "boolean") {
|
|
if (!response || typeof response !== "object" || Array.isArray(response) || typeof response.headersSent !== "boolean") {
|
|
|
- throw new import_js_format11.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format11.InvalidArgumentError(
|
|
|
'The parameter "response" of the HookInvoker.invokeAndContinueUntilValueReceived must be a ServerResponse instance, but %v was given.',
|
|
'The parameter "response" of the HookInvoker.invokeAndContinueUntilValueReceived must be a ServerResponse instance, but %v was given.',
|
|
|
response
|
|
response
|
|
|
);
|
|
);
|
|
@@ -984,34 +1005,34 @@ var _Route = class _Route extends import_js_debug.Debuggable {
|
|
|
noInstantiationMessage: true
|
|
noInstantiationMessage: true
|
|
|
});
|
|
});
|
|
|
if (!routeDef || typeof routeDef !== "object" || Array.isArray(routeDef)) {
|
|
if (!routeDef || typeof routeDef !== "object" || Array.isArray(routeDef)) {
|
|
|
- throw new import_js_format12.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format12.InvalidArgumentError(
|
|
|
"The first parameter of Route.constructor must be an Object, but %v was given.",
|
|
"The first parameter of Route.constructor must be an Object, but %v was given.",
|
|
|
routeDef
|
|
routeDef
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
if (!routeDef.method || typeof routeDef.method !== "string") {
|
|
if (!routeDef.method || typeof routeDef.method !== "string") {
|
|
|
- throw new import_js_format12.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format12.InvalidArgumentError(
|
|
|
'The option "method" of the Route must be a non-empty String, but %v was given.',
|
|
'The option "method" of the Route must be a non-empty String, but %v was given.',
|
|
|
routeDef.method
|
|
routeDef.method
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
this._method = routeDef.method.toUpperCase();
|
|
this._method = routeDef.method.toUpperCase();
|
|
|
if (typeof routeDef.path !== "string") {
|
|
if (typeof routeDef.path !== "string") {
|
|
|
- throw new import_js_format12.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format12.InvalidArgumentError(
|
|
|
'The option "path" of the Route must be a String, but %v was given.',
|
|
'The option "path" of the Route must be a String, but %v was given.',
|
|
|
routeDef.path
|
|
routeDef.path
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
this._path = routeDef.path;
|
|
this._path = routeDef.path;
|
|
|
if (typeof routeDef.handler !== "function") {
|
|
if (typeof routeDef.handler !== "function") {
|
|
|
- throw new import_js_format12.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format12.InvalidArgumentError(
|
|
|
'The option "handler" of the Route must be a Function, but %v was given.',
|
|
'The option "handler" of the Route must be a Function, but %v was given.',
|
|
|
routeDef.handler
|
|
routeDef.handler
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
if (routeDef.meta != null) {
|
|
if (routeDef.meta != null) {
|
|
|
if (typeof routeDef.meta !== "object" || Array.isArray(routeDef.meta)) {
|
|
if (typeof routeDef.meta !== "object" || Array.isArray(routeDef.meta)) {
|
|
|
- throw new import_js_format12.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format12.InvalidArgumentError(
|
|
|
'The option "meta" of the Route must be a plain Object, but %v was given.',
|
|
'The option "meta" of the Route must be a plain Object, but %v was given.',
|
|
|
routeDef.meta
|
|
routeDef.meta
|
|
|
);
|
|
);
|
|
@@ -1055,7 +1076,6 @@ var Route = _Route;
|
|
|
|
|
|
|
|
// src/parsers/body-parser.js
|
|
// src/parsers/body-parser.js
|
|
|
var import_http_errors2 = __toESM(require("http-errors"), 1);
|
|
var import_http_errors2 = __toESM(require("http-errors"), 1);
|
|
|
-var import_js_format14 = require("@e22m4u/js-format");
|
|
|
|
|
|
|
|
|
|
// src/router-options.js
|
|
// src/router-options.js
|
|
|
var import_js_format13 = require("@e22m4u/js-format");
|
|
var import_js_format13 = require("@e22m4u/js-format");
|
|
@@ -1084,7 +1104,7 @@ var _RouterOptions = class _RouterOptions extends DebuggableService {
|
|
|
*/
|
|
*/
|
|
|
setRequestBodyBytesLimit(input) {
|
|
setRequestBodyBytesLimit(input) {
|
|
|
if (typeof input !== "number" || input < 0) {
|
|
if (typeof input !== "number" || input < 0) {
|
|
|
- throw new import_js_format13.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format13.InvalidArgumentError(
|
|
|
'The option "requestBodyBytesLimit" must be a positive Number or 0, but %v was given.',
|
|
'The option "requestBodyBytesLimit" must be a positive Number or 0, but %v was given.',
|
|
|
input
|
|
input
|
|
|
);
|
|
);
|
|
@@ -1097,6 +1117,7 @@ __name(_RouterOptions, "RouterOptions");
|
|
|
var RouterOptions = _RouterOptions;
|
|
var RouterOptions = _RouterOptions;
|
|
|
|
|
|
|
|
// src/parsers/body-parser.js
|
|
// src/parsers/body-parser.js
|
|
|
|
|
+var import_js_format14 = require("@e22m4u/js-format");
|
|
|
var METHODS_WITH_BODY = ["POST", "PUT", "PATCH", "DELETE"];
|
|
var METHODS_WITH_BODY = ["POST", "PUT", "PATCH", "DELETE"];
|
|
|
var UNPARSABLE_MEDIA_TYPES = ["multipart/form-data"];
|
|
var UNPARSABLE_MEDIA_TYPES = ["multipart/form-data"];
|
|
|
var _BodyParser = class _BodyParser extends DebuggableService {
|
|
var _BodyParser = class _BodyParser extends DebuggableService {
|
|
@@ -1118,13 +1139,13 @@ var _BodyParser = class _BodyParser extends DebuggableService {
|
|
|
*/
|
|
*/
|
|
|
defineParser(mediaType, parser) {
|
|
defineParser(mediaType, parser) {
|
|
|
if (!mediaType || typeof mediaType !== "string") {
|
|
if (!mediaType || typeof mediaType !== "string") {
|
|
|
- throw new import_js_format14.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format14.InvalidArgumentError(
|
|
|
'The parameter "mediaType" of BodyParser.defineParser must be a non-empty String, but %v was given.',
|
|
'The parameter "mediaType" of BodyParser.defineParser must be a non-empty String, but %v was given.',
|
|
|
mediaType
|
|
mediaType
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
if (!parser || typeof parser !== "function") {
|
|
if (!parser || typeof parser !== "function") {
|
|
|
- throw new import_js_format14.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format14.InvalidArgumentError(
|
|
|
'The parameter "parser" of BodyParser.defineParser must be a Function, but %v was given.',
|
|
'The parameter "parser" of BodyParser.defineParser must be a Function, but %v was given.',
|
|
|
parser
|
|
parser
|
|
|
);
|
|
);
|
|
@@ -1140,7 +1161,7 @@ var _BodyParser = class _BodyParser extends DebuggableService {
|
|
|
*/
|
|
*/
|
|
|
hasParser(mediaType) {
|
|
hasParser(mediaType) {
|
|
|
if (!mediaType || typeof mediaType !== "string") {
|
|
if (!mediaType || typeof mediaType !== "string") {
|
|
|
- throw new import_js_format14.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format14.InvalidArgumentError(
|
|
|
'The parameter "mediaType" of BodyParser.hasParser must be a non-empty String, but %v was given.',
|
|
'The parameter "mediaType" of BodyParser.hasParser must be a non-empty String, but %v was given.',
|
|
|
mediaType
|
|
mediaType
|
|
|
);
|
|
);
|
|
@@ -1155,14 +1176,17 @@ var _BodyParser = class _BodyParser extends DebuggableService {
|
|
|
*/
|
|
*/
|
|
|
deleteParser(mediaType) {
|
|
deleteParser(mediaType) {
|
|
|
if (!mediaType || typeof mediaType !== "string") {
|
|
if (!mediaType || typeof mediaType !== "string") {
|
|
|
- throw new import_js_format14.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format14.InvalidArgumentError(
|
|
|
'The parameter "mediaType" of BodyParser.deleteParser must be a non-empty String, but %v was given.',
|
|
'The parameter "mediaType" of BodyParser.deleteParser must be a non-empty String, but %v was given.',
|
|
|
mediaType
|
|
mediaType
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
const parser = this._parsers[mediaType];
|
|
const parser = this._parsers[mediaType];
|
|
|
if (!parser) {
|
|
if (!parser) {
|
|
|
- throw new import_js_format14.Errorf("The parser of %v is not found.", mediaType);
|
|
|
|
|
|
|
+ throw new import_js_format14.InvalidArgumentError(
|
|
|
|
|
+ "The parser of %v is not found.",
|
|
|
|
|
+ mediaType
|
|
|
|
|
+ );
|
|
|
}
|
|
}
|
|
|
delete this._parsers[mediaType];
|
|
delete this._parsers[mediaType];
|
|
|
return this;
|
|
return this;
|
|
@@ -1307,7 +1331,7 @@ var _RequestParser = class _RequestParser extends DebuggableService {
|
|
|
*/
|
|
*/
|
|
|
parse(request) {
|
|
parse(request) {
|
|
|
if (!(request instanceof import_http3.IncomingMessage)) {
|
|
if (!(request instanceof import_http3.IncomingMessage)) {
|
|
|
- throw new import_js_format15.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format15.InvalidArgumentError(
|
|
|
"The first parameter of RequestParser.parse must be an instance of IncomingMessage, but %v was given.",
|
|
"The first parameter of RequestParser.parse must be an instance of IncomingMessage, but %v was given.",
|
|
|
request
|
|
request
|
|
|
);
|
|
);
|
|
@@ -1340,9 +1364,9 @@ __name(_RequestParser, "RequestParser");
|
|
|
var RequestParser = _RequestParser;
|
|
var RequestParser = _RequestParser;
|
|
|
|
|
|
|
|
// src/route-registry.js
|
|
// src/route-registry.js
|
|
|
-var import_js_format16 = require("@e22m4u/js-format");
|
|
|
|
|
var import_js_path_trie = require("@e22m4u/js-path-trie");
|
|
var import_js_path_trie = require("@e22m4u/js-path-trie");
|
|
|
var import_js_service2 = require("@e22m4u/js-service");
|
|
var import_js_service2 = require("@e22m4u/js-service");
|
|
|
|
|
+var import_js_format16 = require("@e22m4u/js-format");
|
|
|
var _RouteRegistry = class _RouteRegistry extends DebuggableService {
|
|
var _RouteRegistry = class _RouteRegistry extends DebuggableService {
|
|
|
/**
|
|
/**
|
|
|
* Constructor.
|
|
* Constructor.
|
|
@@ -1362,7 +1386,7 @@ var _RouteRegistry = class _RouteRegistry extends DebuggableService {
|
|
|
defineRoute(routeDef) {
|
|
defineRoute(routeDef) {
|
|
|
const debug = this.getDebuggerFor(this.defineRoute);
|
|
const debug = this.getDebuggerFor(this.defineRoute);
|
|
|
if (!routeDef || typeof routeDef !== "object" || Array.isArray(routeDef)) {
|
|
if (!routeDef || typeof routeDef !== "object" || Array.isArray(routeDef)) {
|
|
|
- throw new import_js_format16.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format16.InvalidArgumentError(
|
|
|
"The route definition must be an Object, but %v was given.",
|
|
"The route definition must be an Object, but %v was given.",
|
|
|
routeDef
|
|
routeDef
|
|
|
);
|
|
);
|
|
@@ -1574,28 +1598,28 @@ var _RequestContext = class _RequestContext {
|
|
|
*/
|
|
*/
|
|
|
constructor(container, request, response, route) {
|
|
constructor(container, request, response, route) {
|
|
|
if (!(0, import_js_service3.isServiceContainer)(container)) {
|
|
if (!(0, import_js_service3.isServiceContainer)(container)) {
|
|
|
- throw new import_js_format17.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format17.InvalidArgumentError(
|
|
|
'The parameter "container" of RequestContext.constructor must be an instance of ServiceContainer, but %v was given.',
|
|
'The parameter "container" of RequestContext.constructor must be an instance of ServiceContainer, but %v was given.',
|
|
|
container
|
|
container
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
this._container = container;
|
|
this._container = container;
|
|
|
if (!request || typeof request !== "object" || Array.isArray(request) || !isReadableStream(request)) {
|
|
if (!request || typeof request !== "object" || Array.isArray(request) || !isReadableStream(request)) {
|
|
|
- throw new import_js_format17.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format17.InvalidArgumentError(
|
|
|
'The parameter "request" of RequestContext.constructor must be an instance of IncomingMessage, but %v was given.',
|
|
'The parameter "request" of RequestContext.constructor must be an instance of IncomingMessage, but %v was given.',
|
|
|
request
|
|
request
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
this._request = request;
|
|
this._request = request;
|
|
|
if (!response || typeof response !== "object" || Array.isArray(response) || !isWritableStream(response)) {
|
|
if (!response || typeof response !== "object" || Array.isArray(response) || !isWritableStream(response)) {
|
|
|
- throw new import_js_format17.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format17.InvalidArgumentError(
|
|
|
'The parameter "response" of RequestContext.constructor must be an instance of ServerResponse, but %v was given.',
|
|
'The parameter "response" of RequestContext.constructor must be an instance of ServerResponse, but %v was given.',
|
|
|
response
|
|
response
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
this._response = response;
|
|
this._response = response;
|
|
|
if (!(route instanceof Route)) {
|
|
if (!(route instanceof Route)) {
|
|
|
- throw new import_js_format17.Errorf(
|
|
|
|
|
|
|
+ throw new import_js_format17.InvalidArgumentError(
|
|
|
'The parameter "route" of RequestContext.constructor must be an instance of Route, but %v was given.',
|
|
'The parameter "route" of RequestContext.constructor must be an instance of Route, but %v was given.',
|
|
|
route
|
|
route
|
|
|
);
|
|
);
|