-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Parse and format HTTP/1.1 Date and Time strings -- -- This package provides functionalities to parse and format various Date -- and Time formats allowed in HTTP/1.1 -- (http://tools.ietf.org/html/rfc2616#section-3.3). @package time-http @version 0.3 -- | This module provides functions to parse and format RFC 733 date and -- time strings (http://tools.ietf.org/html/rfc733#appendix-E). -- -- The syntax is as follows: -- --
--   date-time   ::= [ day-of-week ", " ] date SP time ("-" | SP) zone
--   day-of-week ::= "Monday"    | "Mon" | "Tuesday"  | "Tue"
--                 | "Wednesday" | "Wed" | "Thursday" | "Thu"
--                 | "Friday"    | "Fri" | "Saturday" | "Sat"
--                 | "Sunday"    | "Sun"
--   date        ::= day ("-" | SP) month ("-" | SP) year
--   day         ::= 2DIGIT
--   year        ::= 2DIGIT | 4DIGIT
--   month       ::= "January"   | "Jan" | "February" | "Feb"
--                 | "March"     | "Mar" | "April"    | "Apr"
--                 | "May"               | "June"     | "Jun"
--                 | "July"      | "Jul" | "August"   | "Aug"
--                 | "September" | "Sep" | "October"  | "Oct"
--                 | "November"  | "Nov" | "December" | "Dec"
--   time        ::= hour [ ":" ] minute [ [ ":" ] second ]
--   hour        ::= 2DIGIT
--   minute      ::= 2DIGIT
--   second      ::= 2DIGIT
--   zone        ::= "GMT"              ; Universal Time
--                 | "NST"              ; Newfoundland: -3:30
--                 | "AST" | "ADT"      ; Atlantic    :  -4 /  -3
--                 | "EST" | "EDT"      ; Eastern     :  -5 /  -4
--                 | "CST" | "CDT"      ; Central     :  -6 /  -5
--                 | "MST" | "MDT"      ; Mountain    :  -7 /  -6
--                 | "PST" | "PDT"      ; Pacific     :  -8 /  -7
--                 | "YST" | "YDT"      ; Yukon       :  -9 /  -8
--                 | "HST" | "HDT"      ; Haw/Ala     : -10 /  -9
--                 | "BST" | "BDT"      ; Bering      : -11 / -10
--                 | "Z"                ; GMT
--                 | "A"                ;  -1
--                 | "M"                ; -12
--                 | "N"                ;  +1
--                 | "Y"                ; +12
--                 | ("+" | "-") 4DIGIT ; Local diff: HHMM
--   
module Data.Time.Format.RFC733 -- | The phantom type for conversions between RFC 733 date and time strings -- and ZonedTime. -- --
--   >>> convertSuccess (ZonedTime (LocalTime (ModifiedJulianDay 49662) (TimeOfDay 8 49 37)) utc)
--   Tagged "Sunday, 06-Nov-1994 08:49:37 GMT"
--   
data RFC733 -- | The proxy for conversions between RFC 733 date and time strings and -- ZonedTime. rfc733 :: Proxy RFC733 -- | Parse an RFC 733 date and time string. rfc733DateAndTime :: Parser ZonedTime instance ConvertAttempt ZonedTime (Tagged RFC733 AsciiBuilder) instance ConvertAttempt ZonedTime (Tagged RFC733 Ascii) instance ConvertAttempt (Tagged RFC733 Ascii) ZonedTime instance ConvertSuccess ZonedTime (Tagged RFC733 AsciiBuilder) instance ConvertSuccess ZonedTime (Tagged RFC733 Ascii) -- | This module provides functions to parse and format RFC 822 date and -- time strings (http://tools.ietf.org/html/rfc822#section-5). -- -- The syntax is as follows: -- --
--   date-time   ::= [ day-of-week ", " ] date SP time SP zone
--   day-of-week ::= "Mon" | "Tue" | "Wed" | "Thu"
--                 | "Fri" | "Sat" | "Sun"
--   date        ::= day SP month SP year
--   day         ::= 2DIGIT
--   year        ::= 2DIGIT             ; Yes, only 2 digits.
--   month       ::= "Jan" | "Feb" | "Mar" | "Apr"
--                 | "May" | "Jun" | "Jul" | "Aug"
--                 | "Sep" | "Oct" | "Nov" | "Dec"
--   time        ::= hour ":" minute [ ":" second ]
--   hour        ::= 2DIGIT
--   minute      ::= 2DIGIT
--   second      ::= 2DIGIT
--   zone        ::= "UT"  | "GMT"      ; Universal Time
--                 | "EST" | "EDT"      ; Eastern : -5 / -4
--                 | "CST" | "CDT"      ; Central : -6 / -5
--                 | "MST" | "MDT"      ; Mountain: -7 / -6
--                 | "PST" | "PDT"      ; Pacific : -8 / -7
--                 | "Z"                ; UT
--                 | "A"                ;  -1
--                 | "M"                ; -12
--                 | "N"                ;  +1
--                 | "Y"                ; +12
--                 | ("+" | "-") 4DIGIT ; Local diff: HHMM
--   
module Data.Time.Format.RFC822 -- | The phantom type for conversions between RFC 822 date and time strings -- and ZonedTime. -- --
--   >>> convertSuccess (ZonedTime (LocalTime (ModifiedJulianDay 49662) (TimeOfDay 8 49 37)) utc)
--   Tagged "Sun, 06 Nov 94 08:49:37 GMT"
--   
data RFC822 -- | The proxy for conversions between RFC 822 date and time strings and -- ZonedTime. rfc822 :: Proxy RFC822 -- | Parse an RFC 822 date and time string. rfc822DateAndTime :: Parser ZonedTime -- | This module provides functions to parse and format RFC 1123 date and -- time strings (http://tools.ietf.org/html/rfc1123#page-55). -- -- The format is basically the same as RFC 822, but the syntax for -- date is changed from: -- --
--   year ::= 2DIGIT
--   
-- -- to: -- --
--   year ::= 4DIGIT
--   
module Data.Time.Format.RFC1123 -- | The phantom type for conversions between RFC 1123 date and time -- strings and ZonedTime. -- --
--   >>> convertSuccess (ZonedTime (LocalTime (ModifiedJulianDay 49662) (TimeOfDay 8 49 37)) utc)
--   Tagged "Sun, 06 Nov 1994 08:49:37 GMT"
--   
data RFC1123 -- | The proxy for conversions between RFC 1123 date and time strings and -- ZonedTime. rfc1123 :: Proxy RFC1123 -- | Parse an RFC 1123 date and time string. rfc1123DateAndTime :: Parser ZonedTime instance ConvertAttempt ZonedTime (Tagged RFC1123 AsciiBuilder) instance ConvertAttempt ZonedTime (Tagged RFC1123 Ascii) instance ConvertAttempt (Tagged RFC1123 Ascii) ZonedTime instance ConvertSuccess ZonedTime (Tagged RFC1123 AsciiBuilder) instance ConvertSuccess ZonedTime (Tagged RFC1123 Ascii) -- | This module provides functions for ANSI C's date and time strings. -- -- ANSI C's ctime(3)/asctime(3) format looks like: -- --
--   Wdy Mon [D]D HH:MM:SS YYYY
--   
-- -- The exact syntax is as follows: -- --
--   date-time ::= wday SP month SP day SP time SP year
--   wday      ::= "Mon" | "Tue" | "Wed" | "Thu"
--               | "Fri" | "Sat" | "Sun"
--   month     ::= "Jan" | "Feb" | "Mar" | "Apr"
--               | "May" | "Jun" | "Jul" | "Aug"
--               | "Sep" | "Oct" | "Nov" | "Dec"
--   day       ::= 2DIGIT | SP 1DIGIT
--   time      ::= 2DIGIT ':' 2DIGIT [':' 2DIGIT]
--   year      ::= 4DIGIT
--   
module Data.Time.Format.C -- | The phantom type for conversions between ANSI C's date and time -- strings and LocalTime. -- --
--   >>> convertSuccess (LocalTime (ModifiedJulianDay 49662) (TimeOfDay 8 49 37))
--   Tagged "Sun Nov  6 08:49:37 1994"
--   
data C -- | The proxy for conversions between ANSI C's date and time strings and -- LocalTime. c :: Proxy C -- | Parse an ANSI C's date and time string. cDateAndTime :: Parser LocalTime instance ConvertAttempt LocalTime (Tagged C AsciiBuilder) instance ConvertAttempt LocalTime (Tagged C Ascii) instance ConvertAttempt (Tagged C Ascii) LocalTime instance ConvertSuccess LocalTime (Tagged C AsciiBuilder) instance ConvertSuccess LocalTime (Tagged C Ascii) -- | This module provides functions to parse and format HTTP/1.1 date and -- time strings (http://tools.ietf.org/html/rfc2616#section-3.3). -- -- The HTTP/1.1 specification (RFC 2616) says that HTTP/1.1 clients and -- servers which parse the date value MUST accept all the following -- formats, though they MUST only generate the RFC 1123 format for -- representing HTTP-date values in header fields: -- --
--   Sun, 06 Nov 1994 08:49:37 GMT  ; RFC 822, updated by RFC 1123
--   Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036
--   Sun Nov  6 08:49:37 1994       ; ANSI C's asctime() format
--   
-- -- It also says that all HTTP date/time stamps MUST be represented in -- Greenwich Mean Time (GMT), without exception. For the purposes of -- HTTP, GMT is exactly equal to UTC (Coordinated Universal Time). This -- is indicated in the first two formats by the inclusion of -- "GMT" as the three-letter abbreviation for time zone, and -- MUST be assumed when reading the asctime format. -- --
--   HTTP-date    = rfc1123-date | rfc850-date | asctime-date
--   rfc1123-date = wkday "," SP date1 SP time SP "GMT"
--   rfc850-date  = weekday "," SP date2 SP time SP "GMT"
--   asctime-date = wkday SP date3 SP time SP 4DIGIT
--   date1        = 2DIGIT SP month SP 4DIGIT
--                  ; day month year (e.g., 02 Jun 1982)
--   date2        = 2DIGIT "-" month "-" 2DIGIT
--                  ; day-month-year (e.g., 02-Jun-82)
--   date3        = month SP ( 2DIGIT | ( SP 1DIGIT ))
--                  ; month day (e.g., Jun  2)
--   time         = 2DIGIT ":" 2DIGIT ":" 2DIGIT
--                  ; 00:00:00 - 23:59:59
--   wkday        = "Mon" | "Tue" | "Wed"
--                | "Thu" | "Fri" | "Sat" | "Sun"
--   weekday      = "Monday" | "Tuesday" | "Wednesday"
--                | "Thursday" | "Friday" | "Saturday" | "Sunday"
--   month        = "Jan" | "Feb" | "Mar" | "Apr"
--                | "May" | "Jun" | "Jul" | "Aug"
--                | "Sep" | "Oct" | "Nov" | "Dec"
--   
module Data.Time.Format.HTTP -- | The phantom type for conversions between HTTP/1.1 date and time -- strings and UTCTime. -- --
--   >>> convertSuccess (UTCTime (ModifiedJulianDay 49662) 31777)
--   Tagged "Sun, 06 Nov 1994 08:49:37 GMT"
--   
data HTTP -- | The proxy for conversions between ANSI HTTP/1.1 date and time strings -- and UTCTime. http :: Proxy HTTP -- | Parse a date and time string in any of RFC 822, RFC 1123, RFC 850 and -- ANSI C's asctime() formats. -- -- This function is even more permissive than what HTTP/1.1 (RFC 2616) -- specifies. That is, it accepts 2-digit years in RFC 822, omitted -- separator symbols in RFC 850, omitted sec fields, and non-GMT time -- zones. I believe this behavior will not cause a problem though. httpDateAndTime :: Parser UTCTime instance ConvertAttempt UTCTime (Tagged HTTP AsciiBuilder) instance ConvertAttempt UTCTime (Tagged HTTP Ascii) instance ConvertAttempt (Tagged HTTP Ascii) UTCTime instance ConvertSuccess UTCTime (Tagged HTTP AsciiBuilder) instance ConvertSuccess UTCTime (Tagged HTTP Ascii)