PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.20
Booking for Appointments and Events Calendar – Amelia v1.2.20
2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / vendor / php-http / message / src / CookieUtil.php
ameliabooking / vendor / php-http / message / src Last commit date
Authentication 3 years ago Builder 3 years ago Decorator 3 years ago Encoding 3 years ago Exception 3 years ago Formatter 3 years ago MessageFactory 3 years ago RequestMatcher 3 years ago Stream 3 years ago StreamFactory 3 years ago UriFactory 3 years ago Authentication.php 3 years ago Cookie.php 3 years ago CookieJar.php 3 years ago CookieUtil.php 3 years ago Exception.php 3 years ago Formatter.php 3 years ago RequestMatcher.php 3 years ago filters.php 7 years ago
CookieUtil.php
54 lines
1 <?php
2
3 namespace AmeliaHttp\Message;
4
5 use AmeliaHttp\Message\Exception\UnexpectedValueException;
6
7 final class CookieUtil
8 {
9 /**
10 * Handles dates as defined by RFC 2616 section 3.3.1, and also some other
11 * non-standard, but common formats.
12 *
13 * @var array
14 */
15 private static $dateFormats = [
16 'D, d M y H:i:s T',
17 'D, d M Y H:i:s T',
18 'D, d-M-y H:i:s T',
19 'D, d-M-Y H:i:s T',
20 'D, d-m-y H:i:s T',
21 'D, d-m-Y H:i:s T',
22 'D M j G:i:s Y',
23 'D M d H:i:s Y T',
24 ];
25
26 /**
27 * @see https://github.com/symfony/symfony/blob/master/src/Symfony/Component/BrowserKit/Cookie.php
28 *
29 * @param string $dateValue
30 *
31 * @return \DateTime
32 *
33 * @throws UnexpectedValueException if we cannot parse the cookie date string.
34 */
35 public static function parseDate($dateValue)
36 {
37 foreach (self::$dateFormats as $dateFormat) {
38 if (false !== $date = \DateTime::createFromFormat($dateFormat, $dateValue, new \DateTimeZone('GMT'))) {
39 return $date;
40 }
41 }
42
43 // attempt a fallback for unusual formatting
44 if (false !== $date = date_create($dateValue, new \DateTimeZone('GMT'))) {
45 return $date;
46 }
47
48 throw new UnexpectedValueException(sprintf(
49 'Unparseable cookie date string "%s"',
50 $dateValue
51 ));
52 }
53 }
54