run-jetty :configurator set to run last
Cookies still need to be www-form-urlencoded using the URLEncoder and URLDecoder classes to maintain backward compatibility.
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.
Refactor parameter parsing
Support clj-time Intervals/DateTime for :max-age and :expires
- 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.
Simplify the equality check against 0
Replace this with (zero? ...)
Cloud environments like Heroku tend to have limit how many native threads you can have per process. Setting a lower default value means people won't be caught out as easily.
A better place for examples would be linked from the wiki.
A lot of the information in the README can be put in the wiki instead. Now the README contains a brief overview, installation instructions, and a link to the API docs and wiki.
The Jetty 7 API docs are not always accurate about what a function does. The setTrustAll method only applies when there is no keystore or truststore, rendering it useless for client certificates. This reverts commit 00bb43e.