$_SERVER['HTTP_X_FORWARDED_PROTO'] = 'https'; $t->is($request->getUriPrefix(), 'https://symfony-project.org', '->getUriPrefix() works on secure requests forwarded as non-secure requests'); $request->resetPathInfoArray(); $request->setOption('https_port', '8043'); $_SERVER['HTTP_HOST'] = 'symfony-project.org'; $_SERVER['SERVER_PORT'] = '80'; $_SERVER['HTTP_X_FORWARDED_PROTO'] = 'https'; $t->is($request->getUriPrefix(), 'https://symfony-project.org:8043', '->getUriPrefix() uses the configured port on secure requests forwarded as non-secure requests'); $request->resetPathInfoArray(); // ->getRemoteAddress() $t->diag('->getRemoteAddress()'); $_SERVER['REMOTE_ADDR'] = '127.0.0.1'; $t->is($request->getRemoteAddress(), '127.0.0.1', '->getRemoteAddress() returns the remote address'); // ->getForwardedFor() $t->diag('->getForwardedFor()'); $t->is($request->getForwardedFor(), null, '->getForwardedFor() returns null if the request was not forwarded.'); $_SERVER['HTTP_X_FORWARDED_FOR'] = '10.0.0.1, 10.0.0.2'; $t->is_deeply($request->getForwardedFor(), array('10.0.0.1', '10.0.0.2'), '->getForwardedFor() returns the value from HTTP_X_FORWARDED_FOR'); // ->getMethod() $t->diag('->getMethod()'); $_SERVER['REQUEST_METHOD'] = 'POST'; $_POST['sf_method'] = 'PUT'; $request = new myRequest($dispatcher); $t->is($request->getMethod(), 'PUT', '->getMethod() returns the "sf_method" parameter value if it exists and if the method is POST'); $_SERVER['REQUEST_METHOD'] = 'GET'; $_POST['sf_method'] = 'PUT'; $request = new myRequest($dispatcher); $t->is($request->getMethod(), 'GET', '->getMethod() returns the "sf_method" parameter value if it exists and if the method is POST'); $_SERVER['REQUEST_METHOD'] = 'POST'; unset($_POST['sf_method']); $request = new myRequest($dispatcher);