Skip to content

Commit 9e79818

Browse files
github-actions[bot]Yaros1ove
authored andcommitted
docs: update packages readme (#503)
* docs: update packages readme * translations: for package expresskit --------- Co-authored-by: Update packages readme action <> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent d9596de commit 9e79818

File tree

6 files changed

+196
-22
lines changed

6 files changed

+196
-22
lines changed

src/content/local-docs/libs/expresskit/README-de.md

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ export default config;
7777

7878
| Option | Typ | Standard | Beschreibung |
7979
| ------------------- | ------------------- | ------------------------------------- | ------------------------------------------------------------------------------------------------ |
80-
| `appCsrfSecret` | `string \| string[]` | - | **Erforderlich.** Geheimer Schlüssel (oder Schlüssel) für die HMAC-Token-Generierung. Mehrere Schlüssel ermöglichen die Schlüsselrotation. |
80+
| `appCsrfSecret` | `string \| string[]` | - | **Erforderlich.** Geheimer Schlüssel/Schlüssel für die HMAC-Token-Generierung. Mehrere Schlüssel ermöglichen die Schlüsselrotation. |
8181
| `appCsrfLifetime` | `number` | `2592000` (30 Tage) | Token-Lebensdauer in Sekunden. Setzen Sie auf `0` für kein Ablaufdatum. |
8282
| `appCsrfHeaderName` | `string` | `'x-csrf-token'` | Name des HTTP-Headers für die Token-Validierung. |
8383
| `appCsrfMethods` | `string[]` | `['POST', 'PUT', 'DELETE', 'PATCH']` | HTTP-Methoden, die eine CSRF-Validierung erfordern. |
@@ -128,4 +128,33 @@ const app = new ExpressKit(nodekit, {
128128
},
129129
},
130130
});
131-
```
131+
```
132+
133+
## Caching-Steuerung
134+
135+
Standardmäßig setzt ExpressKit `no-cache`-Header auf alle Antworten. Sie können dieses Verhalten global oder pro Route steuern.
136+
137+
### Globale Konfiguration
138+
139+
```typescript
140+
const config: Partial<AppConfig> = {
141+
expressEnableCaching: true, // Caching standardmäßig erlauben
142+
};
143+
```
144+
145+
### Routenspezifische Konfiguration
146+
147+
```typescript
148+
const app = new ExpressKit(nodekit, {
149+
'GET /api/cached': {
150+
enableCaching: true, // Caching für diese Route erlauben
151+
handler: (req, res) => res.json({data: 'cacheable'}),
152+
},
153+
'GET /api/fresh': {
154+
enableCaching: false, // no-cache erzwingen
155+
handler: (req, res) => res.json({data: 'always fresh'}),
156+
},
157+
});
158+
```
159+
160+
`enableCaching` auf Routenebene überschreibt die globale Einstellung. Der Caching-Status ist in `req.routeInfo.enableCaching` verfügbar.

src/content/local-docs/libs/expresskit/README-es.md

Lines changed: 35 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ export default config;
5858

5959
ExpressKit proporciona protección integrada contra Cross-Site Request Forgery (CSRF) para asegurar tus aplicaciones contra solicitudes maliciosas de origen cruzado. El middleware CSRF genera y valida automáticamente tokens para solicitudes HTTP que cambian el estado.
6060

61-
### Configuración Básica
61+
### Configuración básica
6262

6363
Para habilitar la protección CSRF, configura la clave secreta en tu configuración:
6464

