Nodefony 10.0.0-beta.6
Framework Node.js fullstack — HTTP & WebSocket, même contexte

Référence d'API — nodefony — realtime-JsonRpcPeer

stable

Documentation › Référence d’API › nodefony › realtime-JsonRpcPeer

Générée depuis les déclarations de types publiées de nodefony 10.0.0-beta.6 : 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#

import { … } from "nodefony" — 14 symboles.

Classes (3)#

JsonRpcPeer#

class JsonRpcPeer<Emit extends EventsMap = DefaultEventsMap, Listen extends EventsMap = DefaultEventsMap, Actions extends ActionsMap = DefaultActionsMap> implements IRealtimePeer<Emit, Actions>

RpcEnvelope#

class RpcEnvelope<T = unknown>

Réponse d’un handler qui veut JOINDRE des métadonnées serveur à son résultat.

RpcError#

class RpcError extends Error

Erreur RPC applicative — l’exception VOLONTAIRE au principe « throw → -32603 générique » : un handler qui rejette avec une RpcError choisit explicitement d’exposer code/message/data au pair (404 d’un path invoqué, 403 d’un voter…). Tout autre throw reste opaque (Zero Trust).

Interfaces (6)#

IJsonRpcFrameSink#

interface IJsonRpcFrameSink

Sortie d’un pair qui laisse la SÉRIALISATION à son transport : il reçoit la frame en objet. Forme historique, conservée pour les transports qui ne parlent pas de codec (relais en mémoire, tests).

IJsonRpcPeerHooks#

interface IJsonRpcPeerHooks<Emit extends EventsMap = DefaultEventsMap, Listen extends EventsMap = DefaultEventsMap, Actions extends ActionsMap = DefaultActionsMap>

Crochets d’un pair JSON-RPC, communs aux deux formes de sortie.

IJsonRpcWireSink#

interface IJsonRpcWireSink

Sortie d’un pair qui SÉRIALISE lui-même, avec son codec courant (ADR-0022 §4, ligne (i) : les codecs vivent dans le pair partagé, jamais dans le client ni dans le contrôleur). Le transport ne reçoit que des données prêtes pour le fil.

IRealtimePeer#

interface IRealtimePeer<Emit extends EventsMap = DefaultEventsMap, Actions extends ActionsMap = DefaultActionsMap>

RpcMeta#

interface RpcMeta

Métadonnées serveur d’une réponse RPC — transportées À CÔTÉ du result, jamais dedans (le result d’api.request doit rester identique à ce que rendrait la même route en REST : « snapshot ≡ GET REST » par construction).

RpcTracedResult#

interface RpcTracedResult<T = unknown>

Résultat d’un appel sortant tracé : la valeur + la méta serveur.

Types (5)#

FrameAuditReason#

type FrameAuditReason = "invalid" | "denied" | "method_not_found" | "internal_error"

Motif d’un évènement audit protocolaire (consommé par P6.14 AuditEventEntity) : - invalid : frame non conforme JSON-RPC 2.0 (cf classifyJsonRpcFrame : lot, jsonrpc≠“2.0”, id null/objet/booléen, method non chaîne, réponse sans result ni error valide). - denied : frame entrante refusée par beforeDispatch (Zero Trust realtime — voter P6 a dit non). - method_not_found : requête entrante pour une action non enregistrée (-32601 envoyée). - internal_error : handler d’action a throw (-32603 envoyée, détail loggé via onError — Zero Trust : pas renvoyé au pair).

JsonRpcErrorObject#

type JsonRpcErrorObject = IJsonRpcErrorObject

Erreur JSON-RPC 2.0 (objet error d’une réponse).

JsonRpcPeerOptions#

type JsonRpcPeerOptions<Emit extends EventsMap = DefaultEventsMap, Listen extends EventsMap = DefaultEventsMap, Actions extends ActionsMap = DefaultActionsMap> = IJsonRpcPeerHooks<Emit, Listen, Actions> & (IJsonRpcFrameSink | IJsonRpcWireSink)

Options d’un JsonRpcPeer : ses crochets, et UNE sortie — send (le transport sérialise) ou write (le pair encode avec son codec).

RpcActionHandler#

type RpcActionHandler = { handle(params: unknown): unknown; }["handle"]

Handler d’une action (requête→réponse). Sync ou async ; throw → -32603.

RpcNotificationHandler#

type RpcNotificationHandler<Listen extends EventsMap = DefaultEventsMap> = <K extends EventNames<Listen>>(method: K, params: EventPayload<Listen, K>) => void

Handler des notifications entrantes (pas de réponse). Paramétrable par Listen (map des notifications REÇUES par ce peer). Défaut permissif → comportement pré-types-partagés inchangé.


← Toutes les références d’API