@bgord/bun 0.8.0 → 0.8.2
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/README.md +1 -3
- package/dist/api-key-shield.middleware.d.ts +14 -0
- package/dist/api-key-shield.middleware.d.ts.map +1 -0
- package/dist/api-key-shield.middleware.js +19 -0
- package/dist/api-key-shield.middleware.js.map +1 -0
- package/dist/api-version.middleware.d.ts +6 -0
- package/dist/api-version.middleware.d.ts.map +1 -0
- package/dist/api-version.middleware.js +12 -0
- package/dist/api-version.middleware.js.map +1 -0
- package/dist/auth-shield.middleware.d.ts +31 -0
- package/dist/auth-shield.middleware.d.ts.map +1 -0
- package/dist/auth-shield.middleware.js +83 -0
- package/dist/auth-shield.middleware.js.map +1 -0
- package/dist/basic-auth.service.d.ts +14 -0
- package/dist/basic-auth.service.d.ts.map +1 -0
- package/dist/basic-auth.service.js +13 -0
- package/dist/basic-auth.service.js.map +1 -0
- package/dist/build-info-repository.service.d.ts +10 -0
- package/dist/build-info-repository.service.d.ts.map +1 -0
- package/dist/build-info-repository.service.js +18 -0
- package/dist/build-info-repository.service.js.map +1 -0
- package/dist/cache-resolver.service.d.ts +46 -0
- package/dist/cache-resolver.service.d.ts.map +1 -0
- package/dist/cache-resolver.service.js +44 -0
- package/dist/cache-resolver.service.js.map +1 -0
- package/dist/cache-response.middleware.d.ts +9 -0
- package/dist/cache-response.middleware.d.ts.map +1 -0
- package/dist/cache-response.middleware.js +25 -0
- package/dist/cache-response.middleware.js.map +1 -0
- package/dist/cache-static-files.middleware.d.ts +9 -0
- package/dist/cache-static-files.middleware.d.ts.map +1 -0
- package/dist/cache-static-files.middleware.js +25 -0
- package/dist/cache-static-files.middleware.js.map +1 -0
- package/dist/context.middleware.d.ts +14 -0
- package/dist/context.middleware.d.ts.map +1 -0
- package/dist/context.middleware.js +11 -0
- package/dist/context.middleware.js.map +1 -0
- package/dist/correlation-id.vo.d.ts +4 -0
- package/dist/correlation-id.vo.d.ts.map +1 -0
- package/dist/correlation-id.vo.js +3 -0
- package/dist/correlation-id.vo.js.map +1 -0
- package/dist/decorators.service.d.ts +12 -0
- package/dist/decorators.service.d.ts.map +1 -0
- package/dist/decorators.service.js +62 -0
- package/dist/decorators.service.js.map +1 -0
- package/dist/download-file.service.d.ts +13 -0
- package/dist/download-file.service.d.ts.map +1 -0
- package/dist/download-file.service.js +11 -0
- package/dist/download-file.service.js.map +1 -0
- package/dist/encryption.service.d.ts +25 -0
- package/dist/encryption.service.d.ts.map +1 -0
- package/dist/encryption.service.js +37 -0
- package/dist/encryption.service.js.map +1 -0
- package/dist/env-validator.service.d.ts +21 -0
- package/dist/env-validator.service.d.ts.map +1 -0
- package/dist/env-validator.service.js +28 -0
- package/dist/env-validator.service.js.map +1 -0
- package/dist/etag-extractor.middleware.d.ts +11 -0
- package/dist/etag-extractor.middleware.d.ts.map +1 -0
- package/dist/etag-extractor.middleware.js +18 -0
- package/dist/etag-extractor.middleware.js.map +1 -0
- package/dist/event-handler.service.d.ts +8 -0
- package/dist/event-handler.service.d.ts.map +1 -0
- package/dist/event-handler.service.js +21 -0
- package/dist/event-handler.service.js.map +1 -0
- package/dist/event-logger.service.d.ts +8 -0
- package/dist/event-logger.service.d.ts.map +1 -0
- package/dist/event-logger.service.js +19 -0
- package/dist/event-logger.service.js.map +1 -0
- package/dist/event.vo.d.ts +20 -0
- package/dist/event.vo.d.ts.map +1 -0
- package/dist/event.vo.js +23 -0
- package/dist/event.vo.js.map +1 -0
- package/dist/file-location.service.d.ts +32 -0
- package/dist/file-location.service.d.ts.map +1 -0
- package/dist/file-location.service.js +46 -0
- package/dist/file-location.service.js.map +1 -0
- package/dist/file-uploader.middleware.d.ts +13 -0
- package/dist/file-uploader.middleware.d.ts.map +1 -0
- package/dist/file-uploader.middleware.js +35 -0
- package/dist/file-uploader.middleware.js.map +1 -0
- package/dist/graceful-shutdown.service.d.ts +7 -0
- package/dist/graceful-shutdown.service.d.ts.map +1 -0
- package/dist/graceful-shutdown.service.js +32 -0
- package/dist/graceful-shutdown.service.js.map +1 -0
- package/dist/gzip.service.d.ts +13 -0
- package/dist/gzip.service.d.ts.map +1 -0
- package/dist/gzip.service.js +18 -0
- package/dist/gzip.service.js.map +1 -0
- package/dist/hcaptcha-shield.middleware.d.ts +23 -0
- package/dist/hcaptcha-shield.middleware.d.ts.map +1 -0
- package/dist/hcaptcha-shield.middleware.js +34 -0
- package/dist/hcaptcha-shield.middleware.js.map +1 -0
- package/dist/healthcheck.service.d.ts +22 -0
- package/dist/healthcheck.service.d.ts.map +1 -0
- package/dist/healthcheck.service.js +35 -0
- package/dist/healthcheck.service.js.map +1 -0
- package/dist/http-logger.middleware.d.ts +7 -0
- package/dist/http-logger.middleware.d.ts.map +1 -0
- package/dist/http-logger.middleware.js +89 -0
- package/dist/http-logger.middleware.js.map +1 -0
- package/dist/i18n.service.d.ts +22 -0
- package/dist/i18n.service.d.ts.map +1 -0
- package/dist/i18n.service.js +35 -0
- package/dist/i18n.service.js.map +1 -0
- package/dist/image-compressor.service.d.ts +15 -0
- package/dist/image-compressor.service.d.ts.map +1 -0
- package/dist/image-compressor.service.js +13 -0
- package/dist/image-compressor.service.js.map +1 -0
- package/dist/image-exif.service.d.ts +19 -0
- package/dist/image-exif.service.d.ts.map +1 -0
- package/dist/image-exif.service.js +21 -0
- package/dist/image-exif.service.js.map +1 -0
- package/dist/index.d.ts +50 -50
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +50 -50
- package/dist/index.js.map +1 -1
- package/dist/jobs.service.d.ts +33 -0
- package/dist/jobs.service.d.ts.map +1 -0
- package/dist/jobs.service.js +72 -0
- package/dist/jobs.service.js.map +1 -0
- package/dist/logger.service.d.ts +69 -0
- package/dist/logger.service.d.ts.map +1 -0
- package/dist/logger.service.js +87 -0
- package/dist/logger.service.js.map +1 -0
- package/dist/mailer.service.d.ts +38 -0
- package/dist/mailer.service.d.ts.map +1 -0
- package/dist/mailer.service.js +33 -0
- package/dist/mailer.service.js.map +1 -0
- package/dist/memory-consumption.service.d.ts +5 -0
- package/dist/memory-consumption.service.d.ts.map +1 -0
- package/dist/memory-consumption.service.js +8 -0
- package/dist/memory-consumption.service.js.map +1 -0
- package/dist/new-uuid.service.d.ts +4 -0
- package/dist/new-uuid.service.d.ts.map +1 -0
- package/dist/new-uuid.service.js +6 -0
- package/dist/new-uuid.service.js.map +1 -0
- package/dist/open-graph.service.d.ts +110 -0
- package/dist/open-graph.service.d.ts.map +1 -0
- package/dist/open-graph.service.js +172 -0
- package/dist/open-graph.service.js.map +1 -0
- package/dist/passwords.vo.d.ts +21 -0
- package/dist/passwords.vo.d.ts.map +1 -0
- package/dist/passwords.vo.js +42 -0
- package/dist/passwords.vo.js.map +1 -0
- package/dist/path.vo.d.ts +4 -0
- package/dist/path.vo.d.ts.map +1 -0
- package/dist/path.vo.js +3 -0
- package/dist/path.vo.js.map +1 -0
- package/dist/port.vo.d.ts +4 -0
- package/dist/port.vo.d.ts.map +1 -0
- package/dist/port.vo.js +3 -0
- package/dist/port.vo.js.map +1 -0
- package/dist/prerequisites/binary.d.ts +1 -1
- package/dist/prerequisites/binary.d.ts.map +1 -1
- package/dist/prerequisites/binary.js +1 -1
- package/dist/prerequisites/binary.js.map +1 -1
- package/dist/prerequisites/bun.d.ts +1 -1
- package/dist/prerequisites/bun.d.ts.map +1 -1
- package/dist/prerequisites/bun.js +1 -1
- package/dist/prerequisites/bun.js.map +1 -1
- package/dist/prerequisites/dependency-vulnerabilities.d.ts +1 -1
- package/dist/prerequisites/dependency-vulnerabilities.d.ts.map +1 -1
- package/dist/prerequisites/dependency-vulnerabilities.js +1 -1
- package/dist/prerequisites/dependency-vulnerabilities.js.map +1 -1
- package/dist/prerequisites/external-api.d.ts +1 -1
- package/dist/prerequisites/external-api.d.ts.map +1 -1
- package/dist/prerequisites/external-api.js +1 -1
- package/dist/prerequisites/external-api.js.map +1 -1
- package/dist/prerequisites/jobs.d.ts +2 -2
- package/dist/prerequisites/jobs.d.ts.map +1 -1
- package/dist/prerequisites/jobs.js +2 -2
- package/dist/prerequisites/jobs.js.map +1 -1
- package/dist/prerequisites/log-file.d.ts +2 -2
- package/dist/prerequisites/log-file.d.ts.map +1 -1
- package/dist/prerequisites/log-file.js +1 -1
- package/dist/prerequisites/log-file.js.map +1 -1
- package/dist/prerequisites/mailer.d.ts +2 -2
- package/dist/prerequisites/mailer.d.ts.map +1 -1
- package/dist/prerequisites/mailer.js +1 -1
- package/dist/prerequisites/mailer.js.map +1 -1
- package/dist/prerequisites/memory.d.ts +1 -1
- package/dist/prerequisites/memory.d.ts.map +1 -1
- package/dist/prerequisites/memory.js +2 -2
- package/dist/prerequisites/memory.js.map +1 -1
- package/dist/prerequisites/node.d.ts +1 -1
- package/dist/prerequisites/node.d.ts.map +1 -1
- package/dist/prerequisites/node.js +1 -1
- package/dist/prerequisites/node.js.map +1 -1
- package/dist/prerequisites/outside-connectivity.d.ts +1 -1
- package/dist/prerequisites/outside-connectivity.d.ts.map +1 -1
- package/dist/prerequisites/outside-connectivity.js +1 -1
- package/dist/prerequisites/outside-connectivity.js.map +1 -1
- package/dist/prerequisites/path.d.ts +1 -1
- package/dist/prerequisites/path.d.ts.map +1 -1
- package/dist/prerequisites/path.js +1 -1
- package/dist/prerequisites/path.js.map +1 -1
- package/dist/prerequisites/port.d.ts +2 -2
- package/dist/prerequisites/port.d.ts.map +1 -1
- package/dist/prerequisites/port.js +1 -1
- package/dist/prerequisites/port.js.map +1 -1
- package/dist/prerequisites/ram.d.ts +1 -1
- package/dist/prerequisites/ram.d.ts.map +1 -1
- package/dist/prerequisites/ram.js +1 -1
- package/dist/prerequisites/ram.js.map +1 -1
- package/dist/prerequisites/self.d.ts +1 -1
- package/dist/prerequisites/self.d.ts.map +1 -1
- package/dist/prerequisites/self.js +1 -1
- package/dist/prerequisites/self.js.map +1 -1
- package/dist/prerequisites/space.d.ts +1 -1
- package/dist/prerequisites/space.d.ts.map +1 -1
- package/dist/prerequisites/space.js +1 -1
- package/dist/prerequisites/space.js.map +1 -1
- package/dist/prerequisites/ssl-certificate-expiry.d.ts +1 -1
- package/dist/prerequisites/ssl-certificate-expiry.d.ts.map +1 -1
- package/dist/prerequisites/ssl-certificate-expiry.js +1 -1
- package/dist/prerequisites/ssl-certificate-expiry.js.map +1 -1
- package/dist/prerequisites/timezone-utc.d.ts +1 -1
- package/dist/prerequisites/timezone-utc.d.ts.map +1 -1
- package/dist/prerequisites/timezone-utc.js +1 -1
- package/dist/prerequisites/timezone-utc.js.map +1 -1
- package/dist/prerequisites/translations.d.ts +2 -2
- package/dist/prerequisites/translations.d.ts.map +1 -1
- package/dist/prerequisites/translations.js +2 -2
- package/dist/prerequisites/translations.js.map +1 -1
- package/dist/prerequisites.service.d.ts +49 -0
- package/dist/prerequisites.service.d.ts.map +1 -0
- package/dist/prerequisites.service.js +86 -0
- package/dist/prerequisites.service.js.map +1 -0
- package/dist/rate-limit-shield.middleware.d.ts +10 -0
- package/dist/rate-limit-shield.middleware.d.ts.map +1 -0
- package/dist/rate-limit-shield.middleware.js +21 -0
- package/dist/rate-limit-shield.middleware.js.map +1 -0
- package/dist/recaptcha-shield.middleware.d.ts +20 -0
- package/dist/recaptcha-shield.middleware.d.ts.map +1 -0
- package/dist/recaptcha-shield.middleware.js +50 -0
- package/dist/recaptcha-shield.middleware.js.map +1 -0
- package/dist/session-id.vo.d.ts +7 -0
- package/dist/session-id.vo.d.ts.map +1 -0
- package/dist/session-id.vo.js +10 -0
- package/dist/session-id.vo.js.map +1 -0
- package/dist/setup.service.d.ts +9 -0
- package/dist/setup.service.d.ts.map +1 -0
- package/dist/setup.service.js +39 -0
- package/dist/setup.service.js.map +1 -0
- package/dist/simulated-error.middleware.d.ts +4 -0
- package/dist/simulated-error.middleware.d.ts.map +1 -0
- package/dist/simulated-error.middleware.js +7 -0
- package/dist/simulated-error.middleware.js.map +1 -0
- package/dist/sitemap.service.d.ts +29 -0
- package/dist/sitemap.service.d.ts.map +1 -0
- package/dist/sitemap.service.js +57 -0
- package/dist/sitemap.service.js.map +1 -0
- package/dist/slower.middleware.d.ts +5 -0
- package/dist/slower.middleware.d.ts.map +1 -0
- package/dist/slower.middleware.js +8 -0
- package/dist/slower.middleware.js.map +1 -0
- package/dist/time-zone-offset.middleware.d.ts +15 -0
- package/dist/time-zone-offset.middleware.d.ts.map +1 -0
- package/dist/time-zone-offset.middleware.js +22 -0
- package/dist/time-zone-offset.middleware.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/uptime.service.d.ts +9 -0
- package/dist/uptime.service.d.ts.map +1 -0
- package/dist/uptime.service.js +10 -0
- package/dist/uptime.service.js.map +1 -0
- package/dist/url-wo-trailing-slash.vo.d.ts +4 -0
- package/dist/url-wo-trailing-slash.vo.d.ts.map +1 -0
- package/dist/url-wo-trailing-slash.vo.js +9 -0
- package/dist/url-wo-trailing-slash.vo.js.map +1 -0
- package/dist/username.vo.d.ts +11 -0
- package/dist/username.vo.d.ts.map +1 -0
- package/dist/username.vo.js +13 -0
- package/dist/username.vo.js.map +1 -0
- package/dist/uuid.vo.d.ts +4 -0
- package/dist/uuid.vo.d.ts.map +1 -0
- package/dist/uuid.vo.js +4 -0
- package/dist/uuid.vo.js.map +1 -0
- package/dist/weak-etag-extractor.middleware.d.ts +7 -0
- package/dist/weak-etag-extractor.middleware.d.ts.map +1 -0
- package/dist/weak-etag-extractor.middleware.js +18 -0
- package/dist/weak-etag-extractor.middleware.js.map +1 -0
- package/package.json +2 -2
- package/src/{api-version.ts → api-version.middleware.ts} +1 -1
- package/src/{auth-shield.ts → auth-shield.middleware.ts} +3 -3
- package/src/{cache-response.ts → cache-response.middleware.ts} +1 -1
- package/src/{context.ts → context.middleware.ts} +2 -2
- package/src/{correlation-id.ts → correlation-id.vo.ts} +1 -1
- package/src/{decorators.ts → decorators.service.ts} +1 -1
- package/src/{event-handler.ts → event-handler.service.ts} +2 -2
- package/src/{event-logger.ts → event-logger.service.ts} +1 -1
- package/src/{event.ts → event.vo.ts} +1 -1
- package/src/{file-location.ts → file-location.service.ts} +1 -1
- package/src/{healthcheck.ts → healthcheck.service.ts} +4 -4
- package/src/{http-logger.ts → http-logger.middleware.ts} +4 -4
- package/src/{i18n.ts → i18n.service.ts} +2 -2
- package/src/{image-compressor.ts → image-compressor.service.ts} +1 -1
- package/src/{image-exif.ts → image-exif.service.ts} +1 -1
- package/src/index.ts +50 -50
- package/src/{jobs.ts → jobs.service.ts} +3 -3
- package/src/{logger.ts → logger.service.ts} +2 -2
- package/src/{mailer.ts → mailer.service.ts} +2 -2
- package/src/{open-graph.ts → open-graph.service.ts} +3 -3
- package/src/prerequisites/binary.ts +1 -1
- package/src/prerequisites/bun.ts +1 -1
- package/src/prerequisites/dependency-vulnerabilities.ts +1 -1
- package/src/prerequisites/external-api.ts +1 -1
- package/src/prerequisites/jobs.ts +2 -2
- package/src/prerequisites/log-file.ts +2 -2
- package/src/prerequisites/mailer.ts +2 -2
- package/src/prerequisites/memory.ts +2 -2
- package/src/prerequisites/node.ts +1 -1
- package/src/prerequisites/outside-connectivity.ts +1 -1
- package/src/prerequisites/path.ts +1 -1
- package/src/prerequisites/port.ts +2 -2
- package/src/prerequisites/ram.ts +1 -1
- package/src/prerequisites/self.ts +1 -1
- package/src/prerequisites/space.ts +1 -1
- package/src/prerequisites/ssl-certificate-expiry.ts +1 -1
- package/src/prerequisites/timezone-utc.ts +1 -1
- package/src/prerequisites/translations.ts +2 -2
- package/src/{prerequisites.ts → prerequisites.service.ts} +3 -2
- package/src/{rate-limit-shield.ts → rate-limit-shield.middleware.ts} +8 -2
- package/src/{setup.ts → setup.service.ts} +8 -8
- package/src/{sitemap.ts → sitemap.service.ts} +2 -2
- package/src/{uuid.ts → uuid.vo.ts} +1 -1
- package/src/{weak-etag-extractor.ts → weak-etag-extractor.middleware.ts} +1 -1
- /package/src/{api-key-shield.ts → api-key-shield.middleware.ts} +0 -0
- /package/src/{basic-auth.ts → basic-auth.service.ts} +0 -0
- /package/src/{build-info-repository.ts → build-info-repository.service.ts} +0 -0
- /package/src/{cache-resolver.ts → cache-resolver.service.ts} +0 -0
- /package/src/{cache-static-files.ts → cache-static-files.middleware.ts} +0 -0
- /package/src/{download-file.ts → download-file.service.ts} +0 -0
- /package/src/{encryption.ts → encryption.service.ts} +0 -0
- /package/src/{env-validator.ts → env-validator.service.ts} +0 -0
- /package/src/{etag-extractor.ts → etag-extractor.middleware.ts} +0 -0
- /package/src/{file-uploader.ts → file-uploader.middleware.ts} +0 -0
- /package/src/{graceful-shutdown.ts → graceful-shutdown.service.ts} +0 -0
- /package/src/{gzip.ts → gzip.service.ts} +0 -0
- /package/src/{hcaptcha-shield.ts → hcaptcha-shield.middleware.ts} +0 -0
- /package/src/{memory-consumption.ts → memory-consumption.service.ts} +0 -0
- /package/src/{new-uuid.ts → new-uuid.service.ts} +0 -0
- /package/src/{passwords.ts → passwords.vo.ts} +0 -0
- /package/src/{path.ts → path.vo.ts} +0 -0
- /package/src/{port.ts → port.vo.ts} +0 -0
- /package/src/{recaptcha-shield.ts → recaptcha-shield.middleware.ts} +0 -0
- /package/src/{session-id.ts → session-id.vo.ts} +0 -0
- /package/src/{simulated-error.ts → simulated-error.middleware.ts} +0 -0
- /package/src/{slower.ts → slower.middleware.ts} +0 -0
- /package/src/{time-zone-offset.ts → time-zone-offset.middleware.ts} +0 -0
- /package/src/{uptime.ts → uptime.service.ts} +0 -0
- /package/src/{url-wo-trailing-slash.ts → url-wo-trailing-slash.vo.ts} +0 -0
- /package/src/{username.ts → username.vo.ts} +0 -0
|
@@ -2,7 +2,7 @@ import path from "node:path";
|
|
|
2
2
|
import * as tools from "@bgord/tools";
|
|
3
3
|
import checkDiskSpace from "check-disk-space";
|
|
4
4
|
|
|
5
|
-
import * as prereqs from "../prerequisites";
|
|
5
|
+
import * as prereqs from "../prerequisites.service";
|
|
6
6
|
|
|
7
7
|
type PrerequisiteSpaceConfigType = {
|
|
8
8
|
minimum: tools.Size;
|
|
@@ -2,8 +2,8 @@ import { constants } from "node:fs";
|
|
|
2
2
|
import fsp from "node:fs/promises";
|
|
3
3
|
import * as tools from "@bgord/tools";
|
|
4
4
|
|
|
5
|
-
import * as i18n from "../i18n";
|
|
6
|
-
import * as prereqs from "../prerequisites";
|
|
5
|
+
import * as i18n from "../i18n.service";
|
|
6
|
+
import * as prereqs from "../prerequisites.service";
|
|
7
7
|
|
|
8
8
|
type PrerequisiteTranslationsConfigType = {
|
|
9
9
|
translationsPath?: typeof i18n.I18n.DEFAULT_TRANSLATIONS_PATH;
|
|
@@ -49,12 +49,12 @@ export abstract class AbstractPrerequisite<T extends BasePrerequisiteConfig> {
|
|
|
49
49
|
|
|
50
50
|
abstract verify(): Promise<PrerequisiteStatusEnum>;
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
pass(): PrerequisiteStatusEnum.success {
|
|
53
53
|
this.status = PrerequisiteStatusEnum.success;
|
|
54
54
|
return PrerequisiteStatusEnum.success;
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
reject(): PrerequisiteStatusEnum.failure {
|
|
58
58
|
this.status = PrerequisiteStatusEnum.failure;
|
|
59
59
|
return PrerequisiteStatusEnum.failure;
|
|
60
60
|
}
|
|
@@ -77,6 +77,7 @@ export abstract class AbstractPrerequisite<T extends BasePrerequisiteConfig> {
|
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
+
/** @public */
|
|
80
81
|
export class Prerequisites {
|
|
81
82
|
static async check(prerequisites: AbstractPrerequisite<BasePrerequisiteConfig>[]) {
|
|
82
83
|
try {
|
|
@@ -2,16 +2,22 @@ import * as tools from "@bgord/tools";
|
|
|
2
2
|
import { createMiddleware } from "hono/factory";
|
|
3
3
|
import { HTTPException } from "hono/http-exception";
|
|
4
4
|
|
|
5
|
-
type RateLimitShieldOptionsType = {
|
|
5
|
+
type RateLimitShieldOptionsType = {
|
|
6
|
+
time: tools.TimeResult;
|
|
7
|
+
enabled: boolean;
|
|
8
|
+
};
|
|
6
9
|
|
|
7
10
|
export const TooManyRequestsError = new HTTPException(429, {
|
|
8
11
|
message: "app.too_many_requests",
|
|
9
12
|
});
|
|
10
13
|
|
|
11
14
|
export const rateLimitShield = (options: RateLimitShieldOptionsType) => {
|
|
12
|
-
const
|
|
15
|
+
const enabled = options.enabled;
|
|
16
|
+
const rateLimiter = new tools.RateLimiter(options.time);
|
|
13
17
|
|
|
14
18
|
return createMiddleware(async (_c, next) => {
|
|
19
|
+
if (!enabled) return next();
|
|
20
|
+
|
|
15
21
|
const currentTimestampMs = Date.now();
|
|
16
22
|
const check = rateLimiter.verify(currentTimestampMs);
|
|
17
23
|
|
|
@@ -6,14 +6,14 @@ import { requestId } from "hono/request-id";
|
|
|
6
6
|
import { secureHeaders } from "hono/secure-headers";
|
|
7
7
|
import { timing } from "hono/timing";
|
|
8
8
|
|
|
9
|
-
import { ApiVersion } from "./api-version";
|
|
10
|
-
import { Context } from "./context";
|
|
11
|
-
import { ETagExtractor } from "./etag-extractor";
|
|
12
|
-
import { HttpLogger } from "./http-logger";
|
|
13
|
-
import { I18nConfigType } from "./i18n";
|
|
14
|
-
import { Logger } from "./logger";
|
|
15
|
-
import { TimeZoneOffset } from "./time-zone-offset";
|
|
16
|
-
import { WeakETagExtractor } from "./weak-etag-extractor";
|
|
9
|
+
import { ApiVersion } from "./api-version.middleware";
|
|
10
|
+
import { Context } from "./context.middleware";
|
|
11
|
+
import { ETagExtractor } from "./etag-extractor.middleware";
|
|
12
|
+
import { HttpLogger } from "./http-logger.middleware";
|
|
13
|
+
import { I18nConfigType } from "./i18n.service";
|
|
14
|
+
import { Logger } from "./logger.service";
|
|
15
|
+
import { TimeZoneOffset } from "./time-zone-offset.middleware";
|
|
16
|
+
import { WeakETagExtractor } from "./weak-etag-extractor.middleware";
|
|
17
17
|
|
|
18
18
|
export const BODY_LIMIT_MAX_SIZE = new tools.Size({
|
|
19
19
|
value: 128,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from "zod/v4";
|
|
2
2
|
|
|
3
|
-
import { PathType } from "./path";
|
|
4
|
-
import { UrlWithoutTrailingSlashType } from "./url-wo-trailing-slash";
|
|
3
|
+
import { PathType } from "./path.vo";
|
|
4
|
+
import { UrlWithoutTrailingSlashType } from "./url-wo-trailing-slash.vo";
|
|
5
5
|
|
|
6
6
|
export const SitemapLoc = z.string().min(1);
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as tools from "@bgord/tools";
|
|
2
2
|
import { createMiddleware } from "hono/factory";
|
|
3
3
|
|
|
4
|
-
import { EtagVariables } from "./etag-extractor";
|
|
4
|
+
import { EtagVariables } from "./etag-extractor.middleware";
|
|
5
5
|
|
|
6
6
|
export class WeakETagExtractor {
|
|
7
7
|
static attach = createMiddleware<{ Variables: EtagVariables }>(async (c, next) => {
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|