Gestion de l’historique¶
Export et purge de l’historique¶
- GET /log¶
Ce point d’entrée permet d’exporter l’historique de transfert du serveur Waarp R66 associé au client, et le cas échéant de purger l’historique.
Les fichiers XML produit sont déposés dans le dossier arch définitions dans la configuration du serveur (le chemin complet est fourni dans la réponse de la requête).
Paramètres de la requête
Le corps de la réponse doit être un objet JSON valide. Celui-ci continet plusieurs groupes de paramètres.
Les paramètres
@class
etrequestUserPacket
sont obligatoires et leur valeur est fixe (voir ci-dessous).Le second groupe de paramètres permet de filtrer l’historique exporté par date, statut, identifiant, règle de transfert et/ou partenaire.
Enfin, deux paramètres permettent d’effectuer des opérations de maintenance conjointement à l’export :
purge
, qui supprime de la base de données l’historique exporté, etclean
, qui corrige le statut de transferts erronés quand celui-ci est erroné.- Objet JSON de requête:
@class (string) – Le type de requête. Doit être
org.waarp.openr66.protocol.localhandler.packet.json.LogJsonPacket
comment (string) – Un commentaire optionnel
requestUserPacket (int) – Le type de requête. Doit être
16
statuspending (bool) – Exporte les transferts en attente (défaut :
false
)statustransfer (bool) – Exporte les transferts en cours(défaut:
false
)statusdone (bool) – Exporte les transferts terminés (défaut:
false
)statuserror (bool) – Exporte les transferts en erreur (défaut:
false
)rule (string) – Limite l’export à une règle spécifique
request (int string) – Corrige le statut des transferts terminés erronés
start (int) – Exporte seulement l’historique postérieur à cette date. La date doit être fournie sous la forme d’un timestamp Unix en millisecondes.
stop (int) – Exporte seulement l’historique postérieur à cette date. La date doit être fournie sous la forme d’un timestamp Unix en millisecondes.
startid (int) – Valeur minimale d’identifiants de transfert à exporter
stopid (int) – Valeur maximale d’identifiants de transfert à exporter
purge (bool) – Si
true
, l’historique exporté est également purgé de la base de données (defaut:false
)clean (bool) – Corrige le statut des transferts terminés erronés (defaut:
false
)
Détails de la réponse
La réponse contient le statut de la requête, ainsi que de nombreuses données récapitulant la requête.
Les éléments les plus significatifs de la réponse sont les suivants :
- Objet JSON de réponse:
answer.results.0.filename (string) – Le chemin complet du fichier contenant les données exportées
answer.results.0.exported (int) – Le nombre de transferts exportés
answer.results.0.purged (int) – Le nombre de transferts purgés
message (string) – Statut de la requête comme texte (
OK
signifie un succès)code (int) – Statut de la requête comme code réponse HTTP
details (string) – En cas d’erreur (code retour différent de
200
, un message expliquant la cause de l’erreeur
Codes retours
Les requêtes vers ce point d’entrée peuvent avoir les code retour HTTP suivants. En cas d’erreur, les détails peuvent se retrouver dans le champ
details
de la réponse.- Status Codes:
200 OK – Succès
400 Bad Request – Une erreur est présente dans le corps de la requête
401 Unauthorized – Authentification invalide pour l’utilisateur
405 Method Not Allowed – Le point d’entrée est désactivé pour ce serveur
Exemple de requête
GET /log HTTP/1.1 Content-Type: application/json { "@class": "org.waarp.openr66.protocol.localhandler.packet.json.LogJsonPacket", "requestUserPacket": 16, "purge": false, "stop": 1399760601400 }
Exemple de réponse (succès)
HTTP/1.1 200 OK content-type: application/json { "X-method":"GET", "path":"/log", "base":"log", "uri":{}, "answer":{ "@model":"Log", "results":[{ "@class":"org.waarp.openr66.protocol.localhandler.packet.json.LogResponseJsonPacket", "comment":null, "requestUserPacket":16, "purge":false, "clean":false, "statuspending":false, "statustransfer":false, "statusdone":false, "statuserror":false, "rule":null, "request":null, "start":null, "stop":1399760601400, "startid":null, "stopid":null, "command":16, "filename":"[...]/data/server1/arch/server1_1521715697441_runners.xml", "exported":0, "purged":0 }] }, "command":"GetLog", "message":"OK", "code":200 }
Exemple de réponse (erreur)
HTTP/1.1 400 Bad Request content-type: application/json { "code": 400, "detail": "com.fasterxml.jackson.databind.JsonMappingException: Unexpected token (END_OBJECT), expected FIELD_NAME: missing property '@class' that is to contain type id (for class org.waarp.openr66.protocol.localhandler.packet.json.JsonPacket)\n at [Source: {\"class\": \"org.waarp.openr66.protocol.localhandler.packet.json.LogJsonPacket\", \"requestUserPacket\": 16, \"purge\": true, \"stop\": 1399760601400}; line: 1, column: 141]", "message": "Bad Request" }