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


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

> Générée depuis les déclarations de types publiées de `@nodefony/framework` **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/framework`

`import { … } from "@nodefony/framework"` — 5 symboles.

### Interfaces (5)

#### `IAdminBroker`

```ts
interface IAdminBroker extends IAdminRegistry
```

Service du data plane admin — vit dans `@nodefony/framework` car lui seul a le Router pour créer des routes dynamiquement.

- `readonly rootPrefix: string` — Préfixe racine réservé au framework.
- `readonly apiSegment: string` — Segment marqueur du data plane.
- `readonly defaultRole: string` — Rôle exigé par défaut quand un endpoint n'en précise pas.
- `mountAll(): void` — Monte toutes les routes de tous les producteurs enregistrés via le Router (`Router.createRoute`).
- `resolvePath(namespace: string, endpointPath: string): string` — Calcule le chemin absolu d'un endpoint sans le monter.
- `resolve(routeName: string): IAdminRoute` — Résout une route admin par son nom framework — lookup O(1) utilisé par le controller pont (`AdminApiController.dispatch`) à chaque requête.
- `routes(): readonly IAdminRoute[]` — Introspection : toutes les routes admin résolues (montées ou montables).

#### `IAdminRoute`

```ts
interface IAdminRoute
```

Entrée résolue d'un endpoint admin — couple le producteur, sa définition et le chemin absolu monté. Renvoyé par l'introspection du broker (utile à l'auto-doc Studio et aux tests).

- `name: string` — Nom unique de la route framework (clé de dispatch O(1)).
- `namespace: string` — Namespace du producteur (`IAdminApi.adminNamespace`).
- `path: string` — Chemin absolu monté, ex `/nodefony/http/api/sessions`.
- `method: string` — Méthode HTTP effective (défaut résolu).
- `role: string` — Rôle effectif requis (défaut résolu).
- `endpoint: IAdminEndpoint` — Définition d'origine.

#### `IController`

```ts
interface IController
```

- `readonly route?: IRoute | null`
- `request: contextRequest`
- `response: HttpResponse | Http2Response | WebsocketResponse | null`
- `context?: ContextType`
- `session?: Session | null`
- `method?: HTTPMethod`
- `query: Record<string, unknown>`
- `files: readonly unknown[]`
- `body: Record<string, unknown>`
- `module?: Module`
- `setContext(context: ContextType): void`
- `setContextJson(encoding?: BufferEncoding): unknown`
- `setContextHtml(encoding?: BufferEncoding): unknown`
- `render(data: unknown, encoding?: BufferEncoding, status?: string | number, headers?: Record<string, string | number>): MaybePromise<unknown>` — Rend une donnée — la réponse, ou sa promesse quand l'envoi attend.
- `renderResponse(data: unknown, encoding?: BufferEncoding, status?: string | number, headers?: OutgoingHttpHeaders): MaybePromise<HttpResponse | Http2Response | WebsocketResponse>` — Envoie une donnée sérialisée — la réponse, ou sa promesse quand l'envoi attend.
- `renderView(path: string, param?: Record<string, unknown>, status?: string | number, headers?: Record<string, string | number>): Promise<HttpResponse | Http2Response | WebsocketResponse>`
- `renderJson(obj: unknown, status?: string | number, headers?: OutgoingHttpHeaders): MaybePromise<unknown>`
- `setRoute(route: IRoute): IRoute`
- `getSession(): Session | null`
- `redirect(url: string, status?: string | number, headers?: Record<string, string | number>): void`
- `getFlashBag(key: string): unknown`
- `setFlashBag(key: string, value: unknown): unknown`
- `addFlash(key: string, value: unknown): unknown`
- `forward(name: string, param?: unknown): unknown`
- `getFile(file: FileClass | string): FileClass`
- `getFileAsync(file: FileClass | string): Promise<FileClass>` — Variante async de `getFile` (stat non bloquant via `FileClass.from`).
- `renderFileDownload(file: unknown, options?: unknown, headers?: OutgoingHttpHeaders): Promise<ReadStream>`
- `streamFile(file: FileClass | string, headers?: OutgoingHttpHeaders, options?: Record<string, unknown>): Promise<ReadStream>`

#### `IResolver`

```ts
interface IResolver extends IRouteResolver
```

- `injector?: Injector | null`
- `controller: ControllerConstructor | null` — Classe du controller résolu — seul son nom est lu (erreurs, journal).
- `actionName?: string` — Nom de l'action résolue.
- `action?: (...args: unknown[]) => unknown`
- `context: ContextType`
- `readonly route: IRoute | null` — Route matchée, `null` tant qu'aucune ne l'est.
- `resolve: boolean` — `true` si une route a matché la requête.
- `variables: unknown[]`
- `exception?: HttpError | Error | null` — Erreur levée pendant la résolution, relue par le pipeline.
- `acceptedProtocol: string | null`
- `bypassFirewall: boolean`
- `match(route: IRoute, context: ContextType, cleanPath?: string): unknown` — Rejoue le match d'une route sur un contexte (WS : handshake puis frames).
- `getMatchedParams(): Record<string, unknown>`
- `parsePathernController(name: string): void`
- `getAction(name: string): (...args: unknown[]) => unknown | null`
- `newController(context?: ContextType): MaybePromise<IController | object>` — Instancie le controller résolu — le pipeline ne fait que le transmettre.
- `callController(data?: unknown[], reload?: boolean): MaybePromise<unknown>` — Exécute l'action résolue, puis rend sa valeur sur le transport.
- `returnController(result: unknown): MaybePromise<unknown>`

#### `IRoute`

```ts
interface IRoute extends IResolvedRoute
```

- `name: string` — Nom de la route (journalisation, diagnostic).
- `path?: string` — Gabarit de la route, préfixe compris (`/users/{id}`) — faible cardinalité, publié comme `routePath` sur le canal `nodefony.http.request`.
- `controller?: ControllerConstructor`
- `classMethod?: string`
- `prefix?: string`
- `method?: HTTPMethod`
- `pattern?: RegExp`
- `variables: unknown[]`
- `defaults: Partial<Record<string, unknown>>`
- `requirements: Partial<RouteRequirements>`
- `hash?: string`
- `host?: string | string[]`
- `hostRegexp?: RegExp[]`
- `bypassFirewall: boolean`
- `filePath?: string`
- `match(context: ContextType, cleanPath?: string): unknown[] | null`
- `compile(): RegExp`
- `toString(): string` — Returns a string representation of an object.
- `toObject(): object`
- `setPrefix(prefix?: string): void`
- `setPattern(pattern?: string): string`
- `generateId(): string`
- `addRequirement<K extends keyof RouteRequirements>(key: K, value: RouteRequirements[K]): RouteRequirements[K]`
- `getRequirement<K extends keyof RouteRequirements>(key: K): RouteRequirements[K]`
- `hasRequirements(): number`
- `matchRequirements(context: ContextType): boolean`

---

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