Spécification API
Ces composants nécessitent une API avec laquelle communiquer. Les URLs qu’ils utilisent sont composés de plusieurs éléments : des éléments statiques (que doit satisfaire l’API), des éléments variables configurés au démarrage (ex. http vs https) ou fixés lors de l’héritage (ex. ModuleType) et des éléments variables modifiés au runtime (ex. ModToken).
UModuleCommComponent
Variables :
- FString TargetApiAddress (configuration)
- FString Token (runtime, généré par l’API)
- FString AuthToken (runtime)
- FString ModuleType (héritage)
HTTP :
Route d’Authentification : http(s)://TargetApiAddress/modules/auth
POST :
Request body : { “modType“ : “ModuleType”, “authToken” : “AuthToken”, }
Response :
Code 200, body : { “token” : Token }
WS :
Route de Module : ws(s)://TargetApiAddress/modules/Token
Autorise la connexion si Token est connu par l’API et inutilisé.
Messages :
“ping” :
Message : { “title” : “ping” }
Response : { “title” : “pong” }
Les autres messages dépendent du module.
UPersistentCommGISubsystem
Variables :
- FString TargetApiAddress (configuration)
- FString Token (runtime, généré par l’API)
- FString FriendlyName (runtime)
HTTP :
Route d’Authentification : http(s)://TargetApiAddress/users/
POST :
Request body : { “friendlyName“ : “FriendlyName” } (+ mdp ?)
Response :
Code 200, body : { “token” : Token }
WS :
Route de User : ws(s)://TargetApiAddress/users/
Autorise la connexion si Token est connu par l’API et inutilisé.
Messages :
“ping” :
Message : { “title” : “ping” }
Response : { “title” : “pong” }
Les autres messages dépendent du module.