@bgord/bun 1.5.9 → 1.5.11
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/cache-repository-node-cache.adapter.d.ts +15 -0
- package/dist/cache-repository-node-cache.adapter.d.ts.map +1 -0
- package/dist/cache-repository-node-cache.adapter.js +31 -0
- package/dist/cache-repository-node-cache.adapter.js.map +1 -0
- package/dist/cache-repository-noop.adapter.d.ts +14 -0
- package/dist/cache-repository-noop.adapter.d.ts.map +1 -0
- package/dist/cache-repository-noop.adapter.js +16 -0
- package/dist/cache-repository-noop.adapter.js.map +1 -0
- package/dist/cache-repository.port.d.ts +10 -0
- package/dist/cache-repository.port.d.ts.map +1 -0
- package/dist/cache-repository.port.js +2 -0
- package/dist/cache-repository.port.js.map +1 -0
- package/dist/cache-resolver-simple.adapter.d.ts +18 -0
- package/dist/cache-resolver-simple.adapter.d.ts.map +1 -0
- package/dist/cache-resolver-simple.adapter.js +26 -0
- package/dist/cache-resolver-simple.adapter.js.map +1 -0
- package/dist/cache-resolver.port.d.ts +16 -0
- package/dist/cache-resolver.port.d.ts.map +1 -0
- package/dist/cache-resolver.port.js +6 -0
- package/dist/cache-resolver.port.js.map +1 -0
- package/dist/cache-response.middleware.d.ts +16 -4
- package/dist/cache-response.middleware.d.ts.map +1 -1
- package/dist/cache-response.middleware.js +21 -12
- package/dist/cache-response.middleware.js.map +1 -1
- package/dist/environment-loader-process-safe.adapter.d.ts +13 -6
- package/dist/environment-loader-process-safe.adapter.d.ts.map +1 -1
- package/dist/environment-loader-process-safe.adapter.js +7 -9
- package/dist/environment-loader-process-safe.adapter.js.map +1 -1
- package/dist/http-logger.middleware.js +2 -2
- package/dist/http-logger.middleware.js.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/shield-rate-limit.adapter.d.ts +4 -4
- package/dist/shield-rate-limit.adapter.d.ts.map +1 -1
- package/dist/shield-rate-limit.adapter.js +5 -10
- package/dist/shield-rate-limit.adapter.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/readme.md +5 -3
- package/src/cache-repository-node-cache.adapter.ts +37 -0
- package/src/cache-repository-noop.adapter.ts +20 -0
- package/src/cache-repository.port.ts +11 -0
- package/src/cache-resolver-simple.adapter.ts +36 -0
- package/src/cache-resolver.port.ts +20 -0
- package/src/cache-response.middleware.ts +37 -11
- package/src/environment-loader-process-safe.adapter.ts +10 -10
- package/src/http-logger.middleware.ts +2 -2
- package/src/index.ts +5 -3
- package/src/shield-rate-limit.adapter.ts +12 -15
- package/dist/cache-resolver.service.d.ts +0 -47
- package/dist/cache-resolver.service.d.ts.map +0 -1
- package/dist/cache-resolver.service.js +0 -37
- package/dist/cache-resolver.service.js.map +0 -1
- package/dist/rate-limit-store-node-cache.adapter.d.ts +0 -11
- package/dist/rate-limit-store-node-cache.adapter.d.ts.map +0 -1
- package/dist/rate-limit-store-node-cache.adapter.js +0 -24
- package/dist/rate-limit-store-node-cache.adapter.js.map +0 -1
- package/dist/rate-limit-store.port.d.ts +0 -8
- package/dist/rate-limit-store.port.d.ts.map +0 -1
- package/dist/rate-limit-store.port.js +0 -2
- package/dist/rate-limit-store.port.js.map +0 -1
- package/src/cache-resolver.service.ts +0 -74
- package/src/rate-limit-store-node-cache.adapter.ts +0 -28
- package/src/rate-limit-store.port.ts +0 -9
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type * as tools from "@bgord/tools";
|
|
2
|
+
import type { CacheRepositoryKeyType, CacheRepositoryPort } from "./cache-repository.port";
|
|
3
|
+
export declare class CacheRepositoryNodeCacheAdapter implements CacheRepositoryPort {
|
|
4
|
+
private readonly config;
|
|
5
|
+
private readonly store;
|
|
6
|
+
constructor(config: {
|
|
7
|
+
ttl: tools.Duration;
|
|
8
|
+
});
|
|
9
|
+
get<T>(key: CacheRepositoryKeyType): Promise<T | null>;
|
|
10
|
+
set<T>(key: CacheRepositoryKeyType, value: T): Promise<void>;
|
|
11
|
+
delete(key: CacheRepositoryKeyType): Promise<void>;
|
|
12
|
+
flush(): Promise<void>;
|
|
13
|
+
get ttl(): tools.Duration;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=cache-repository-node-cache.adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-repository-node-cache.adapter.d.ts","sourceRoot":"","sources":["../src/cache-repository-node-cache.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE3F,qBAAa,+BAAgC,YAAW,mBAAmB;IAG7D,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;gBAEL,MAAM,EAAE;QAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAA;KAAE;IAUtD,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAItD,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC;IAI5C,MAAM,CAAC,GAAG,EAAE,sBAAsB;IAIlC,KAAK;IAIX,IAAI,GAAG,mBAEN;CACF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import NodeCache from "node-cache";
|
|
2
|
+
export class CacheRepositoryNodeCacheAdapter {
|
|
3
|
+
config;
|
|
4
|
+
store;
|
|
5
|
+
constructor(config) {
|
|
6
|
+
this.config = config;
|
|
7
|
+
this.store = new NodeCache({
|
|
8
|
+
stdTTL: config.ttl.seconds,
|
|
9
|
+
checkperiod: config.ttl.seconds,
|
|
10
|
+
deleteOnExpire: true,
|
|
11
|
+
maxKeys: 100_000,
|
|
12
|
+
useClones: false,
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
async get(key) {
|
|
16
|
+
return this.store.get(key) ?? null;
|
|
17
|
+
}
|
|
18
|
+
async set(key, value) {
|
|
19
|
+
this.store.set(key, value);
|
|
20
|
+
}
|
|
21
|
+
async delete(key) {
|
|
22
|
+
this.store.del(key);
|
|
23
|
+
}
|
|
24
|
+
async flush() {
|
|
25
|
+
this.store.flushAll();
|
|
26
|
+
}
|
|
27
|
+
get ttl() {
|
|
28
|
+
return this.config.ttl;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=cache-repository-node-cache.adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-repository-node-cache.adapter.js","sourceRoot":"","sources":["../src/cache-repository-node-cache.adapter.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,YAAY,CAAC;AAGnC,MAAM,OAAO,+BAA+B;IAGb;IAFZ,KAAK,CAAY;IAElC,YAA6B,MAA+B;QAA/B,WAAM,GAAN,MAAM,CAAyB;QAC1D,IAAI,CAAC,KAAK,GAAG,IAAI,SAAS,CAAC;YACzB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO;YAC1B,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO;YAC/B,cAAc,EAAE,IAAI;YACpB,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,GAA2B;QACtC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,GAA2B,EAAE,KAAQ;QAChD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAA2B;QACtC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;IACzB,CAAC;CACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type * as tools from "@bgord/tools";
|
|
2
|
+
import type { CacheRepositoryPort } from "./cache-repository.port";
|
|
3
|
+
export declare class CacheRepositoryNoopAdapter implements CacheRepositoryPort {
|
|
4
|
+
private readonly config;
|
|
5
|
+
constructor(config: {
|
|
6
|
+
ttl: tools.Duration;
|
|
7
|
+
});
|
|
8
|
+
get<T>(): Promise<T | null>;
|
|
9
|
+
set(): Promise<void>;
|
|
10
|
+
delete(): Promise<void>;
|
|
11
|
+
flush(): Promise<void>;
|
|
12
|
+
get ttl(): tools.Duration;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=cache-repository-noop.adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-repository-noop.adapter.d.ts","sourceRoot":"","sources":["../src/cache-repository-noop.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,qBAAa,0BAA2B,YAAW,mBAAmB;IACxD,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE;QAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAA;KAAE;IAEtD,GAAG,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAI3B,GAAG;IAEH,MAAM;IAEN,KAAK;IAEX,IAAI,GAAG,mBAEN;CACF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export class CacheRepositoryNoopAdapter {
|
|
2
|
+
config;
|
|
3
|
+
constructor(config) {
|
|
4
|
+
this.config = config;
|
|
5
|
+
}
|
|
6
|
+
async get() {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
async set() { }
|
|
10
|
+
async delete() { }
|
|
11
|
+
async flush() { }
|
|
12
|
+
get ttl() {
|
|
13
|
+
return this.config.ttl;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=cache-repository-noop.adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-repository-noop.adapter.js","sourceRoot":"","sources":["../src/cache-repository-noop.adapter.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,0BAA0B;IACR;IAA7B,YAA6B,MAA+B;QAA/B,WAAM,GAAN,MAAM,CAAyB;IAAG,CAAC;IAEhE,KAAK,CAAC,GAAG;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,GAAG,KAAI,CAAC;IAEd,KAAK,CAAC,MAAM,KAAI,CAAC;IAEjB,KAAK,CAAC,KAAK,KAAI,CAAC;IAEhB,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;IACzB,CAAC;CACF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type * as tools from "@bgord/tools";
|
|
2
|
+
export type CacheRepositoryKeyType = string;
|
|
3
|
+
export interface CacheRepositoryPort {
|
|
4
|
+
get<T>(key: CacheRepositoryKeyType): Promise<T | null>;
|
|
5
|
+
set<T>(key: CacheRepositoryKeyType, value: T): Promise<void>;
|
|
6
|
+
delete(key: CacheRepositoryKeyType): Promise<void>;
|
|
7
|
+
flush(): Promise<void>;
|
|
8
|
+
get ttl(): tools.Duration;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=cache-repository.port.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-repository.port.d.ts","sourceRoot":"","sources":["../src/cache-repository.port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAE5C,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACvD,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,MAAM,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC;CAC3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-repository.port.js","sourceRoot":"","sources":["../src/cache-repository.port.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { CacheRepositoryKeyType, CacheRepositoryPort } from "./cache-repository.port";
|
|
2
|
+
import { type CacheResolverPort, CacheSourceEnum } from "./cache-resolver.port";
|
|
3
|
+
type Dependencies = {
|
|
4
|
+
CacheRepository: CacheRepositoryPort;
|
|
5
|
+
};
|
|
6
|
+
export declare class CacheResolverSimpleAdapter implements CacheResolverPort {
|
|
7
|
+
private readonly deps;
|
|
8
|
+
constructor(deps: Dependencies);
|
|
9
|
+
resolve<T>(key: CacheRepositoryKeyType, producer: () => Promise<T>): Promise<T>;
|
|
10
|
+
resolveWithContext<T>(key: CacheRepositoryKeyType, producer: () => Promise<T>): Promise<{
|
|
11
|
+
value: T;
|
|
12
|
+
source: CacheSourceEnum;
|
|
13
|
+
}>;
|
|
14
|
+
flush(): Promise<void>;
|
|
15
|
+
get ttl(): import("@bgord/tools").Duration;
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=cache-resolver-simple.adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-resolver-simple.adapter.d.ts","sourceRoot":"","sources":["../src/cache-resolver-simple.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC3F,OAAO,EAAE,KAAK,iBAAiB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEhF,KAAK,YAAY,GAAG;IAAE,eAAe,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAE7D,qBAAa,0BAA2B,YAAW,iBAAiB;IACtD,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,YAAY;IAEzC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAM/E,kBAAkB,CAAC,CAAC,EACxB,GAAG,EAAE,sBAAsB,EAC3B,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACzB,OAAO,CAAC;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,MAAM,EAAE,eAAe,CAAA;KAAE,CAAC;IAW3C,KAAK;IAIX,IAAI,GAAG,oCAEN;CACF"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { CacheSourceEnum } from "./cache-resolver.port";
|
|
2
|
+
export class CacheResolverSimpleAdapter {
|
|
3
|
+
deps;
|
|
4
|
+
constructor(deps) {
|
|
5
|
+
this.deps = deps;
|
|
6
|
+
}
|
|
7
|
+
async resolve(key, producer) {
|
|
8
|
+
const result = await this.resolveWithContext(key, producer);
|
|
9
|
+
return result.value;
|
|
10
|
+
}
|
|
11
|
+
async resolveWithContext(key, producer) {
|
|
12
|
+
const cached = await this.deps.CacheRepository.get(key);
|
|
13
|
+
if (cached !== null)
|
|
14
|
+
return { value: cached, source: CacheSourceEnum.hit };
|
|
15
|
+
const value = await producer();
|
|
16
|
+
await this.deps.CacheRepository.set(key, value);
|
|
17
|
+
return { value, source: CacheSourceEnum.miss };
|
|
18
|
+
}
|
|
19
|
+
async flush() {
|
|
20
|
+
await this.deps.CacheRepository.flush();
|
|
21
|
+
}
|
|
22
|
+
get ttl() {
|
|
23
|
+
return this.deps.CacheRepository.ttl;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=cache-resolver-simple.adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-resolver-simple.adapter.js","sourceRoot":"","sources":["../src/cache-resolver-simple.adapter.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIhF,MAAM,OAAO,0BAA0B;IACR;IAA7B,YAA6B,IAAkB;QAAlB,SAAI,GAAJ,IAAI,CAAc;IAAG,CAAC;IAEnD,KAAK,CAAC,OAAO,CAAI,GAA2B,EAAE,QAA0B;QACtE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAE5D,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,GAA2B,EAC3B,QAA0B;QAE1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAI,GAAG,CAAC,CAAC;QAE3D,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,CAAC;QAE3E,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAEhD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;IACvC,CAAC;CACF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type * as tools from "@bgord/tools";
|
|
2
|
+
import type { CacheRepositoryKeyType } from "./cache-repository.port";
|
|
3
|
+
export declare enum CacheSourceEnum {
|
|
4
|
+
hit = "hit",
|
|
5
|
+
miss = ""
|
|
6
|
+
}
|
|
7
|
+
export interface CacheResolverPort {
|
|
8
|
+
resolve<T>(key: CacheRepositoryKeyType, producer: () => Promise<T>): Promise<T>;
|
|
9
|
+
resolveWithContext<T>(key: CacheRepositoryKeyType, producer: () => Promise<T>): Promise<{
|
|
10
|
+
value: T;
|
|
11
|
+
source: CacheSourceEnum;
|
|
12
|
+
}>;
|
|
13
|
+
flush(): Promise<void>;
|
|
14
|
+
get ttl(): tools.Duration;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=cache-resolver.port.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-resolver.port.d.ts","sourceRoot":"","sources":["../src/cache-resolver.port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEtE,oBAAY,eAAe;IACzB,GAAG,QAAQ;IACX,IAAI,KAAK;CACV;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAEhF,kBAAkB,CAAC,CAAC,EAClB,GAAG,EAAE,sBAAsB,EAC3B,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACzB,OAAO,CAAC;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,MAAM,EAAE,eAAe,CAAA;KAAE,CAAC,CAAC;IAElD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB,IAAI,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC;CAC3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-resolver.port.js","sourceRoot":"","sources":["../src/cache-resolver.port.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,8BAAW,CAAA;IACX,4BAAS,CAAA;AACX,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B"}
|
|
@@ -1,9 +1,21 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { Context } from "hono";
|
|
2
|
+
import type { CacheResolverPort } from "./cache-resolver.port";
|
|
3
|
+
type SubjectResolver = (c: Context) => string;
|
|
4
|
+
type Dependencies = {
|
|
5
|
+
CacheResolver: CacheResolverPort;
|
|
6
|
+
};
|
|
7
|
+
type CacheResponseOptions = {
|
|
8
|
+
enabled: boolean;
|
|
9
|
+
subject: SubjectResolver;
|
|
10
|
+
};
|
|
11
|
+
export declare const CacheResponseSubjectUrl: SubjectResolver;
|
|
2
12
|
export declare class CacheResponse {
|
|
3
|
-
private readonly
|
|
13
|
+
private readonly config;
|
|
14
|
+
private readonly deps;
|
|
4
15
|
static readonly CACHE_HIT_HEADER = "Cache-Hit";
|
|
5
|
-
constructor(
|
|
6
|
-
handle: import("hono").MiddlewareHandler<any, string, {}, Response
|
|
16
|
+
constructor(config: CacheResponseOptions, deps: Dependencies);
|
|
17
|
+
handle: import("hono").MiddlewareHandler<any, string, {}, Response>;
|
|
7
18
|
clear: import("hono").MiddlewareHandler<any, string, {}, Response>;
|
|
8
19
|
}
|
|
20
|
+
export {};
|
|
9
21
|
//# sourceMappingURL=cache-response.middleware.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache-response.middleware.d.ts","sourceRoot":"","sources":["../src/cache-response.middleware.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cache-response.middleware.d.ts","sourceRoot":"","sources":["../src/cache-response.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAGpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,KAAK,eAAe,GAAG,CAAC,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC;AAE9C,KAAK,YAAY,GAAG;IAAE,aAAa,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAEzD,KAAK,oBAAoB,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,CAAC;AAE3E,eAAO,MAAM,uBAAuB,EAAE,eAA+D,CAAC;AAQtG,qBAAa,aAAa;IAItB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJvB,MAAM,CAAC,QAAQ,CAAC,gBAAgB,eAAe;gBAG5B,MAAM,EAAE,oBAAoB,EAC5B,IAAI,EAAE,YAAY;IAGrC,MAAM,8DAoBH;IAEH,KAAK,8DAIF;CACJ"}
|
|
@@ -1,22 +1,31 @@
|
|
|
1
1
|
import { createMiddleware } from "hono/factory";
|
|
2
|
-
|
|
2
|
+
export const CacheResponseSubjectUrl = (c) => `cache_response_${c.req.url}`;
|
|
3
3
|
export class CacheResponse {
|
|
4
|
-
|
|
4
|
+
config;
|
|
5
|
+
deps;
|
|
5
6
|
static CACHE_HIT_HEADER = "Cache-Hit";
|
|
6
|
-
constructor(
|
|
7
|
-
this.
|
|
7
|
+
constructor(config, deps) {
|
|
8
|
+
this.config = config;
|
|
9
|
+
this.deps = deps;
|
|
8
10
|
}
|
|
9
11
|
handle = createMiddleware(async (c, next) => {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
if (!this.config.enabled)
|
|
13
|
+
return next();
|
|
14
|
+
const subject = this.config.subject(c);
|
|
15
|
+
const result = await this.deps.CacheResolver.resolveWithContext(subject, async () => {
|
|
16
|
+
await next();
|
|
17
|
+
const response = c.res.clone();
|
|
18
|
+
return {
|
|
19
|
+
body: await response.text(),
|
|
20
|
+
headers: response.headers.toJSON(),
|
|
21
|
+
status: response.status,
|
|
22
|
+
};
|
|
23
|
+
});
|
|
24
|
+
c.header(CacheResponse.CACHE_HIT_HEADER, result.source);
|
|
25
|
+
return c.newResponse(result.value.body, result.value.status, result.value.headers);
|
|
17
26
|
});
|
|
18
27
|
clear = createMiddleware(async (_c, next) => {
|
|
19
|
-
this.
|
|
28
|
+
await this.deps.CacheResolver.flush();
|
|
20
29
|
return next();
|
|
21
30
|
});
|
|
22
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache-response.middleware.js","sourceRoot":"","sources":["../src/cache-response.middleware.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cache-response.middleware.js","sourceRoot":"","sources":["../src/cache-response.middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAUhD,MAAM,CAAC,MAAM,uBAAuB,GAAoB,CAAC,CAAU,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;AAQtG,MAAM,OAAO,aAAa;IAIL;IACA;IAJnB,MAAM,CAAU,gBAAgB,GAAG,WAAW,CAAC;IAE/C,YACmB,MAA4B,EAC5B,IAAkB;QADlB,WAAM,GAAN,MAAM,CAAsB;QAC5B,SAAI,GAAJ,IAAI,CAAc;IAClC,CAAC;IAEJ,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,IAAI,EAAE,CAAC;QAExC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAiB,OAAO,EAAE,KAAK,IAAI,EAAE;YAClG,MAAM,IAAI,EAAE,CAAC;YAEb,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YAE/B,OAAO;gBACL,IAAI,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE;gBAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE;gBAClC,MAAM,EAAE,QAAQ,CAAC,MAA8B;aAChD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAExD,OAAO,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;IAEH,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;QAC1C,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAEtC,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC"}
|
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
import type { z } from "zod/v4";
|
|
2
2
|
import type { NodeEnvironmentEnum } from "../src/node-env.vo";
|
|
3
|
-
import type {
|
|
3
|
+
import type { CacheResolverPort } from "./cache-resolver.port";
|
|
4
|
+
import type { EnvironmentLoaderPort } from "./environment-loader.port";
|
|
5
|
+
type Dependencies = {
|
|
6
|
+
CacheResolver: CacheResolverPort;
|
|
7
|
+
};
|
|
4
8
|
export declare class EnvironmentLoaderProcessSafeAdapter<Schema extends z.ZodObject<any>> implements EnvironmentLoaderPort<Schema> {
|
|
5
|
-
private readonly config;
|
|
6
9
|
private env;
|
|
7
|
-
private
|
|
8
|
-
|
|
10
|
+
private readonly config;
|
|
11
|
+
private readonly deps;
|
|
12
|
+
constructor(env: NodeJS.ProcessEnv, config: {
|
|
9
13
|
type: NodeEnvironmentEnum;
|
|
10
14
|
Schema: Schema;
|
|
11
|
-
},
|
|
12
|
-
load(): Promise<Readonly<
|
|
15
|
+
}, deps: Dependencies);
|
|
16
|
+
load(): Promise<Readonly<z.core.output<Schema> & {
|
|
17
|
+
type: NodeEnvironmentEnum;
|
|
18
|
+
}>>;
|
|
13
19
|
}
|
|
20
|
+
export {};
|
|
14
21
|
//# sourceMappingURL=environment-loader-process-safe.adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment-loader-process-safe.adapter.d.ts","sourceRoot":"","sources":["../src/environment-loader-process-safe.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"environment-loader-process-safe.adapter.d.ts","sourceRoot":"","sources":["../src/environment-loader-process-safe.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE,KAAK,YAAY,GAAG;IAAE,aAAa,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAEzD,qBAAa,mCAAmC,CAAC,MAAM,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAC9E,YAAW,qBAAqB,CAAC,MAAM,CAAC;IAGtC,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAFb,GAAG,EAAE,MAAM,CAAC,UAAU,EACb,MAAM,EAAE;QAAE,IAAI,EAAE,mBAAmB,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EACrD,IAAI,EAAE,YAAY;IAG/B,IAAI;;;CASX"}
|
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
export class EnvironmentLoaderProcessSafeAdapter {
|
|
2
|
-
config;
|
|
3
2
|
env;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
config;
|
|
4
|
+
deps;
|
|
5
|
+
constructor(env, config, deps) {
|
|
7
6
|
this.env = env;
|
|
7
|
+
this.config = config;
|
|
8
|
+
this.deps = deps;
|
|
8
9
|
}
|
|
9
10
|
async load() {
|
|
10
|
-
|
|
11
|
-
return this.cached;
|
|
12
|
-
const result = this.config.Schema.parse(this.env);
|
|
11
|
+
const result = await this.deps.CacheResolver.resolve("env", async () => this.config.Schema.parse(this.env));
|
|
13
12
|
for (const key of Object.keys(result))
|
|
14
13
|
delete process.env[key];
|
|
15
|
-
|
|
16
|
-
return this.cached;
|
|
14
|
+
return Object.freeze({ ...result, type: this.config.type });
|
|
17
15
|
}
|
|
18
16
|
}
|
|
19
17
|
//# sourceMappingURL=environment-loader-process-safe.adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment-loader-process-safe.adapter.js","sourceRoot":"","sources":["../src/environment-loader-process-safe.adapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"environment-loader-process-safe.adapter.js","sourceRoot":"","sources":["../src/environment-loader-process-safe.adapter.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,mCAAmC;IAIpC;IACS;IACA;IAHnB,YACU,GAAsB,EACb,MAAqD,EACrD,IAAkB;QAF3B,QAAG,GAAH,GAAG,CAAmB;QACb,WAAM,GAAN,MAAM,CAA+C;QACrD,SAAI,GAAJ,IAAI,CAAc;IAClC,CAAC;IAEJ,KAAK,CAAC,IAAI;QACR,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CACrE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CACnC,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE/D,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as tools from "@bgord/tools";
|
|
2
2
|
import { createMiddleware } from "hono/factory";
|
|
3
|
-
import {
|
|
3
|
+
import { CacheSourceEnum } from "./cache-resolver.port";
|
|
4
4
|
import { CacheResponse } from "./cache-response.middleware";
|
|
5
5
|
import { ClientFromHonoAdapter } from "./client-from-hono.adapter";
|
|
6
6
|
const UNINFORMATIVE_HEADERS = [
|
|
@@ -67,7 +67,7 @@ export class HttpLogger {
|
|
|
67
67
|
status: response.status,
|
|
68
68
|
durationMs: duration.ms,
|
|
69
69
|
client,
|
|
70
|
-
cacheHit: response.headers.get(CacheResponse.CACHE_HIT_HEADER) ===
|
|
70
|
+
cacheHit: response.headers.get(CacheResponse.CACHE_HIT_HEADER) === CacheSourceEnum.hit,
|
|
71
71
|
metadata: { response: await HttpLogger.parseJSON(response) },
|
|
72
72
|
});
|
|
73
73
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-logger.middleware.js","sourceRoot":"","sources":["../src/http-logger.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"http-logger.middleware.js","sourceRoot":"","sources":["../src/http-logger.middleware.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -9,7 +9,11 @@ export * from "./better-auth-logger.service";
|
|
|
9
9
|
export * from "./binary.vo";
|
|
10
10
|
export * from "./build-info-repository.service";
|
|
11
11
|
export * from "./cache-file.service";
|
|
12
|
-
export * from "./cache-
|
|
12
|
+
export * from "./cache-repository.port";
|
|
13
|
+
export * from "./cache-repository-node-cache.adapter";
|
|
14
|
+
export * from "./cache-repository-noop.adapter";
|
|
15
|
+
export * from "./cache-resolver.port";
|
|
16
|
+
export * from "./cache-resolver-simple.adapter";
|
|
13
17
|
export * from "./cache-response.middleware";
|
|
14
18
|
export * from "./certificate-inspector.port";
|
|
15
19
|
export * from "./certificate-inspector-noop.adapter";
|
|
@@ -145,8 +149,6 @@ export * from "./pdf-generator-noop.adapter";
|
|
|
145
149
|
export * from "./port.vo";
|
|
146
150
|
export * from "./prerequisites/index";
|
|
147
151
|
export * from "./prerequisites.service";
|
|
148
|
-
export * from "./rate-limit-store.port";
|
|
149
|
-
export * from "./rate-limit-store-node-cache.adapter";
|
|
150
152
|
export * from "./recaptcha-secret-key.vo";
|
|
151
153
|
export * from "./recaptcha-site-key.vo";
|
|
152
154
|
export * from "./redactor.port";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,aAAa,CAAC;AAC5B,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC;AACrC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,aAAa,CAAC;AAC5B,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC;AACpD,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC;AACnD,cAAc,sCAAsC,CAAC;AACrD,cAAc,oCAAoC,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kCAAkC,CAAC;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sCAAsC,CAAC;AACrD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AACpD,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mCAAmC,CAAC;AAClD,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0CAA0C,CAAC;AACzD,cAAc,iCAAiC,CAAC;AAChD,cAAc,eAAe,CAAC;AAC9B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mCAAmC,CAAC;AAClD,cAAc,2BAA2B,CAAC;AAE1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAC7C,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,WAAW,MAAM,uBAAuB,CAAC;AACrD,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kCAAkC,CAAC;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,yCAAyC,CAAC;AACxD,cAAc,oCAAoC,CAAC;AACnD,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -9,7 +9,11 @@ export * from "./better-auth-logger.service";
|
|
|
9
9
|
export * from "./binary.vo";
|
|
10
10
|
export * from "./build-info-repository.service";
|
|
11
11
|
export * from "./cache-file.service";
|
|
12
|
-
export * from "./cache-
|
|
12
|
+
export * from "./cache-repository.port";
|
|
13
|
+
export * from "./cache-repository-node-cache.adapter";
|
|
14
|
+
export * from "./cache-repository-noop.adapter";
|
|
15
|
+
export * from "./cache-resolver.port";
|
|
16
|
+
export * from "./cache-resolver-simple.adapter";
|
|
13
17
|
export * from "./cache-response.middleware";
|
|
14
18
|
export * from "./certificate-inspector.port";
|
|
15
19
|
export * from "./certificate-inspector-noop.adapter";
|
|
@@ -146,8 +150,6 @@ export * from "./pdf-generator-noop.adapter";
|
|
|
146
150
|
export * from "./port.vo";
|
|
147
151
|
export * from "./prerequisites/index";
|
|
148
152
|
export * from "./prerequisites.service";
|
|
149
|
-
export * from "./rate-limit-store.port";
|
|
150
|
-
export * from "./rate-limit-store-node-cache.adapter";
|
|
151
153
|
export * from "./recaptcha-secret-key.vo";
|
|
152
154
|
export * from "./recaptcha-site-key.vo";
|
|
153
155
|
export * from "./redactor.port";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,aAAa,CAAC;AAC5B,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC;AACrC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import type { Context } from "hono";
|
|
2
2
|
import { HTTPException } from "hono/http-exception";
|
|
3
|
+
import type { CacheResolverPort } from "./cache-resolver.port";
|
|
3
4
|
import type { ClockPort } from "./clock.port";
|
|
4
|
-
import type { RateLimitStorePort } from "./rate-limit-store.port";
|
|
5
5
|
import type { ShieldPort } from "./shield.port";
|
|
6
6
|
type SubjectResolver = (c: Context) => string;
|
|
7
7
|
type ShieldRateLimitOptionsType = {
|
|
8
8
|
enabled: boolean;
|
|
9
|
-
store: RateLimitStorePort;
|
|
10
9
|
subject: SubjectResolver;
|
|
11
10
|
};
|
|
12
11
|
type Dependencies = {
|
|
13
12
|
Clock: ClockPort;
|
|
13
|
+
CacheResolver: CacheResolverPort;
|
|
14
14
|
};
|
|
15
|
-
export declare const
|
|
16
|
-
export declare const
|
|
15
|
+
export declare const RateLimitSubjectAnon: SubjectResolver;
|
|
16
|
+
export declare const RateLimitSubjectUser: SubjectResolver;
|
|
17
17
|
export declare const TooManyRequestsError: HTTPException;
|
|
18
18
|
export declare class ShieldRateLimitAdapter implements ShieldPort {
|
|
19
19
|
private readonly options;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shield-rate-limit.adapter.d.ts","sourceRoot":"","sources":["../src/shield-rate-limit.adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"shield-rate-limit.adapter.d.ts","sourceRoot":"","sources":["../src/shield-rate-limit.adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,KAAK,eAAe,GAAG,CAAC,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC;AAC9C,KAAK,0BAA0B,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,CAAC;AAEjF,KAAK,YAAY,GAAG;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,aAAa,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAE3E,eAAO,MAAM,oBAAoB,EAAE,eAAuD,CAAC;AAC3F,eAAO,MAAM,oBAAoB,EAAE,eAC2D,CAAC;AAE/F,eAAO,MAAM,oBAAoB,eAA+D,CAAC;AAEjG,qBAAa,sBAAuB,YAAW,UAAU;IAErD,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADJ,OAAO,EAAE,0BAA0B,EACnC,IAAI,EAAE,YAAY;IAGrC,MAAM,8DAeH;CACJ"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as tools from "@bgord/tools";
|
|
2
2
|
import { createMiddleware } from "hono/factory";
|
|
3
3
|
import { HTTPException } from "hono/http-exception";
|
|
4
|
-
export const
|
|
5
|
-
export const
|
|
4
|
+
export const RateLimitSubjectAnon = (c) => `rate_limit_${c.req.url}_anon`;
|
|
5
|
+
export const RateLimitSubjectUser = (c) => c.get("user")?.id ? `rate_limit_${c.req.url}_${c.get("user")?.id}` : RateLimitSubjectAnon(c);
|
|
6
6
|
export const TooManyRequestsError = new HTTPException(429, { message: "app.too_many_requests" });
|
|
7
7
|
export class ShieldRateLimitAdapter {
|
|
8
8
|
options;
|
|
@@ -15,15 +15,10 @@ export class ShieldRateLimitAdapter {
|
|
|
15
15
|
if (!this.options.enabled)
|
|
16
16
|
return next();
|
|
17
17
|
const subject = this.options.subject(c);
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
this.options.store.set(subject, limiter);
|
|
22
|
-
}
|
|
23
|
-
const check = limiter.verify(this.deps.Clock.now());
|
|
24
|
-
if (!check.allowed)
|
|
18
|
+
const limiter = await this.deps.CacheResolver.resolve(subject, async () => new tools.RateLimiter(this.deps.CacheResolver.ttl));
|
|
19
|
+
const result = limiter.verify(this.deps.Clock.now());
|
|
20
|
+
if (!result.allowed)
|
|
25
21
|
throw TooManyRequestsError;
|
|
26
|
-
this.options.store.set(subject, limiter);
|
|
27
22
|
return next();
|
|
28
23
|
});
|
|
29
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shield-rate-limit.adapter.js","sourceRoot":"","sources":["../src/shield-rate-limit.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAUpD,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"shield-rate-limit.adapter.js","sourceRoot":"","sources":["../src/shield-rate-limit.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAUpD,MAAM,CAAC,MAAM,oBAAoB,GAAoB,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;AAC3F,MAAM,CAAC,MAAM,oBAAoB,GAAoB,CAAC,CAAC,EAAE,EAAE,CACzD,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAE/F,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,aAAa,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC,CAAC;AAEjG,MAAM,OAAO,sBAAsB;IAEd;IACA;IAFnB,YACmB,OAAmC,EACnC,IAAkB;QADlB,YAAO,GAAP,OAAO,CAA4B;QACnC,SAAI,GAAJ,IAAI,CAAc;IAClC,CAAC;IAEJ,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QAC1C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO;YAAE,OAAO,IAAI,EAAE,CAAC;QAEzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAExC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CACnD,OAAO,EACP,KAAK,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAC/D,CAAC;QAEF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAErD,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,oBAAoB,CAAC;QAEhD,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;CACJ"}
|