Skip to content

Commit d78f5c1

Browse files
committed
Added extra headers to Cloudflare Driver
1 parent d406651 commit d78f5c1

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

src/Drivers/Cloudflare.php

+8
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@ protected function process(Request $request): Fluent|false
2828
'cityName' => $request->getHeader('cf-ipcity'),
2929
'longitude' => $request->getHeader('cf-iplongitude'),
3030
'latitude' => $request->getHeader('cf-iplatitude'),
31+
'region' => $request->getHeader('cf-region'),
32+
'regionCode' => $request->getHeader('cf-region-code'),
33+
'postalCode' => $request->getHeader('cf-postal-code'),
34+
'timezone' => $request->getHeader('cf-timezone'),
3135
]);
3236
}
3337

@@ -41,6 +45,10 @@ protected function hydrate(Position $position, Fluent $location): Position
4145
$position->cityName = $location->cityName;
4246
$position->longitude = $location->longitude;
4347
$position->latitude = $location->latitude;
48+
$position->regionName = $location->region;
49+
$position->regionCode = $location->regionCode;
50+
$position->postalCode = $location->postalCode;
51+
$position->timezone = $location->timezone;
4452

4553
return $position;
4654
}

tests/CloudflareTest.php

+8-4
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@
1818
'CF-IPCity' => 'Boxford',
1919
'CF-IPLatitude' => '51.75',
2020
'CF-IPLongitude' => '-1.25',
21+
'CF-Region' => 'Plymouth',
22+
'CF-Region-Code' => 'PLY',
23+
'CF-Postal-Code' => 'PL5',
24+
'CF-Timezone' => 'Europe/London',
2125
]);
2226

2327
$position = Location::get('2.125.160.216');
@@ -28,17 +32,17 @@
2832
'ip' => '2.125.160.216',
2933
'countryName' => null,
3034
'countryCode' => 'GB',
31-
'regionCode' => null,
32-
'regionName' => null,
35+
'regionCode' => 'PLY',
36+
'regionName' => 'Plymouth',
3337
'cityName' => 'Boxford',
3438
'zipCode' => null,
3539
'isoCode' => 'GB',
36-
'postalCode' => null,
40+
'postalCode' => 'PL5',
3741
'latitude' => '51.75',
3842
'longitude' => '-1.25',
3943
'metroCode' => null,
4044
'areaCode' => null,
41-
'timezone' => null,
45+
'timezone' => 'Europe/London',
4246
'driver' => Cloudflare::class,
4347
]);
4448
});

0 commit comments

Comments
 (0)