繁体   English   中英

使用Restler3,如何记录请求/响应

[英]Using Restler3, how to log requests/responses

当前是否有任何方法可以捕获传入的请求和响应,并将其记录下来? 我看到有“ preCall”和“ postCall”方法,但是,我的某些API方法并非严格由HTTP动词命名。

例如,在我的“玩家”类中,我有一个“ get”方法返回给定的player_id一个玩家,而“ getPlayers”则返回所有玩家。

肯定有!

这是我从其他一些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

}

});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM