'cookies' => $sessionCookies,
'ip' => $request->getIP(),
'userAgent' => $this->getUserAgent(),
- 'wiki' => wfWikiID(),
+ 'wiki' => WikiMap::getCurrentWikiDbDomain()->getId(),
]
);
}
$request = $this->getRequest();
// JSONP mode
- if ( $request->getVal( 'callback' ) !== null ) {
+ if ( $request->getCheck( 'callback' ) ) {
$this->lacksSameOriginSecurity = true;
return true;
}
'ts' => time(),
'ip' => $request->getIP(),
'userAgent' => $this->getUserAgent(),
- 'wiki' => wfWikiID(),
+ 'wiki' => WikiMap::getCurrentWikiDbDomain()->getId(),
'timeSpentBackend' => (int)round( $time * 1000 ),
'hadError' => $e !== null,
'errorCodes' => [],
$logCtx = [
'$schema' => '/mediawiki/api/request/0.0.1',
'meta' => [
+ 'request_id' => WebRequest::getRequestId(),
'id' => UIDGenerator::newUUIDv1(),
- 'dt' => gmdate( 'c' ),
+ 'dt' => wfTimestamp( TS_ISO_8601 ),
'domain' => $this->getConfig()->get( 'ServerName' ),
'stream' => 'mediawiki.api-request'
],
'http' => [
'method' => $request->getMethod(),
- 'client_ip' => $request->getIP(),
- 'request_headers' => [
- 'user-agent' => $request->getHeader( 'User-agent' ),
- 'api-user-agent' => $request->getHeader( 'Api-user-agent' )
- ],
+ 'client_ip' => $request->getIP()
],
- 'database' => wfWikiID(),
+ 'database' => WikiMap::getCurrentWikiDbDomain()->getId(),
'backend_time_ms' => (int)round( $time * 1000 ),
- 'params' => []
];
- $logCtx['meta']['request_id'] =
- $logCtx['http']['request_headers']['x-request-id'] = WebRequest::getRequestId();
+ // If set, these headers will be logged in http.request_headers.
+ $httpRequestHeadersToLog = [ 'accept-language', 'referer', 'user-agent' ];
+ foreach ( $httpRequestHeadersToLog as $header ) {
+ if ( $request->getHeader( $header ) ) {
+ // Set the header in http.request_headers
+ $logCtx['http']['request_headers'][$header] = $request->getHeader( $header );
+ }
+ }
if ( $e ) {
$logCtx['api_error_codes'] = [];