rest_request_before_callbacks

Définition : rest_request_before_callbacks est un filtre WordPress appliqué après la résolution d’une route REST, avant l’exécution de ses callbacks. Il permet un traitement complémentaire associé à un endpoint reconnu.

Comprendre et utiliser

À quoi sert cette notion ?

Il est utile aux contrôles transverses ou au diagnostic lorsqu’une extension doit examiner la requête et son gestionnaire avant le traitement principal.

Fonctionnement technique

Le filtre reçoit la réponse éventuelle, le gestionnaire de route et WP_REST_Request. Il n’est pas appelé pour les requêtes qui échouent avant la correspondance ou l’authentification.

Dans quel contexte l’utiliser ?

Un outil de diagnostic signale le passage par une route de démonstration sans modifier son résultat.

Étude de cas : application professionnelle

Un filtre intervenant avant les callbacks peut être utile pour diagnostiquer un comportement d’endpoint, à condition de préserver les données privées et les étapes de sécurité. Pour une route de démonstration, enregistrer seulement sa méthode et son état global, sans stocker le corps reçu. Tester ensuite une route non reconnue et une demande refusée dès l’authentification : le filtre ne sera pas nécessairement appelé dans ces cas. Comprendre son emplacement exact évite de croire que l’instrumentation couvre tout le trafic REST. Ajouter des tests de non-régression avant de déployer ce type de mécanisme.

Exemple technique commenté

Cet extrait est destiné à un fichier PHP chargé par WordPress, idéalement dans un plugin local de test. Il ne doit pas être placé dans l'éditeur de contenu. Avant exécution, vérifier que les objets et variables mentionnés existent dans le contexte et que les permissions nécessaires sont définies.

<?php
add_filter( 'rest_request_before_callbacks', function ( $response, $handler, $request ) {
    if ( '/atoolpha/v1/demo' === $request->get_route() ) {
        // Point d’observation ; ne pas écrire de données ici.
    }
    return $response;
}, 10, 3 );

Décryptage du code et résultat attendu

La callback conserve intact le résultat initial. Cette forme permet de placer un point d’observation sans modifier le contrôle d’accès existant.

Exercice guidé pour vérifier la notion

Réaliser un appel autorisé et un appel non authentifié sur un endpoint de test afin d’observer dans quels cas le hook se déclenche.

Précautions et limites

Ne pas enregistrer de corps de requêtes contenant des données privées. Les permissions natives doivent rester applicables.

À ne pas confondre

Ce filtre précède les callbacks ; rest_request_after_callbacks les suit. Ils n’encadrent pas toutes les erreurs d’authentification.

Diagnostic avancé

Si le filtre ne s’exécute pas, vérifier d’abord la correspondance de route et l’authentification, pas uniquement la priorité du hook.

Choix d’architecture et déploiement

Définir une politique de journalisation minimale et masquer les données personnelles avant toute instrumentation.

Références officielles WordPress

Bouton retour en haut de la page