@@ -73,12 +73,12 @@ const config: Partial<AppConfig> = {
7373
export default config;
7474
```
7575

76-
### Opciones de Configuración
76+
### Opciones de configuración
7777

7878
| Opción | Tipo | Predeterminado | Descripción |
7979
| ------------------- | -------------------- | ------------------------------------ | ----------------------------------------------------------------------------------------------- |
8080
| `appCsrfSecret` | `string \| string[]` | - | **Requerido.** Clave(s) secreta(s) para la generación de tokens HMAC. Múltiples secretos permiten la rotación de claves. |
81-
| `appCsrfLifetime` | `number` | `2592000` (30 días) | Vida útil del token en segundos. Establecer a `0` para que no expire. |
81+
| `appCsrfLifetime` | `number` | `2592000` (30 días) | Duración del token en segundos. Establecer a `0` para que no expire. |
8282
| `appCsrfHeaderName` | `string` | `'x-csrf-token'` | Nombre de la cabecera HTTP para la validación del token. |
8383
| `appCsrfMethods` | `string[]` | `['POST', 'PUT', 'DELETE', 'PATCH']` | Métodos HTTP que requieren validación CSRF. |
8484

@@ -95,7 +95,7 @@ const nodekit = new NodeKit({
9595
appCsrfSecret: 'tu-clave-secreta',
9696
appAuthPolicy: AuthPolicy.required,
9797

98-
// Asegúrate de que tu middleware establezca el ID de usuario en el originalContext, de lo contrario, la generación del token CSRF fallará
98+
// Asegúrate de que tu middleware establezca el ID de usuario en originalContext, de lo contrario, la generación del token CSRF fallará
9999
appAuthHandler: tuManejadorDeAutenticacion,
100100
},
101101
});
@@ -113,7 +113,7 @@ const app = new ExpressKit(nodekit, {
113113
});
114114
```
115115

116-
### Configuración por Ruta
116+
### Configuración por ruta
117117

118118
Puedes deshabilitar la protección CSRF para rutas específicas:
119119

@@ -127,4 +127,33 @@ const app = new ExpressKit(nodekit, {
127127
},
128128
},
129129
});
130-
```
130+
```
131+
132+
## Control de caché
133+
134+
Por defecto, ExpressKit establece cabeceras `no-cache` en todas las respuestas. Puedes controlar este comportamiento globalmente o por ruta.
135+
136+
### Configuración global
137+
138+
```typescript
139+
const config: Partial<AppConfig> = {
140+
expressEnableCaching: true, // Permite la caché por defecto
141+
};
142+
```
143+
144+
### Configuración por ruta
145+
146+
```typescript
147+
const app = new ExpressKit(nodekit, {
148+
'GET /api/cached': {
149+
enableCaching: true, // Permite la caché para esta ruta
150+
handler: (req, res) => res.json({data: 'cacheable'}),
151+
},
152+
'GET /api/fresh': {
153+
enableCaching: false, // Fuerza no-cache
154+
handler: (req, res) => res.json({data: 'siempre fresco'}),
155+
},
156+
});
157+
```
158+
159+
El `enableCaching` a nivel de ruta anula la configuración global. El estado de la caché está disponible en `req.routeInfo.enableCaching`.

src/content/local-docs/libs/expresskit/README-fr.md

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ export default config;
7878
| Option | Type | Défaut | Description |
7979
| ------------------- | -------------------- | ------------------------------------ | ----------------------------------------------------------------------------------------------- |
8080
| `appCsrfSecret` | `string \| string[]` | - | **Requis.** Clé(s) secrète(s) pour la génération de jetons HMAC. Plusieurs secrets permettent la rotation des clés. |
81-
| `appCsrfLifetime` | `number` | `2592000` (30 jours) | Durée de vie du jeton en secondes. Définir à `0` pour aucune expiration. |
81+
| `appCsrfLifetime` | `number` | `2592000` (30 jours) | Durée de vie du jeton en secondes. Définissez à `0` pour aucune expiration. |
8282
| `appCsrfHeaderName` | `string` | `'x-csrf-token'` | Nom de l'en-tête HTTP pour la validation du jeton. |
8383
| `appCsrfMethods` | `string[]` | `['POST', 'PUT', 'DELETE', 'PATCH']` | Méthodes HTTP nécessitant une validation CSRF. |
8484

@@ -127,4 +127,33 @@ const app = new ExpressKit(nodekit, {
127127
},
128128
},
129129
});
130-
```
130+
```
131+
132+
## Contrôle de la mise en cache
133+
134+
Par défaut, ExpressKit définit des en-têtes `no-cache` sur toutes les réponses. Vous pouvez contrôler ce comportement globalement ou par route.
135+
136+
### Configuration globale
137+
138+
```typescript
139+
const config: Partial<AppConfig> = {
140+
expressEnableCaching: true, // Autorise la mise en cache par défaut
141+
};
142+
```
143+
144+
### Configuration par route
145+
146+
```typescript
147+
const app = new ExpressKit(nodekit, {
148+
'GET /api/cached': {
149+
enableCaching: true, // Autorise la mise en cache pour cette route
150+
handler: (req, res) => res.json({data: 'cacheable'}),
151+
},
152+
'GET /api/fresh': {
153+
enableCaching: false, // Force le no-cache
154+
handler: (req, res) => res.json({data: 'toujours frais'}),
155+
},
156+
});
157+
```
158+
159+
Le paramètre `enableCaching` au niveau de la route remplace le réglage global. L'état de la mise en cache est disponible dans `req.routeInfo.enableCaching`.

src/content/local-docs/libs/expresskit/README-ko.md

Lines changed: 37 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# ExpressKit
22

