@prosopo/api-express-router 3.0.47 → 3.1.17
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/.turbo/turbo-build$colon$cjs.log +10 -6
- package/.turbo/turbo-build$colon$tsc.log +27 -21
- package/.turbo/turbo-build.log +11 -7
- package/CHANGELOG.md +325 -0
- package/dist/cjs/endpointAdapter/apiExpressDefaultEndpointAdapter.cjs +2 -1
- package/dist/cjs/middlewares/requestLoggerMiddleware.cjs +14 -4
- package/dist/endpointAdapter/apiExpressDefaultEndpointAdapter.d.ts +1 -1
- package/dist/endpointAdapter/apiExpressDefaultEndpointAdapter.d.ts.map +1 -1
- package/dist/endpointAdapter/apiExpressDefaultEndpointAdapter.js +2 -1
- package/dist/endpointAdapter/apiExpressDefaultEndpointAdapter.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/middlewares/requestLoggerMiddleware.d.ts.map +1 -1
- package/dist/middlewares/requestLoggerMiddleware.js +11 -1
- package/dist/middlewares/requestLoggerMiddleware.js.map +1 -1
- package/dist/tests/unit/middlewares/authMiddleware.unit.test.js +2 -1
- package/dist/tests/unit/middlewares/authMiddleware.unit.test.js.map +1 -1
- package/express.d.ts +3 -1
- package/package.json +14 -8
- package/src/apiExpressRouterFactory.ts +68 -0
- package/src/endpointAdapter/apiExpressDefaultEndpointAdapter.ts +65 -0
- package/src/endpointAdapter/apiExpressEndpointAdapter.ts +28 -0
- package/src/errorHandler.ts +33 -0
- package/src/index.ts +37 -0
- package/src/middlewares/authMiddleware.ts +93 -0
- package/src/middlewares/requestLoggerMiddleware.ts +55 -0
- package/src/tests/unit/errorHandler.unit.test.ts +190 -0
- package/src/tests/unit/middlewares/authMiddleware.unit.test.ts +183 -0
- package/tsconfig.cjs.json +34 -0
- package/tsconfig.json +41 -0
- package/tsconfig.tsbuildinfo +1 -0
- package/tsconfig.types.json +9 -0
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/api-express-router@3.
|
|
2
|
+
> @prosopo/api-express-router@3.1.17 build:cjs
|
|
3
3
|
> NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
|
|
4
4
|
|
|
5
5
|
ViteCommonJSConfig: .
|
|
6
6
|
{
|
|
7
7
|
tsConfigPaths: [
|
|
8
8
|
'/home/runner/work/captcha/captcha/packages/api-route/tsconfig.json',
|
|
9
|
+
'/home/runner/work/captcha/captcha/packages/logger/tsconfig.json',
|
|
10
|
+
'/home/runner/work/captcha/captcha/packages/util/tsconfig.json',
|
|
9
11
|
'/home/runner/work/captcha/captcha/packages/common/tsconfig.json',
|
|
10
12
|
'/home/runner/work/captcha/captcha/packages/locale/tsconfig.json',
|
|
11
13
|
'/home/runner/work/captcha/captcha/packages/types/tsconfig.json',
|
|
12
|
-
'/home/runner/work/captcha/captcha/packages/util/tsconfig.json',
|
|
13
14
|
'/home/runner/work/captcha/captcha/packages/util-crypto/tsconfig.json',
|
|
14
15
|
'/home/runner/work/captcha/captcha/packages/env/tsconfig.json',
|
|
16
|
+
'/home/runner/work/captcha/captcha/packages/ipinfo/tsconfig.json',
|
|
15
17
|
'/home/runner/work/captcha/captcha/packages/database/tsconfig.json',
|
|
16
18
|
'/home/runner/work/captcha/captcha/packages/types-database/tsconfig.json',
|
|
17
19
|
'/home/runner/work/captcha/captcha/packages/user-access-policy/tsconfig.json',
|
|
@@ -24,12 +26,14 @@ ViteCommonJSConfig: .
|
|
|
24
26
|
{
|
|
25
27
|
externals: [
|
|
26
28
|
'@prosopo/api-route',
|
|
29
|
+
'@prosopo/logger',
|
|
30
|
+
'@prosopo/util',
|
|
27
31
|
'@prosopo/common',
|
|
28
32
|
'@prosopo/locale',
|
|
29
33
|
'@prosopo/types',
|
|
30
|
-
'@prosopo/util',
|
|
31
34
|
'@prosopo/util-crypto',
|
|
32
35
|
'@prosopo/env',
|
|
36
|
+
'@prosopo/ipinfo',
|
|
33
37
|
'@prosopo/database',
|
|
34
38
|
'@prosopo/types-database',
|
|
35
39
|
'@prosopo/user-access-policy',
|
|
@@ -46,9 +50,9 @@ Build end
|
|
|
46
50
|
[32m✓[39m 6 modules transformed.
|
|
47
51
|
rendering chunks...
|
|
48
52
|
[2mdist/cjs/[22m[36merrorHandler.cjs [39m[1m[2m0.49 kB[22m[1m[22m
|
|
49
|
-
[2mdist/cjs/[22m[36mmiddlewares/requestLoggerMiddleware.cjs [39m[1m[2m0.69 kB[22m[1m[22m
|
|
50
53
|
[2mdist/cjs/[22m[36mapiExpressRouterFactory.cjs [39m[1m[2m0.92 kB[22m[1m[22m
|
|
51
|
-
[2mdist/cjs/[22m[
|
|
54
|
+
[2mdist/cjs/[22m[36mmiddlewares/requestLoggerMiddleware.cjs [39m[1m[2m1.06 kB[22m[1m[22m
|
|
55
|
+
[2mdist/cjs/[22m[36mendpointAdapter/apiExpressDefaultEndpointAdapter.cjs [39m[1m[2m1.13 kB[22m[1m[22m
|
|
52
56
|
[2mdist/cjs/[22m[36mindex.cjs [39m[1m[2m1.16 kB[22m[1m[22m
|
|
53
57
|
[2mdist/cjs/[22m[36mmiddlewares/authMiddleware.cjs [39m[1m[2m1.86 kB[22m[1m[22m
|
|
54
|
-
[32m✓ built in
|
|
58
|
+
[32m✓ built in 111ms[39m
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/api-express-router@3.
|
|
2
|
+
> @prosopo/api-express-router@3.1.17 build:tsc
|
|
3
3
|
> tsc --build --verbose
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
8:15:21 AM - Projects in this build:
|
|
6
6
|
* ../../dev/config/tsconfig.json
|
|
7
|
-
* ../locale/tsconfig.json
|
|
8
7
|
* ../util/tsconfig.json
|
|
8
|
+
* ../logger/tsconfig.json
|
|
9
|
+
* ../api-route/tsconfig.json
|
|
10
|
+
* ../locale/tsconfig.json
|
|
9
11
|
* ../util-crypto/tsconfig.json
|
|
10
12
|
* ../types/tsconfig.json
|
|
11
13
|
* ../common/tsconfig.json
|
|
12
|
-
* ../
|
|
14
|
+
* ../ipinfo/tsconfig.json
|
|
13
15
|
* ../redis-client/tsconfig.json
|
|
14
16
|
* ../api/tsconfig.json
|
|
15
17
|
* ../user-access-policy/tsconfig.json
|
|
@@ -20,37 +22,41 @@
|
|
|
20
22
|
* ../env/tsconfig.json
|
|
21
23
|
* tsconfig.json
|
|
22
24
|
|
|
23
|
-
|
|
25
|
+
8:15:21 AM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/webpack/webpack.config.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
|
|
26
|
+
|
|
27
|
+
8:15:21 AM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
|
|
28
|
+
|
|
29
|
+
8:15:21 AM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/tsconfig.tsbuildinfo'
|
|
24
30
|
|
|
25
|
-
|
|
31
|
+
8:15:21 AM - Project '../api-route/tsconfig.json' is up to date because newest input '../api-route/src/apiRoutes.ts' is older than output '../api-route/tsconfig.tsbuildinfo'
|
|
26
32
|
|
|
27
|
-
|
|
33
|
+
8:15:21 AM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
|
|
28
34
|
|
|
29
|
-
|
|
35
|
+
8:15:21 AM - Project '../util-crypto/tsconfig.json' is up to date because newest input '../util-crypto/src/types.ts' is older than output '../util-crypto/tsconfig.tsbuildinfo'
|
|
30
36
|
|
|
31
|
-
|
|
37
|
+
8:15:21 AM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/procaptcha/api.ts' is older than output '../types/tsconfig.tsbuildinfo'
|
|
32
38
|
|
|
33
|
-
|
|
39
|
+
8:15:21 AM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/error.ts' is older than output '../common/tsconfig.tsbuildinfo'
|
|
34
40
|
|
|
35
|
-
|
|
41
|
+
8:15:22 AM - Project '../ipinfo/tsconfig.json' is up to date because newest input '../ipinfo/src/IpInfoService.ts' is older than output '../ipinfo/tsconfig.tsbuildinfo'
|
|
36
42
|
|
|
37
|
-
|
|
43
|
+
8:15:22 AM - Project '../redis-client/tsconfig.json' is up to date because newest input '../redis-client/src/index.ts' is older than output '../redis-client/tsconfig.tsbuildinfo'
|
|
38
44
|
|
|
39
|
-
|
|
45
|
+
8:15:22 AM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/index.ts' is older than output '../api/tsconfig.tsbuildinfo'
|
|
40
46
|
|
|
41
|
-
|
|
47
|
+
8:15:22 AM - Project '../user-access-policy/tsconfig.json' is up to date because newest input '../user-access-policy/src/transformRule.ts' is older than output '../user-access-policy/tsconfig.tsbuildinfo'
|
|
42
48
|
|
|
43
|
-
|
|
49
|
+
8:15:22 AM - Project '../types-database/tsconfig.json' is up to date because newest input '../types-database/src/types/bannedDomain.ts' is older than output '../types-database/tsconfig.tsbuildinfo'
|
|
44
50
|
|
|
45
|
-
|
|
51
|
+
8:15:22 AM - Project '../database/tsconfig.json' is up to date because newest input '../database/src/tests/integration/ipInfoPersistence.integration.test.ts' is older than output '../database/tsconfig.tsbuildinfo'
|
|
46
52
|
|
|
47
|
-
|
|
53
|
+
8:15:22 AM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/index.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
|
|
48
54
|
|
|
49
|
-
|
|
55
|
+
8:15:22 AM - Project '../types-env/tsconfig.json' is up to date because newest input '../types-env/src/index.ts' is older than output '../types-env/tsconfig.tsbuildinfo'
|
|
50
56
|
|
|
51
|
-
|
|
57
|
+
8:15:22 AM - Project '../env/tsconfig.json' is up to date because newest input '../env/src/env.ts' is older than output '../env/tsconfig.tsbuildinfo'
|
|
52
58
|
|
|
53
|
-
|
|
59
|
+
8:15:22 AM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
|
|
54
60
|
|
|
55
|
-
|
|
61
|
+
8:15:22 AM - Building project '/home/runner/work/captcha/captcha/packages/api-express-router/tsconfig.json'...
|
|
56
62
|
|
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/api-express-router@3.
|
|
2
|
+
> @prosopo/api-express-router@3.1.17 build
|
|
3
3
|
> npm run build:cross-env -- --mode ${NODE_ENV:-development}
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
> @prosopo/api-express-router@3.
|
|
6
|
+
> @prosopo/api-express-router@3.1.17 build:cross-env
|
|
7
7
|
> vite build --config vite.esm.config.ts --mode production
|
|
8
8
|
|
|
9
9
|
ViteEsmConfig: .
|
|
10
10
|
{
|
|
11
11
|
tsConfigPaths: [
|
|
12
12
|
'/home/runner/work/captcha/captcha/packages/api-route/tsconfig.json',
|
|
13
|
+
'/home/runner/work/captcha/captcha/packages/logger/tsconfig.json',
|
|
14
|
+
'/home/runner/work/captcha/captcha/packages/util/tsconfig.json',
|
|
13
15
|
'/home/runner/work/captcha/captcha/packages/common/tsconfig.json',
|
|
14
16
|
'/home/runner/work/captcha/captcha/packages/locale/tsconfig.json',
|
|
15
17
|
'/home/runner/work/captcha/captcha/packages/types/tsconfig.json',
|
|
16
|
-
'/home/runner/work/captcha/captcha/packages/util/tsconfig.json',
|
|
17
18
|
'/home/runner/work/captcha/captcha/packages/util-crypto/tsconfig.json',
|
|
18
19
|
'/home/runner/work/captcha/captcha/packages/env/tsconfig.json',
|
|
20
|
+
'/home/runner/work/captcha/captcha/packages/ipinfo/tsconfig.json',
|
|
19
21
|
'/home/runner/work/captcha/captcha/packages/database/tsconfig.json',
|
|
20
22
|
'/home/runner/work/captcha/captcha/packages/types-database/tsconfig.json',
|
|
21
23
|
'/home/runner/work/captcha/captcha/packages/user-access-policy/tsconfig.json',
|
|
@@ -28,12 +30,14 @@ ViteEsmConfig: .
|
|
|
28
30
|
{
|
|
29
31
|
externals: [
|
|
30
32
|
'@prosopo/api-route',
|
|
33
|
+
'@prosopo/logger',
|
|
34
|
+
'@prosopo/util',
|
|
31
35
|
'@prosopo/common',
|
|
32
36
|
'@prosopo/locale',
|
|
33
37
|
'@prosopo/types',
|
|
34
|
-
'@prosopo/util',
|
|
35
38
|
'@prosopo/util-crypto',
|
|
36
39
|
'@prosopo/env',
|
|
40
|
+
'@prosopo/ipinfo',
|
|
37
41
|
'@prosopo/database',
|
|
38
42
|
'@prosopo/types-database',
|
|
39
43
|
'@prosopo/user-access-policy',
|
|
@@ -50,9 +54,9 @@ Build end
|
|
|
50
54
|
[32m✓[39m 6 modules transformed.
|
|
51
55
|
rendering chunks...
|
|
52
56
|
[2mdist/[22m[36merrorHandler.js [39m[1m[2m0.39 kB[22m[1m[22m
|
|
53
|
-
[2mdist/[22m[36mmiddlewares/requestLoggerMiddleware.js [39m[1m[2m0.58 kB[22m[1m[22m
|
|
54
57
|
[2mdist/[22m[36mindex.js [39m[1m[2m0.78 kB[22m[1m[22m
|
|
55
58
|
[2mdist/[22m[36mapiExpressRouterFactory.js [39m[1m[2m0.78 kB[22m[1m[22m
|
|
56
|
-
[2mdist/[22m[
|
|
59
|
+
[2mdist/[22m[36mmiddlewares/requestLoggerMiddleware.js [39m[1m[2m0.94 kB[22m[1m[22m
|
|
60
|
+
[2mdist/[22m[36mendpointAdapter/apiExpressDefaultEndpointAdapter.js [39m[1m[2m1.02 kB[22m[1m[22m
|
|
57
61
|
[2mdist/[22m[36mmiddlewares/authMiddleware.js [39m[1m[2m1.73 kB[22m[1m[22m
|
|
58
|
-
[32m✓ built in
|
|
62
|
+
[32m✓ built in 192ms[39m
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,330 @@
|
|
|
1
1
|
# @prosopo/api-express-router
|
|
2
2
|
|
|
3
|
+
## 3.1.17
|
|
4
|
+
### Patch Changes
|
|
5
|
+
|
|
6
|
+
- Updated dependencies [a1d60db]
|
|
7
|
+
- Updated dependencies [2392aaf]
|
|
8
|
+
- Updated dependencies [97cf7bd]
|
|
9
|
+
- Updated dependencies [6ca1125]
|
|
10
|
+
- Updated dependencies [32a591b]
|
|
11
|
+
- @prosopo/types@4.3.0
|
|
12
|
+
- @prosopo/logger@1.0.2
|
|
13
|
+
- @prosopo/common@3.1.38
|
|
14
|
+
- @prosopo/env@3.5.7
|
|
15
|
+
- @prosopo/api-route@2.6.46
|
|
16
|
+
|
|
17
|
+
## 3.1.16
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- Updated dependencies [6c26669]
|
|
21
|
+
- Updated dependencies [f7f9ec5]
|
|
22
|
+
- @prosopo/types@4.2.1
|
|
23
|
+
- @prosopo/env@3.5.6
|
|
24
|
+
|
|
25
|
+
## 3.1.15
|
|
26
|
+
### Patch Changes
|
|
27
|
+
|
|
28
|
+
- 0fd81af: Extract the logger into its own `@prosopo/logger` package, out of `@prosopo/common`. Consumers now import logger symbols from `@prosopo/logger`; `@prosopo/common` no longer re-exports them. Unused `@prosopo/common` dependencies pruned where the only usage was the logger.
|
|
29
|
+
- Updated dependencies [0fd81af]
|
|
30
|
+
- @prosopo/api-route@2.6.45
|
|
31
|
+
- @prosopo/common@3.1.37
|
|
32
|
+
- @prosopo/env@3.5.5
|
|
33
|
+
- @prosopo/logger@1.0.1
|
|
34
|
+
|
|
35
|
+
## 3.1.14
|
|
36
|
+
### Patch Changes
|
|
37
|
+
|
|
38
|
+
- Updated dependencies [20cae63]
|
|
39
|
+
- Updated dependencies [4d9923e]
|
|
40
|
+
- @prosopo/types@4.2.0
|
|
41
|
+
- @prosopo/env@3.5.4
|
|
42
|
+
|
|
43
|
+
## 3.1.13
|
|
44
|
+
### Patch Changes
|
|
45
|
+
|
|
46
|
+
- Updated dependencies [d351362]
|
|
47
|
+
- @prosopo/types@4.1.4
|
|
48
|
+
- @prosopo/env@3.5.3
|
|
49
|
+
|
|
50
|
+
## 3.1.12
|
|
51
|
+
### Patch Changes
|
|
52
|
+
|
|
53
|
+
- Updated dependencies [e2711ae]
|
|
54
|
+
- Updated dependencies [5786629]
|
|
55
|
+
- @prosopo/types@4.1.3
|
|
56
|
+
- @prosopo/locale@3.2.4
|
|
57
|
+
- @prosopo/common@3.1.36
|
|
58
|
+
- @prosopo/env@3.5.2
|
|
59
|
+
- @prosopo/api-route@2.6.44
|
|
60
|
+
|
|
61
|
+
## 3.1.11
|
|
62
|
+
### Patch Changes
|
|
63
|
+
|
|
64
|
+
- @prosopo/types@4.1.2
|
|
65
|
+
- @prosopo/env@3.5.1
|
|
66
|
+
|
|
67
|
+
## 3.1.10
|
|
68
|
+
### Patch Changes
|
|
69
|
+
|
|
70
|
+
- Updated dependencies [53bfd45]
|
|
71
|
+
- Updated dependencies [91958da]
|
|
72
|
+
- @prosopo/locale@3.2.3
|
|
73
|
+
- @prosopo/env@3.5.0
|
|
74
|
+
- @prosopo/types@4.1.1
|
|
75
|
+
- @prosopo/common@3.1.35
|
|
76
|
+
- @prosopo/api-route@2.6.43
|
|
77
|
+
|
|
78
|
+
## 3.1.9
|
|
79
|
+
### Patch Changes
|
|
80
|
+
|
|
81
|
+
- Updated dependencies [6a741ce]
|
|
82
|
+
- @prosopo/types@4.1.0
|
|
83
|
+
- @prosopo/env@3.4.9
|
|
84
|
+
|
|
85
|
+
## 3.1.8
|
|
86
|
+
### Patch Changes
|
|
87
|
+
|
|
88
|
+
- Updated dependencies [3c0be68]
|
|
89
|
+
- Updated dependencies [f9ea09d]
|
|
90
|
+
- Updated dependencies [4aae4e6]
|
|
91
|
+
- Updated dependencies [d865319]
|
|
92
|
+
- Updated dependencies [753304b]
|
|
93
|
+
- Updated dependencies [8bb7286]
|
|
94
|
+
- Updated dependencies [f9ea09d]
|
|
95
|
+
- Updated dependencies [4aae4e6]
|
|
96
|
+
- Updated dependencies [4993813]
|
|
97
|
+
- @prosopo/types@4.0.0
|
|
98
|
+
- @prosopo/locale@3.2.2
|
|
99
|
+
- @prosopo/common@3.1.34
|
|
100
|
+
- @prosopo/env@3.4.8
|
|
101
|
+
- @prosopo/api-route@2.6.42
|
|
102
|
+
|
|
103
|
+
## 3.1.7
|
|
104
|
+
### Patch Changes
|
|
105
|
+
|
|
106
|
+
- Updated dependencies [819ed95]
|
|
107
|
+
- @prosopo/types@3.16.1
|
|
108
|
+
- @prosopo/env@3.4.7
|
|
109
|
+
|
|
110
|
+
## 3.1.6
|
|
111
|
+
### Patch Changes
|
|
112
|
+
|
|
113
|
+
- @prosopo/env@3.4.6
|
|
114
|
+
|
|
115
|
+
## 3.1.5
|
|
116
|
+
### Patch Changes
|
|
117
|
+
|
|
118
|
+
- @prosopo/env@3.4.5
|
|
119
|
+
|
|
120
|
+
## 3.1.4
|
|
121
|
+
### Patch Changes
|
|
122
|
+
|
|
123
|
+
- @prosopo/env@3.4.4
|
|
124
|
+
|
|
125
|
+
## 3.1.3
|
|
126
|
+
### Patch Changes
|
|
127
|
+
|
|
128
|
+
- Updated dependencies [f6a4402]
|
|
129
|
+
- Updated dependencies [99dfb44]
|
|
130
|
+
- @prosopo/types@3.16.0
|
|
131
|
+
- @prosopo/env@3.4.3
|
|
132
|
+
|
|
133
|
+
## 3.1.2
|
|
134
|
+
### Patch Changes
|
|
135
|
+
|
|
136
|
+
- Updated dependencies [3e54c0a]
|
|
137
|
+
- @prosopo/types@3.15.0
|
|
138
|
+
- @prosopo/env@3.4.2
|
|
139
|
+
|
|
140
|
+
## 3.1.1
|
|
141
|
+
### Patch Changes
|
|
142
|
+
|
|
143
|
+
- Updated dependencies [946a8ba]
|
|
144
|
+
- Updated dependencies [5614814]
|
|
145
|
+
- Updated dependencies [b94890c]
|
|
146
|
+
- @prosopo/types@3.14.1
|
|
147
|
+
- @prosopo/locale@3.2.1
|
|
148
|
+
- @prosopo/common@3.1.33
|
|
149
|
+
- @prosopo/env@3.4.1
|
|
150
|
+
- @prosopo/api-route@2.6.41
|
|
151
|
+
|
|
152
|
+
## 3.1.0
|
|
153
|
+
### Minor Changes
|
|
154
|
+
|
|
155
|
+
- 42650db: Add better spam rules and move ipinfo service to local instead of external
|
|
156
|
+
|
|
157
|
+
### Patch Changes
|
|
158
|
+
|
|
159
|
+
- Updated dependencies [fc514dd]
|
|
160
|
+
- Updated dependencies [42650db]
|
|
161
|
+
- @prosopo/locale@3.2.0
|
|
162
|
+
- @prosopo/types@3.14.0
|
|
163
|
+
- @prosopo/env@3.4.0
|
|
164
|
+
- @prosopo/common@3.1.32
|
|
165
|
+
- @prosopo/api-route@2.6.40
|
|
166
|
+
|
|
167
|
+
## 3.0.70
|
|
168
|
+
### Patch Changes
|
|
169
|
+
|
|
170
|
+
- Updated dependencies [4a9c518]
|
|
171
|
+
- @prosopo/common@3.1.31
|
|
172
|
+
- @prosopo/api-route@2.6.39
|
|
173
|
+
- @prosopo/env@3.3.15
|
|
174
|
+
|
|
175
|
+
## 3.0.69
|
|
176
|
+
### Patch Changes
|
|
177
|
+
|
|
178
|
+
- @prosopo/types@3.13.3
|
|
179
|
+
- @prosopo/env@3.3.14
|
|
180
|
+
|
|
181
|
+
## 3.0.68
|
|
182
|
+
### Patch Changes
|
|
183
|
+
|
|
184
|
+
- @prosopo/types@3.13.2
|
|
185
|
+
- @prosopo/env@3.3.13
|
|
186
|
+
|
|
187
|
+
## 3.0.67
|
|
188
|
+
### Patch Changes
|
|
189
|
+
|
|
190
|
+
- @prosopo/types@3.13.1
|
|
191
|
+
- @prosopo/env@3.3.12
|
|
192
|
+
|
|
193
|
+
## 3.0.66
|
|
194
|
+
### Patch Changes
|
|
195
|
+
|
|
196
|
+
- Updated dependencies [e6d9553]
|
|
197
|
+
- @prosopo/types@3.13.0
|
|
198
|
+
- @prosopo/env@3.3.11
|
|
199
|
+
|
|
200
|
+
## 3.0.65
|
|
201
|
+
### Patch Changes
|
|
202
|
+
|
|
203
|
+
- Updated dependencies [d5082a9]
|
|
204
|
+
- Updated dependencies [e1ea65f]
|
|
205
|
+
- Updated dependencies [c316257]
|
|
206
|
+
- @prosopo/types@3.12.3
|
|
207
|
+
- @prosopo/env@3.3.10
|
|
208
|
+
|
|
209
|
+
## 3.0.64
|
|
210
|
+
### Patch Changes
|
|
211
|
+
|
|
212
|
+
- Updated dependencies [adb89a6]
|
|
213
|
+
- @prosopo/locale@3.1.29
|
|
214
|
+
- @prosopo/types@3.12.2
|
|
215
|
+
- @prosopo/env@3.3.9
|
|
216
|
+
- @prosopo/common@3.1.30
|
|
217
|
+
- @prosopo/api-route@2.6.38
|
|
218
|
+
|
|
219
|
+
## 3.0.63
|
|
220
|
+
### Patch Changes
|
|
221
|
+
|
|
222
|
+
- Updated dependencies [c5ee492]
|
|
223
|
+
- Updated dependencies [a90eb54]
|
|
224
|
+
- @prosopo/common@3.1.29
|
|
225
|
+
- @prosopo/types@3.12.1
|
|
226
|
+
- @prosopo/api-route@2.6.37
|
|
227
|
+
- @prosopo/env@3.3.8
|
|
228
|
+
|
|
229
|
+
## 3.0.62
|
|
230
|
+
### Patch Changes
|
|
231
|
+
|
|
232
|
+
- Updated dependencies [676c5f2]
|
|
233
|
+
- Updated dependencies [feaca02]
|
|
234
|
+
- @prosopo/types@3.12.0
|
|
235
|
+
- @prosopo/env@3.3.7
|
|
236
|
+
|
|
237
|
+
## 3.0.61
|
|
238
|
+
### Patch Changes
|
|
239
|
+
|
|
240
|
+
- Updated dependencies [8148587]
|
|
241
|
+
- @prosopo/types@3.11.1
|
|
242
|
+
- @prosopo/env@3.3.6
|
|
243
|
+
|
|
244
|
+
## 3.0.60
|
|
245
|
+
### Patch Changes
|
|
246
|
+
|
|
247
|
+
- @prosopo/env@3.3.5
|
|
248
|
+
|
|
249
|
+
## 3.0.59
|
|
250
|
+
### Patch Changes
|
|
251
|
+
|
|
252
|
+
- ca7f4ad: Attach site key and user to logger earlier
|
|
253
|
+
- Updated dependencies [7f6ffc5]
|
|
254
|
+
- @prosopo/types@3.11.0
|
|
255
|
+
- @prosopo/env@3.3.4
|
|
256
|
+
|
|
257
|
+
## 3.0.58
|
|
258
|
+
### Patch Changes
|
|
259
|
+
|
|
260
|
+
- Updated dependencies [93fa086]
|
|
261
|
+
- @prosopo/types@3.10.2
|
|
262
|
+
- @prosopo/env@3.3.3
|
|
263
|
+
|
|
264
|
+
## 3.0.57
|
|
265
|
+
### Patch Changes
|
|
266
|
+
|
|
267
|
+
- Updated dependencies [cde7550]
|
|
268
|
+
- @prosopo/types@3.10.1
|
|
269
|
+
- @prosopo/env@3.3.2
|
|
270
|
+
|
|
271
|
+
## 3.0.56
|
|
272
|
+
### Patch Changes
|
|
273
|
+
|
|
274
|
+
- Updated dependencies [ad6d622]
|
|
275
|
+
- @prosopo/types@3.10.0
|
|
276
|
+
- @prosopo/env@3.3.1
|
|
277
|
+
|
|
278
|
+
## 3.0.55
|
|
279
|
+
### Patch Changes
|
|
280
|
+
|
|
281
|
+
- Updated dependencies [ff58a70]
|
|
282
|
+
- @prosopo/types@3.9.0
|
|
283
|
+
- @prosopo/env@3.3.0
|
|
284
|
+
|
|
285
|
+
## 3.0.54
|
|
286
|
+
### Patch Changes
|
|
287
|
+
|
|
288
|
+
- @prosopo/env@3.2.42
|
|
289
|
+
|
|
290
|
+
## 3.0.53
|
|
291
|
+
### Patch Changes
|
|
292
|
+
|
|
293
|
+
- Updated dependencies [d2431cd]
|
|
294
|
+
- @prosopo/types@3.8.4
|
|
295
|
+
- @prosopo/env@3.2.41
|
|
296
|
+
|
|
297
|
+
## 3.0.52
|
|
298
|
+
### Patch Changes
|
|
299
|
+
|
|
300
|
+
- @prosopo/env@3.2.40
|
|
301
|
+
|
|
302
|
+
## 3.0.51
|
|
303
|
+
### Patch Changes
|
|
304
|
+
|
|
305
|
+
- Updated dependencies [bd6995b]
|
|
306
|
+
- @prosopo/types@3.8.3
|
|
307
|
+
- @prosopo/env@3.2.39
|
|
308
|
+
|
|
309
|
+
## 3.0.50
|
|
310
|
+
### Patch Changes
|
|
311
|
+
|
|
312
|
+
- Updated dependencies [9633e58]
|
|
313
|
+
- @prosopo/types@3.8.2
|
|
314
|
+
- @prosopo/env@3.2.38
|
|
315
|
+
|
|
316
|
+
## 3.0.49
|
|
317
|
+
### Patch Changes
|
|
318
|
+
|
|
319
|
+
- Updated dependencies [f52a5c1]
|
|
320
|
+
- @prosopo/types@3.8.1
|
|
321
|
+
- @prosopo/env@3.2.37
|
|
322
|
+
|
|
323
|
+
## 3.0.48
|
|
324
|
+
### Patch Changes
|
|
325
|
+
|
|
326
|
+
- @prosopo/env@3.2.36
|
|
327
|
+
|
|
3
328
|
## 3.0.47
|
|
4
329
|
### Patch Changes
|
|
5
330
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const common = require("@prosopo/common");
|
|
4
|
+
const logger = require("@prosopo/logger");
|
|
4
5
|
class ApiExpressDefaultEndpointAdapter {
|
|
5
6
|
constructor(logLevel, errorStatusCode) {
|
|
6
7
|
this.logLevel = logLevel;
|
|
@@ -22,7 +23,7 @@ class ApiExpressDefaultEndpointAdapter {
|
|
|
22
23
|
args,
|
|
23
24
|
request.logger
|
|
24
25
|
);
|
|
25
|
-
const responseObject =
|
|
26
|
+
const responseObject = logger.stringifyBigInts(apiEndpointResponse);
|
|
26
27
|
response.json(responseObject);
|
|
27
28
|
} catch (error) {
|
|
28
29
|
request.logger.error(() => ({
|
|
@@ -1,19 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const
|
|
3
|
+
const logger = require("@prosopo/logger");
|
|
4
4
|
const uuid = require("uuid");
|
|
5
|
+
const getHeaderValue = (req, headerName) => {
|
|
6
|
+
if (headerName in req.headers && req.headers[headerName]) {
|
|
7
|
+
return req.headers[headerName].toString();
|
|
8
|
+
}
|
|
9
|
+
return void 0;
|
|
10
|
+
};
|
|
5
11
|
function requestLoggerMiddleware(env) {
|
|
6
12
|
return (req, res, next) => {
|
|
7
13
|
const requestId = req.headers["x-request-id"] || `e-${uuid.v4()}`;
|
|
14
|
+
const user = getHeaderValue(req, "prosopo-user");
|
|
15
|
+
const siteKey = getHeaderValue(req, "prosopo-site-key");
|
|
8
16
|
const sessionId = req.body?.sessionId ? req.body.sessionId : null;
|
|
9
|
-
const logger =
|
|
10
|
-
|
|
17
|
+
const logger$1 = logger.getLogger(
|
|
18
|
+
logger.parseLogLevel(env.config.logLevel),
|
|
11
19
|
"request-logger"
|
|
12
20
|
).with({
|
|
13
21
|
requestId,
|
|
22
|
+
...user ? { user } : {},
|
|
23
|
+
...siteKey ? { siteKey } : {},
|
|
14
24
|
...sessionId ? { sessionId } : {}
|
|
15
25
|
});
|
|
16
|
-
req.logger = logger;
|
|
26
|
+
req.logger = logger$1;
|
|
17
27
|
req.requestId = requestId;
|
|
18
28
|
next();
|
|
19
29
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ApiEndpoint } from "@prosopo/api-route";
|
|
2
|
-
import { type LogLevel } from "@prosopo/
|
|
2
|
+
import { type LogLevel } from "@prosopo/logger";
|
|
3
3
|
import type { NextFunction, Request, Response } from "express";
|
|
4
4
|
import type { ZodType } from "zod";
|
|
5
5
|
import type { ApiExpressEndpointAdapter } from "./apiExpressEndpointAdapter.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiExpressDefaultEndpointAdapter.d.ts","sourceRoot":"","sources":["../../src/endpointAdapter/apiExpressDefaultEndpointAdapter.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"apiExpressDefaultEndpointAdapter.d.ts","sourceRoot":"","sources":["../../src/endpointAdapter/apiExpressDefaultEndpointAdapter.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,KAAK,QAAQ,EAAoB,MAAM,iBAAiB,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAEhF,cAAM,gCAAiC,YAAW,yBAAyB;IAEzE,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;gBADf,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,MAAM;IAG5B,aAAa,CACzB,QAAQ,EAAE,WAAW,CAAC,OAAO,GAAG,SAAS,CAAC,EAC1C,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,YAAY,GAChB,OAAO,CAAC,IAAI,CAAC;CA8BhB;AAED,OAAO,EAAE,gCAAgC,EAAE,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { ProsopoApiError
|
|
1
|
+
import { ProsopoApiError } from "@prosopo/common";
|
|
2
|
+
import { stringifyBigInts } from "@prosopo/logger";
|
|
2
3
|
class ApiExpressDefaultEndpointAdapter {
|
|
3
4
|
constructor(logLevel, errorStatusCode) {
|
|
4
5
|
this.logLevel = logLevel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiExpressDefaultEndpointAdapter.js","sourceRoot":"","sources":["../../src/endpointAdapter/apiExpressDefaultEndpointAdapter.ts"],"names":[],"mappings":"AAeA,OAAO,
|
|
1
|
+
{"version":3,"file":"apiExpressDefaultEndpointAdapter.js","sourceRoot":"","sources":["../../src/endpointAdapter/apiExpressDefaultEndpointAdapter.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAiB,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAKlE,MAAM,gCAAgC;IACrC,YACkB,QAAkB,EAClB,eAAuB;QADvB,aAAQ,GAAR,QAAQ,CAAU;QAClB,oBAAe,GAAf,eAAe,CAAQ;IACtC,CAAC;IAEG,KAAK,CAAC,aAAa,CACzB,QAA0C,EAC1C,OAAgB,EAChB,QAAkB,EAClB,IAAkB;QAElB,IAAI,IAAa,CAAC;QAClB,IAAI,CAAC;YACJ,IAAI,GAAG,QAAQ,CAAC,oBAAoB,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,IAAI,CACV,IAAI,eAAe,CAAC,iBAAiB,EAAE;gBACtC,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE;aACpC,CAAC,CACF,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,mBAAmB,GAAG,MAAM,QAAQ,CAAC,cAAc,CACxD,IAAI,EACJ,OAAO,CAAC,MAAM,CACd,CAAC;YAGF,MAAM,cAAc,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;YAE7D,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC3B,GAAG,EAAE,KAAK;aACV,CAAC,CAAC,CAAC;YAEJ,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QACjE,CAAC;IACF,CAAC;CACD;AAED,OAAO,EAAE,gCAAgC,EAAE,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { LogLevel } from "@prosopo/
|
|
1
|
+
import type { LogLevel } from "@prosopo/logger";
|
|
2
2
|
import { ApiExpressRouterFactory } from "./apiExpressRouterFactory.js";
|
|
3
3
|
import type { ApiExpressEndpointAdapter } from "./endpointAdapter/apiExpressEndpointAdapter.js";
|
|
4
4
|
declare const apiExpressRouterFactory: ApiExpressRouterFactory;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestLoggerMiddleware.d.ts","sourceRoot":"","sources":["../../src/middlewares/requestLoggerMiddleware.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"requestLoggerMiddleware.d.ts","sourceRoot":"","sources":["../../src/middlewares/requestLoggerMiddleware.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAa/D,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,mBAAmB,SAClD,OAAO,OAAO,QAAQ,QAAQ,YAAY,UAwBvD"}
|
|
@@ -1,14 +1,24 @@
|
|
|
1
|
-
import { getLogger, parseLogLevel } from "@prosopo/
|
|
1
|
+
import { getLogger, parseLogLevel } from "@prosopo/logger";
|
|
2
2
|
import { v4 } from "uuid";
|
|
3
|
+
const getHeaderValue = (req, headerName) => {
|
|
4
|
+
if (headerName in req.headers && req.headers[headerName]) {
|
|
5
|
+
return req.headers[headerName].toString();
|
|
6
|
+
}
|
|
7
|
+
return void 0;
|
|
8
|
+
};
|
|
3
9
|
function requestLoggerMiddleware(env) {
|
|
4
10
|
return (req, res, next) => {
|
|
5
11
|
const requestId = req.headers["x-request-id"] || `e-${v4()}`;
|
|
12
|
+
const user = getHeaderValue(req, "prosopo-user");
|
|
13
|
+
const siteKey = getHeaderValue(req, "prosopo-site-key");
|
|
6
14
|
const sessionId = req.body?.sessionId ? req.body.sessionId : null;
|
|
7
15
|
const logger = getLogger(
|
|
8
16
|
parseLogLevel(env.config.logLevel),
|
|
9
17
|
"request-logger"
|
|
10
18
|
).with({
|
|
11
19
|
requestId,
|
|
20
|
+
...user ? { user } : {},
|
|
21
|
+
...siteKey ? { siteKey } : {},
|
|
12
22
|
...sessionId ? { sessionId } : {}
|
|
13
23
|
});
|
|
14
24
|
req.logger = logger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestLoggerMiddleware.js","sourceRoot":"","sources":["../../src/middlewares/requestLoggerMiddleware.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"requestLoggerMiddleware.js","sourceRoot":"","sources":["../../src/middlewares/requestLoggerMiddleware.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,MAAM,cAAc,GAAG,CACtB,GAAY,EACZ,UAAkB,EACG,EAAE;IACvB,IAAI,UAAU,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1D,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC3C,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,GAAwB;IAC/D,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QAC1D,MAAM,SAAS,GACb,GAAG,CAAC,OAAO,CAAC,cAAc,CAAY,IAAI,KAAK,MAAM,EAAE,EAAE,CAAC;QAC5D,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAElE,MAAM,MAAM,GAAG,SAAS,CACvB,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAClC,gBAAgB,CAChB,CAAC,IAAI,CAAC;YACN,SAAS;YACT,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnC,CAAC,CAAC;QAGH,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;QACpB,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;QAG1B,IAAI,EAAE,CAAC;IACR,CAAC,CAAC;AACH,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { hexToU8a, isHex } from "@polkadot/util";
|
|
2
|
-
import { ProsopoEnvError
|
|
2
|
+
import { ProsopoEnvError } from "@prosopo/common";
|
|
3
|
+
import { getLogger } from "@prosopo/logger";
|
|
3
4
|
import { describe, expect, it, vi } from "vitest";
|
|
4
5
|
import { authMiddleware } from "../../../middlewares/authMiddleware.js";
|
|
5
6
|
const loggerOuter = getLogger("info", import.meta.url);
|