Java's URLEncoder and URLDecoder classes don't follow the URL-encoding format precisely, instead encoding strings in the slightly different www-form-urlencoded format. This commit ensures that the url-encode and url-decode functions work correctly, leaving it up to the form-encode and form-decode functions to handle data encoded in the www-form-urlencoded format.
- Add a test for :max-age and :expires to (wrap-cookies ...). There were no real tests to exercise the base input cases (int, string) which the comment block states. This test just makes sure it fulfils that contract. - clj-time is now a project dependency - :max-age accepts an Interval as input. Updated (write-attr-map ...) to accept an Interval (from JodaTime) as well as an int. The interface from clj-time is used. - :expires accepts a DateTime object. It converts the DateTime object in the equivalent RFC822 which the cookie spec requires. - Added pre-conditions for :max-age and :expires to make sure that they only accept Interval and DateTime, respectively.