Использование Restler3, как регистрировать запросы / ответы

Есть ли в настоящее время какие-либо средства для захвата входящих запросов и ответов и их регистрации? Я вижу, что существуют методы 'preCall' и 'postCall', однако некоторые из моих методов API не называются строго глаголами HTTP.

Например, в моем классе "Players" у меня есть метод "get", который возвращает одного игрока для данного player_id, и "getPlayers", который возвращает всех игроков.

1 ответ

Решение

Там точно есть!

Вот код, который я собрал из некоторых других вопросов SO:

$r->onComplete(function () use ($r) {
// Don't log Luracast Restler Explorer recources calls
if ( ! preg_match('/resources/', $r->url)) {
    $success = $r->responseCode == 200;        
    $request = $r->getRequestData();
    $info = array(
        'base'              => $r->getBaseUrl(),
        'method'            => $r->requestMethod,
        'url'               => $r->url,
        'api_key'           => NULL,
        'route'             => $r->apiMethodInfo->className.'::'.$r->apiMethodInfo->methodName,
        'data'              => $request['request_data'],
        'ip'                => User::getIpAddress(),
        'referer'           => (isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER']: ''),
        'http_status_code'  => $r->responseCode,
        'response'          => $success ? '' : $r->exception->getErrorMessage()
        );
        print_r($info); // replace with your logging function here

}

});

Другие вопросы по тегам