public function defaultContext() : array { if (ISCLI) { return ['ip' => 'localhost', 'hostname' => 'localhost', 'port' => null, 'user_agent' => 'cli', 'referrer' => null, 'uri' => $GLOBALS['argv'][0] ?? '']; } return ['ip' => $_SERVER['REMOTE_ADDR'] ?? null, 'hostname' => $_SERVER['HTTP_HOST'] ?? null, 'port' => $_SERVER['SERVER_PORT'] ?? null, 'user_agent' => $_SERVER['HTTP_USER_AGENT'] ?? null, 'referrer' => $_SERVER['HTTP_REFERER'] ?? null, 'uri' => $_SERVER['REQUEST_URI'] ?? '']; }