PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.4
Booking for Appointments and Events Calendar – Amelia v2.4.4
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 6 months ago Builder 6 months ago Decorator 6 months ago Encoding 6 months ago Exception 3 years ago Formatter 6 months ago MessageFactory 6 months ago RequestMatcher 6 months ago Stream 6 months ago StreamFactory 6 months ago UriFactory 6 months ago Authentication.php 6 months ago Cookie.php 3 years ago CookieJar.php 3 years ago CookieUtil.php 3 years ago Exception.php 3 years ago Formatter.php 6 months ago RequestMatcher.php 6 months 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