---
title: "Référence d'API — @nodefony/http — racine"
source: docs/api/http/racine.md
url: https://nodefony.github.io/nodefony-core/docs/api/http/racine/
---


[Documentation](../../../) › [Référence d'API](../../) › [`@nodefony/http`](../) › racine

> Générée depuis les déclarations de types publiées de `@nodefony/http` **10.0.0-beta.5** : exactement ce que reçoit une application qui l'installe. Cette page n'existe dans aucun dépôt — pour la corriger, on corrige le TSDoc du code.

## `@nodefony/http`

`import { … } from "@nodefony/http"` — 8 symboles.

### Classes (1)

#### `default`

```ts
class Http extends Module<IHttpConfig>
```

- `overlaySchema: import("zod").ZodObject<{ maxBodySize: import("zod").ZodOptional<import("zod").ZodType<number, number, import("zod/v4/core").$ZodTypeInternals<number, number>>>; upload: import("zod").Z …` — Liste blanche des clés de configuration qu'une requête peut surcharger (`overlayConfig`) : un schéma Zod STRICT, en général `configSchema.pick({...}).partial()`.
- `constructor(kernel: Kernel)`
- `configSchema(): unknown` — Expose le JSON Schema de la config http (dérivé du schéma Zod, flags `meta()` inclus) au data plane admin → Studio rend la config en réglages documentés (type, défaut, état, valeur effective) au lieu …
- `onKernelRegister(): Promise<this>` — Phase `onRegister` : valide la config (défauts + override `module-http` + défauts kernel) via `defineHttpConfig`, puis la ré-assigne à `this.options` AVANT l'instanciation des `@services` (phase `onBo …
- `onKernelBoot(): Promise<this>` — Phase `onBoot` : s'enregistre comme producteur admin (`/nodefony/http/api/*`) auprès du broker, AVANT que framework ne monte le data plane à `onReady`.
- `onKernelReady(): Promise<this>`

### Interfaces (7)

#### `IErrorSample`

```ts
interface IErrorSample
```

Un exemple d'erreur, de quoi la retrouver dans le journal.

- `route: string`
- `status: number | null`
- `error: string | null`
- `requestId: string`

#### `INPlusOne`

```ts
interface INPlusOne
```

Un N+1 : la même forme SQL répétée dans une requête.

- `route: string`
- `controller: string | null`
- `action: string | null`
- `shape: string`
- `maxRepeats: number` — Plus grand nombre de répétitions vu dans une requête.
- `requests: number` — Requêtes touchées.
- `totalMs: number` — Temps cumulé de ces répétitions.
- `sampleRequestId: string` — Une requête touchée, pour aller voir son profil complet.

#### `IPhaseTotal`

```ts
interface IPhaseTotal
```

Temps cumulé d'une phase sur les requêtes d'une route.

- `totalMs: number`
- `count: number` — Requêtes où la phase est apparue et s'est terminée.

#### `IProfileReport`

```ts
interface IProfileReport
```

Le rapport agrégé.

- `requests: number` — Requêtes agrégées (hors outillage filtré).
- `http: number`
- `ws: number`
- `filteredTooling: number` — Requêtes de l'outillage écartées (`/nodefony/…`, `/_vite/…`).
- `untimed: number` — Requêtes sans durée mesurée.
- `routes: IRouteStats[]` — Triées par p95 décroissant.
- `nPlusOne: INPlusOne[]` — Triés par temps cumulé décroissant.
- `slowQueries: ISqlShapeStats[]` — Les dix formes SQL les plus coûteuses (temps cumulé décroissant).
- `sqlShapesDropped: number` — Formes SQL distinctes vues au-delà de la capacité, comptées sans détail.
- `errors: IErrorSample[]`

#### `IRouteStats`

```ts
interface IRouteStats
```

Statistiques d'une route sur la fenêtre agrégée.

- `route: string`
- `kind: "http" | "ws"`
- `controller: string | null`
- `action: string | null`
- `count: number`
- `untimed: number` — Requêtes sans durée mesurée (chronométrage coupé : `timing.enabled: false`).
- `served: number` — Requêtes SERVIES et chronométrées (statut < 400, sans exception) : la population de tout ce qui se dit « par requête » ci-dessous.
- `p50Ms: number | null` — Percentiles et maximum, sur les requêtes servies.
- `p95Ms: number | null`
- `maxMs: number | null`
- `status: IStatusBreakdown`
- `errors: number` — Requêtes en erreur : statut ≥ 500 ou exception levée.
- `queries: { total: number; perRequestMax: number; totalMs: number; }` — Requêtes SQL/NoSQL des requêtes servies : total, maximum dans une requête, temps CUMULÉ (des requêtes parallèles s'y additionnent).
- `phases: Record<string, IPhaseTotal>` — Temps par phase des requêtes servies, `action.self` compris.

#### `ISqlShapeStats`

```ts
interface ISqlShapeStats
```

Une forme SQL et son coût sur la fenêtre.

- `shape: string`
- `connector: string | null`
- `count: number`
- `totalMs: number`
- `maxMs: number`
- `routes: string[]` — Routes qui l'ont émise (au plus cinq).

#### `IStatusBreakdown`

```ts
interface IStatusBreakdown
```

Répartition des statuts HTTP d'une route.

- `s2xx: number`
- `s3xx: number`
- `s4xx: number`
- `s5xx: number`
- `unauthorized: number` — Dont 401 : la route exige une authentification que la requête n'avait pas.
- `forbidden: number` — Dont 403 : authentifiée, mais refusée.

---

[← Toutes les références d'API](../../)
