Exemplo n.º 1
0
 /**
  * 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;
 }
Exemplo n.º 2
0
 /**
  * Test get IP with proxy server and X-Forwarded-For header
  */
 public function testGetIpWithForwardedFor()
 {
     $env = \Slim\Environment::mock(array('REMOTE_ADDR' => '127.0.0.1', 'CLIENT_IP' => '127.0.0.2', 'X_FORWARDED_FOR' => '127.0.0.3'));
     $req = new \Slim\Http\Request($env);
     $this->assertEquals('127.0.0.3', $req->getIp());
 }
Exemplo n.º 3
0
 /**
  * Test get IP
  *  @dataProvider dataTestIp
  */
 public function testGetIp(array $server, $expected)
 {
     $env = \Slim\Environment::mock($server);
     $req = new \Slim\Http\Request($env);
     $this->assertEquals($expected, $req->getIp());
 }