/** * Creates a log entry from the given request * * @param Slim\Http\Request $request The request * * @return \API\Document\Log The log document */ public function logRequest($request) { $collection = $this->getDocumentManager()->getCollection('logs'); $document = $collection->createDocument(); $document->setIp($request->getIp()); $document->setMethod($request->getMethod()); $document->setEndpoint($request->getPathInfo()); $currentDate = new \DateTime(); $document->setTimestamp(Util\Date::dateTimeToMongoDate($currentDate)); $document->save(); return $document; }
/** * Test get [script name, root uri, path, path info, resource uri] in root directory with htaccess */ public function testAppPathsInRootDirectoryWithHtaccess() { $env = \Slim\Environment::mock(array('SCRIPT_NAME' => '', 'PATH_INFO' => '/bar/xyz')); $req = new \Slim\Http\Request($env); $this->assertEquals('', $req->getScriptName()); $this->assertEquals('', $req->getRootUri()); $this->assertEquals('/bar/xyz', $req->getPath()); $this->assertEquals('/bar/xyz', $req->getPathInfo()); $this->assertEquals('/bar/xyz', $req->getResourceUri()); }
/** * Reconstructs a full URL for the request from Slim's request object. * * @param Slim\Environment $env The application environment. * @param Slim\Http\Request $request * @return string The request URL. */ private function request_url($env, $request) { $url = implode('', array($request->getUrl(), $request->getRootUri(), $request->getPathInfo())); if (isset($env['QUERY_STRING']) and !empty($env['QUERY_STRING'])) { $url .= '?' . $env['QUERY_STRING']; } return $url; }