Aller au contenu principal

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.