3-
ExpressKit는 [express.js](https://expressjs.com/)를 위한 경량 래퍼로, [NodeKit](https://github.com/gravity-ui/nodekit)과 통합되며 요청 로깅, 추적 지원, 비동기 컨트롤러 및 미들웨어, 상세한 라우트 설명과 같은 유용한 기능을 제공합니다.
3+
ExpressKit는 [NodeKit](https://github.com/gravity-ui/nodekit)과 통합되는 경량 [express.js](https://expressjs.com/) 래퍼로, 요청 로깅, 추적 지원, 비동기 컨트롤러 및 미들웨어, 상세한 라우트 설명과 같은 유용한 기능을 제공합니다.
44

55
설치:
66

@@ -60,7 +60,7 @@ ExpressKit는 애플리케이션을 악의적인 교차 출처 요청으로부
6060

6161
### 기본 설정
6262

63-
CSRF 보호를 활성화하려면 설정에서 비밀 키를 구성하세요:
63+
CSRF 보호를 활성화하려면 설정에서 비밀 키를 구성하십시오.
6464

6565
```typescript
6666
import type {AppConfig} from '@gravity-ui/nodekit';
@@ -77,14 +77,14 @@ export default config;
7777

7878
| 옵션 | 타입 | 기본값 | 설명 |
7979
| ------------------- | -------------------- | ------------------------------------ | ----------------------------------------------------------------------------------------------- |
80-
| `appCsrfSecret` | `string \| string[]` | - | **필수.** HMAC 토큰 생성을 위한 비밀 키입니다. 여러 개의 비밀 키를 사용하여 키 로테이션이 가능합니다. |
81-
| `appCsrfLifetime` | `number` | `2592000` (30일) | 토큰의 유효 시간(초)입니다. 만료 없음으로 설정하려면 `0`으로 설정하세요. |
80+
| `appCsrfSecret` | `string \| string[]` | - | **필수.** HMAC 토큰 생성을 위한 비밀 . 여러 개의 비밀 키를 사용하여 키 로테이션이 가능합니다. |
81+
| `appCsrfLifetime` | `number` | `2592000` (30일) | 토큰 수명(초). 만료 없음으로 설정하려면 `0`으로 설정합니다. |
8282
| `appCsrfHeaderName` | `string` | `'x-csrf-token'` | 토큰 검증을 위한 HTTP 헤더 이름입니다. |
8383
| `appCsrfMethods` | `string[]` | `['POST', 'PUT', 'DELETE', 'PATCH']` | CSRF 검증이 필요한 HTTP 메서드입니다. |
8484

8585
### 사용법
8686

87-
설정 후, 지정된 HTTP 메서드를 사용하는 모든 라우트에 CSRF 보호가 자동으로 적용됩니다:
87+
설정 후에는 지정된 HTTP 메서드를 사용하는 모든 라우트에 CSRF 보호가 자동으로 적용됩니다.
8888

8989
```typescript
9090
import {ExpressKit, AuthPolicy} from '@gravity-ui/expresskit';
@@ -95,7 +95,7 @@ const nodekit = new NodeKit({
9595
appCsrfSecret: 'your-secret-key',
9696
appAuthPolicy: AuthPolicy.required,
9797

98-
// 미들웨어가 originalContext에 사용자 ID를 설정하도록 하세요. 그렇지 않으면 CSRF 토큰 생성에 실패합니다.
98+
// 미들웨어가 originalContext에 사용자 ID를 설정하는지 확인하십시오. 그렇지 않으면 CSRF 토큰 생성에 실패합니다.
9999
appAuthHandler: yourAuthHandler,
100100
},
101101
});
@@ -115,7 +115,7 @@ const app = new ExpressKit(nodekit, {
115115

116116
### 라우트별 설정
117117

118-
특정 라우트에 대해 CSRF 보호를 비활성화할 수 있습니다:
118+
특정 라우트에 대해 CSRF 보호를 비활성화할 수 있습니다.
119119

120120
```typescript
121121
const app = new ExpressKit(nodekit, {
@@ -127,4 +127,33 @@ const app = new ExpressKit(nodekit, {
127127
},
128128
},
129129
});
130-
```
130+
```
131+
132+
## 캐싱 제어
133+
134+
기본적으로 ExpressKit는 모든 응답에 `no-cache` 헤더를 설정합니다. 이 동작은 전역적으로 또는 라우트별로 제어할 수 있습니다.
135+
136+
### 전역 설정
137+
138+
```typescript
139+
const config: Partial<AppConfig> = {
140+
expressEnableCaching: true, // 기본적으로 캐싱 허용
141+
};
142+
```
143+
144+
### 라우트별 설정
145+
146+
```typescript
147+
const app = new ExpressKit(nodekit, {
148+
'GET /api/cached': {
149+
enableCaching: true, // 이 라우트에 대해 캐싱 허용
150+
handler: (req, res) => res.json({data: 'cacheable'}),
151+
},
152+
'GET /api/fresh': {
153+
enableCaching: false, // no-cache 강제 적용
154+
handler: (req, res) => res.json({data: 'always fresh'}),
155+
},
156+
});
157+
```
158+
159+
라우트 레벨의 `enableCaching`은 전역 설정을 재정의합니다. 캐싱 상태는 `req.routeInfo.enableCaching`에서 사용할 수 있습니다.

src/content/local-docs/libs/expresskit/README-zh.md

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ ExpressKit 提供内置的跨站请求伪造 (CSRF) 防护功能,以保护您
6060

6161
### 基本配置
6262

63-
要启用 CSRF 防护,请在您的配置中设置 secret key
63+
要启用 CSRF 防护,请在您的配置中设置密钥
6464

6565
```typescript
6666
import type {AppConfig} from '@gravity-ui/nodekit';
@@ -77,8 +77,8 @@ export default config;
7777

7878
| 选项 | 类型 | 默认值 | 描述 |
7979
| ------------------- | -------------------- | ------------------------------------ | ----------------------------------------------------------------------------------------------- |
80-
| `appCsrfSecret` | `string \| string[]` | - | **必需。** 用于 HMAC 令牌生成的 secret key。多个 secret 允许进行密钥轮换|
81-
| `appCsrfLifetime` | `number` | `2592000` (30 天) | 令牌的有效期(秒)。设置为 `0` 表示无过期时间。 |
80+
| `appCsrfSecret` | `string \| string[]` | - | **必需。** 用于 HMAC 令牌生成的密钥。多个密钥允许进行密钥轮换|
81+
| `appCsrfLifetime` | `number` | `2592000` (30 天) | 令牌有效期(秒)。设置为 `0` 表示无过期时间。 |
8282
| `appCsrfHeaderName` | `string` | `'x-csrf-token'` | 用于令牌验证的 HTTP 标头名称。 |
8383
| `appCsrfMethods` | `string[]` | `['POST', 'PUT', 'DELETE', 'PATCH']` | 需要 CSRF 验证的 HTTP 方法。 |
8484

@@ -127,4 +127,33 @@ const app = new ExpressKit(nodekit, {
127127
},
128128
},
129129
});
130-
```
130+
```
131+
132+
## 缓存控制
133+
134+
默认情况下,ExpressKit 会为所有响应设置 `no-cache` 标头。您可以全局或按路由控制此行为。
135+
136+
### 全局配置
137+
138+
```typescript
139+
const config: Partial<AppConfig> = {
140+
expressEnableCaching: true, // 默认允许缓存
141+
};
142+
```
143+
144+
### 按路由配置
145+
146+
```typescript
147+
const app = new ExpressKit(nodekit, {
148+
'GET /api/cached': {
149+
enableCaching: true, // 为此路由允许缓存
150+
handler: (req, res) => res.json({data: 'cacheable'}),
151+
},
152+
'GET /api/fresh': {
153+
enableCaching: false, // 强制不缓存
154+
handler: (req, res) => res.json({data: 'always fresh'}),
155+
},
156+
});
157+
```
158+
159+
路由级别的 `enableCaching` 会覆盖全局设置。缓存状态可在 `req.routeInfo.enableCaching` 中获取。

src/content/local-docs/libs/expresskit/README.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,3 +128,32 @@ const app = new ExpressKit(nodekit, {
128128
},
129129
});
130130
```
131+
132+
## Caching Control
133+
134+
By default, ExpressKit sets `no-cache` headers on all responses. You can control this behavior globally or per-route.
135+
136+
### Global configuration
137+
138+
```typescript
139+
const config: Partial<AppConfig> = {
140+
expressEnableCaching: true, // Allow caching by default
141+
};
142+
```
143+
144+
### Per-route configuration
145+
146+
```typescript
147+
const app = new ExpressKit(nodekit, {
148+
'GET /api/cached': {
149+
enableCaching: true, // Allow caching for this route
150+
handler: (req, res) => res.json({data: 'cacheable'}),
151+
},
152+
'GET /api/fresh': {
153+
enableCaching: false, // Force no-cache
154+
handler: (req, res) => res.json({data: 'always fresh'}),
155+
},
156+
});
157+
```
158+
159+
Route-level `enableCaching` overrides the global setting. The caching state is available in `req.routeInfo.enableCaching`.

0 commit comments

Comments
 (0)