Référence d'API — @nodefony/framework — interfaces
stable
Documentation › Référence d’API › @nodefony/framework › interfaces
Générée depuis les déclarations de types publiées de
@nodefony/framework10.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#
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#
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#
interface IController
readonly route?: IRoute | nullrequest: contextRequestresponse: HttpResponse | Http2Response | WebsocketResponse | nullcontext?: ContextTypesession?: Session | nullmethod?: HTTPMethodquery: Record<string, unknown>files: readonly unknown[]body: Record<string, unknown>module?: ModulesetContext(context: ContextType): voidsetContextJson(encoding?: BufferEncoding): unknownsetContextHtml(encoding?: BufferEncoding): unknownrender(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): IRoutegetSession(): Session | nullredirect(url: string, status?: string | number, headers?: Record<string, string | number>): voidgetFlashBag(key: string): unknownsetFlashBag(key: string, value: unknown): unknownaddFlash(key: string, value: unknown): unknownforward(name: string, param?: unknown): unknowngetFile(file: FileClass | string): FileClassgetFileAsync(file: FileClass | string): Promise<FileClass>— Variante async degetFile(stat non bloquant viaFileClass.from).renderFileDownload(file: unknown, options?: unknown, headers?: OutgoingHttpHeaders): Promise<ReadStream>streamFile(file: FileClass | string, headers?: OutgoingHttpHeaders, options?: Record<string, unknown>): Promise<ReadStream>
IResolver#
interface IResolver extends IRouteResolver
injector?: Injector | nullcontroller: 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[]) => unknowncontext: ContextTypereadonly route: IRoute | null— Route matchée,nulltant qu’aucune ne l’est.resolve: boolean—truesi 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 | nullbypassFirewall: booleanmatch(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): voidgetAction(name: string): (...args: unknown[]) => unknown | nullnewController(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#
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é commeroutePathsur le canalnodefony.http.request.controller?: ControllerConstructorclassMethod?: stringprefix?: stringmethod?: HTTPMethodpattern?: RegExpvariables: unknown[]defaults: Partial<Record<string, unknown>>requirements: Partial<RouteRequirements>hash?: stringhost?: string | string[]hostRegexp?: RegExp[]bypassFirewall: booleanfilePath?: stringmatch(context: ContextType, cleanPath?: string): unknown[] | nullcompile(): RegExptoString(): string— Returns a string representation of an object.toObject(): objectsetPrefix(prefix?: string): voidsetPattern(pattern?: string): stringgenerateId(): stringaddRequirement<K extends keyof RouteRequirements>(key: K, value: RouteRequirements[K]): RouteRequirements[K]getRequirement<K extends keyof RouteRequirements>(key: K): RouteRequirements[K]hasRequirements(): numbermatchRequirements(context: ContextType): boolean