@@ -34,6 +34,23 @@ public function testUsesRequestServerData()
34
34
$ this ->assertEquals ($ server ['HTTP_REFERER ' ], $ record ['extra ' ]['referrer ' ]);
35
35
}
36
36
37
+ public function testUseRequestClientIp ()
38
+ {
39
+ Request::setTrustedProxies (['192.168.0.1 ' ]);
40
+ list ($ event , $ server ) = $ this ->createRequestEvent (array ('X_FORWARDED_FOR ' => '192.168.0.2 ' ));
41
+
42
+ $ processor = new WebProcessor ();
43
+ $ processor ->onKernelRequest ($ event );
44
+ $ record = $ processor ($ this ->getRecord ());
45
+
46
+ $ this ->assertCount (5 , $ record ['extra ' ]);
47
+ $ this ->assertEquals ($ server ['REQUEST_URI ' ], $ record ['extra ' ]['url ' ]);
48
+ $ this ->assertEquals ($ server ['X_FORWARDED_FOR ' ], $ record ['extra ' ]['ip ' ]);
49
+ $ this ->assertEquals ($ server ['REQUEST_METHOD ' ], $ record ['extra ' ]['http_method ' ]);
50
+ $ this ->assertEquals ($ server ['SERVER_NAME ' ], $ record ['extra ' ]['server ' ]);
51
+ $ this ->assertEquals ($ server ['HTTP_REFERER ' ], $ record ['extra ' ]['referrer ' ]);
52
+ }
53
+
37
54
public function testCanBeConstructedWithExtraFields ()
38
55
{
39
56
if (!$ this ->isExtraFieldsSupported ()) {
@@ -54,18 +71,22 @@ public function testCanBeConstructedWithExtraFields()
54
71
/**
55
72
* @return array
56
73
*/
57
- private function createRequestEvent ()
74
+ private function createRequestEvent ($ additionalServerParameters = array () )
58
75
{
59
- $ server = array (
60
- 'REQUEST_URI ' => 'A ' ,
61
- 'REMOTE_ADDR ' => 'B ' ,
62
- 'REQUEST_METHOD ' => 'C ' ,
63
- 'SERVER_NAME ' => 'D ' ,
64
- 'HTTP_REFERER ' => 'E ' ,
76
+ $ server = array_merge (
77
+ array (
78
+ 'REQUEST_URI ' => 'A ' ,
79
+ 'REMOTE_ADDR ' => '192.168.0.1 ' ,
80
+ 'REQUEST_METHOD ' => 'C ' ,
81
+ 'SERVER_NAME ' => 'D ' ,
82
+ 'HTTP_REFERER ' => 'E ' ,
83
+ ),
84
+ $ additionalServerParameters
65
85
);
66
86
67
87
$ request = new Request ();
68
88
$ request ->server ->replace ($ server );
89
+ $ request ->headers ->replace ($ server );
69
90
70
91
$ event = $ this ->getMockBuilder ('Symfony\Component\HttpKernel\Event\GetResponseEvent ' )
71
92
->disableOriginalConstructor ()
0 commit comments