Commit Graph

1339 Commits

Author SHA1 Message Date
Jan Bartel 1a6dd7615d Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2016-11-02 17:33:35 +11:00
Jan Bartel 8461cc07b3 Issue #1050 2016-11-02 17:32:55 +11:00
Joakim Erdfelt 2c38511828 Updating to version 9.3.15-SNAPSHOT 2016-10-28 13:01:34 -07:00
Joakim Erdfelt 14611d2f76 Updating to version 9.3.14.v20161028 2016-10-28 12:21:02 -07:00
Simone Bordet 69aa9d77ee Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-10-28 12:15:14 +02:00
Simone Bordet 206122756f Fixes #1037 - Don't execute AsyncListener.onTimeout events in spare Scheduler-Thread.
Now calling onTimeout() from pooled threads.
Restored AsyncListener test cases.
2016-10-28 12:01:39 +02:00
Jan Bartel 917c7440b6 Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2016-10-26 16:33:24 +11:00
Joakim Erdfelt ade14ba34b Updating to version 9.3.14-SNAPSHOT 2016-10-14 11:33:51 -07:00
Joakim Erdfelt c3a78e70a8 Updating to version 9.3.13.v20161014 2016-10-14 10:39:37 -07:00
Denis Bardadym 8eb56edc8a Fix typo in DefaultServlet (#988)
Fixes #952

Signed-off-by: Denis Bardadym <bardadymchik@gmail.com>
2016-10-14 14:18:16 +11:00
Jan Bartel 8e4c595b52 Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2016-10-13 15:26:48 +11:00
Jan Bartel 5a85c33e6e Issue #1000
Refine warning message.
2016-10-13 15:25:45 +11:00
Jan Bartel 457c66c58d Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2016-10-13 15:21:17 +11:00
Jan Bartel 37ec4160bb Issue #1000 2016-10-13 15:06:47 +11:00
Greg Wilkins 98bb582d45 Jetty 9.4.x http interceptor #382
* Issue #382 Request compression

Added identity HttpInput.Interceptor
Moved GZIPContentDecoder to jetty-http
Reworking interceptor and GZIPContentDecoder to avoid data copies
Completed and tested GZIPContentDecoder
Implemented GzipHttpInputInterceptor
updated GzipHandler.java
updated gzip module
use common GZIP decoder
Gzip Bomb
handle read() after empty interception
2016-10-05 13:49:20 +11:00
Jesse McConnell 863913b64e set for dev 2016-09-30 19:05:47 +00:00
Jesse McConnell b91cc8a4ea set for release 2016-09-30 18:01:20 +00:00
Simone Bordet 716c595cdf Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-26 12:20:22 +02:00
Simone Bordet 74b86bad35 Fixes #960 - Async I/O spin when reading early EOF.
AsyncIOServletTest is now testing HTTP/1.1 and HTTP/2 transports.
2016-09-26 11:49:57 +02:00
Simone Bordet 9551d0f62b Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-22 21:57:12 +02:00
Simone Bordet 1f92ba2112 Code cleanup. 2016-09-22 21:28:09 +02:00
Joakim Erdfelt b0880f617a Merge branch 'release-9.3.12' into jetty-9.3.x 2016-09-20 14:39:08 -07:00
Simone Bordet 82aec3986e Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-16 10:37:45 +02:00
Olivier Lamy 1bf87b317b Add support of a query param to reset stats of StatisticsHandler tru StatisticsServlet (#919)
StatisticsServlet: support a new parameter to be able to reset stats

Signed-off-by: olivier lamy <olamy@webtide.com>
2016-09-16 10:36:33 +02:00
Joakim Erdfelt 6cf10172ca Updating to version 9.3.13-SNAPSHOT 2016-09-15 07:34:52 -07:00
Joakim Erdfelt 8b35fdc5a5 Updating to version 9.3.12.v20160915 2016-09-15 06:48:16 -07:00
Simone Bordet 14e000428f Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-14 17:26:00 +02:00
Simone Bordet cb89ea8466 Fixes #131 - Improve Connector Statistic names and values.
Removed references to deprecated ConnectorStatistic in favor of
ConnectionStatistics.
2016-09-14 17:24:45 +02:00
Greg Wilkins ea08a6db72 Issue #911
Fix spec compliance, return HttpServletRequest.getContextPath as encoded.
2016-09-14 18:28:02 +10:00
Greg Wilkins b6a39cf7d3 Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2016-09-09 10:13:38 +10:00
Greg Wilkins 68340a94d0 Issue #911 encode requestURI in startAsync(req,res) 2016-09-09 10:12:08 +10:00
Greg Wilkins b408786b9a Issue #911 encode requestURI in startAsync(req,res) 2016-09-09 09:20:24 +10:00
Greg Wilkins 4312995d89 Issue #911 encode requestURI in startAsync(req,res) 2016-09-09 09:19:01 +10:00
Greg Wilkins ebec811427 Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2016-09-09 09:10:48 +10:00
Greg Wilkins 1247380976 Issue #911 encode requestURI in startAsync(req,res) 2016-09-09 09:09:51 +10:00
Joakim Erdfelt fb7da26ad2 Updating to version 9.2.20-SNAPSHOT 2016-09-08 13:04:11 -07:00
Joakim Erdfelt 7b94bc32f4 Updating to version 9.2.19.v20160908 2016-09-08 12:11:44 -07:00
Greg Wilkins a6512c991b Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2016-09-08 15:03:10 +10:00
Greg Wilkins f7d017ca1a Issue #911 encode requestURI in startAsync(req,res) 2016-09-08 15:00:54 +10:00
Jan Bartel 30bf3febdc Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2016-09-02 15:45:15 +10:00
Jan Bartel 58c3b30f9e Merge branch 'jetty-9.3.x' of github.com:eclipse/jetty.project into jetty-9.3.x 2016-09-02 15:43:31 +10:00
Jan Bartel 9e74080f8b Merge remote-tracking branch 'origin/jetty-9.2.x' into jetty-9.3.x 2016-09-02 15:42:48 +10:00
Greg Wilkins 25574d2843 Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2016-09-02 14:57:44 +10:00
Greg Wilkins 1f7c5a5b20 Issue #898
Added addCSV method to HttpFields to more efficiently add values to a CSV field without duplicates.
Improved usage of QuotedCSV and removed older parsing

Used new method in GazipHttpOutPutInterceptor to avoid duplicate Vary fields
2016-09-02 14:57:13 +10:00
Jan Bartel 0d6667dc9f Issue #894 2016-09-02 13:50:25 +10:00
Joakim Erdfelt 2830e51e04 Merge branch 'jetty-9.3.x' into release-9.3.11 2016-07-28 12:20:36 -07:00
Greg Wilkins a415e72e2d Fixed Debug NPE #754
Fixed the fix
2016-07-28 18:29:21 +10:00
Joakim Erdfelt 87c8e1c019 Merge branch 'jetty-9.3.x' into jetty-9.4.x 2016-07-25 17:02:51 -07:00
Greg Wilkins e53ea55f48 Issue #752 SETTINGS_MAX_HEADER_LIST_SIZE
Defined missing status codes (removed old/wrong javadoc)
Changed use of 413 to 431
Received SETTINGS_MAX_HEADER_LIST_SIZE is set on hpack encoded and warning generated only for large responses.
2016-07-23 12:17:50 +10:00
Joakim Erdfelt 6e1b1cdb36 Updating to version 9.3.12-SNAPSHOT 2016-07-21 19:07:19 -07:00
Joakim Erdfelt 9fd6d4354e Updating to version 9.3.11.v20160721 2016-07-21 18:37:09 -07:00
Joakim Erdfelt 0b18340179 Updating to version 9.2.19-SNAPSHOT 2016-07-21 13:10:23 -07:00
Joakim Erdfelt d3ff3423f0 Updating to version 9.2.18.v20160721 2016-07-21 12:35:26 -07:00
Greg Wilkins 86ff9f984d fixed noisy/broken tests 2016-07-19 15:16:14 +10:00
Simone Bordet 6adb5eb031 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-07-15 18:12:02 +02:00
Simone Bordet 0433a8ca73 Issue #730 - "Slow" client causes IllegalStateException.
Fixed by allowing state ASYNC to call onWritePossible().
2016-07-15 18:11:28 +02:00
Simone Bordet a38e819907 Code cleanups. 2016-07-15 18:09:44 +02:00
Joakim Erdfelt 165a7082ba Merge branch 'jetty-9.3.x' into jetty-9.4.x 2016-07-13 12:29:43 -07:00
Joakim Erdfelt 241ef90769 Issue #721 - Enhancing multi-line response header testcase 2016-07-13 12:29:02 -07:00
Simone Bordet 2954ef0fd8 Merge branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-07-13 20:10:08 +02:00
Joakim Erdfelt e4249fdd9b Issue #721 - Adding testcase for multi-line response values 2016-07-13 09:33:30 -07:00
Joakim Erdfelt b28064c2c8 Using LocalConnector in test 2016-07-13 09:20:34 -07:00
Greg Wilkins c60cca7b8c clean up import 2016-07-13 11:59:02 +10:00
Joakim Erdfelt 232a077b9d Merge branch 'jetty-9.3.x' into jetty-9.4.x 2016-07-12 17:50:16 -07:00
Joakim Erdfelt 30f8f32594 Issue #717 - Adding Transfer-Encoding: chunked testcase 2016-07-12 17:47:53 -07:00
Joakim Erdfelt d08d5b949c Issue #717 - Adding testcase for GzipHandler.minGzipSize 2016-07-12 12:04:49 -07:00
Jan Bartel 5b5c8c3791 Issue #282 2016-07-08 13:23:00 +10:00
Greg Wilkins e38ec83de9 Issue #695 use the getResponse methods 2016-07-07 18:13:44 +10:00
Jesse McConnell ae931538ab [maven-release-plugin] prepare for next development iteration 2016-06-22 13:59:10 -05:00
Jesse McConnell df1ed4fb03 [maven-release-plugin] prepare release jetty-9.3.11.M0 2016-06-22 13:59:06 -05:00
Jesse McConnell 2b947e8f72 Merge branch 'jetty-9.3.x' into release-9.3.10 2016-06-22 13:22:27 -05:00
Joakim Erdfelt 8157a4533c Merge branch 'jetty-9.3.x' into jetty-9.4.x 2016-06-22 10:43:43 -07:00
Joakim Erdfelt cb03ffd9a2 Merge branch 'jetty-9.2.x' into jetty-9.3.x 2016-06-22 08:51:24 -07:00
Joakim Erdfelt 2731ac1752 Issue #654: Confirming ServletContext.getResourceAsStream() behavior in Jetty 9.2.x 2016-06-22 08:50:25 -07:00
Jesse McConnell 030ec61837 [maven-release-plugin] prepare for next development iteration 2016-06-22 09:14:25 -05:00
Jesse McConnell 9a4cb41122 [maven-release-plugin] prepare release jetty-9.3.11.M0 2016-06-22 09:14:21 -05:00
Jesse McConnell e7034117ea [maven-release-plugin] prepare for next development iteration 2016-06-21 08:50:13 -05:00
Jesse McConnell 16c435c69d [maven-release-plugin] prepare release jetty-9.3.10.v20160621 2016-06-21 08:50:09 -05:00
Greg Wilkins 3a9dfd913a Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2016-06-08 16:24:09 +10:00
Greg Wilkins f4c13e5f54 Issue #623 Add gzip suffix to etags in 304 response 2016-06-08 14:33:49 +10:00
Greg Wilkins 24ac1b7edd removed fragile test 2016-05-20 12:10:06 +10:00
Greg Wilkins 595e44a3f2 removed fragile test 2016-05-20 12:08:23 +10:00
Jesse McConnell 4bf91b5ab3 Merge remote-tracking branch 'origin/release-9.3.9' into jetty-9.3.x 2016-05-19 09:55:58 -05:00
Greg Wilkins 79e5c31029 improved unit test, fixed deferred on chunking 2016-05-19 17:46:50 +10:00
Greg Wilkins 74110d445e fixed bad unit test 2016-05-19 17:39:19 +10:00
Greg Wilkins 49ec41f600 Issue #525 fix blockForContent spin
Improved test
2016-05-18 12:54:27 +10:00
Jesse McConnell dc4574f380 [maven-release-plugin] prepare for next development iteration 2016-05-17 17:30:17 -05:00
Jesse McConnell 0bbebec1e0 [maven-release-plugin] prepare release jetty-9.3.9.v20160517 2016-05-17 17:30:13 -05:00
Jesse McConnell d5c6793e6a [maven-release-plugin] prepare for next development iteration 2016-05-17 15:33:46 -05:00
Jesse McConnell 0bab7e6616 [maven-release-plugin] prepare release jetty-9.2.17.v20160517 2016-05-17 15:33:42 -05:00
Simone Bordet 039ced6e25 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-05-16 15:13:54 +02:00
Joakim Erdfelt e5062a74dd Merge pull request #569 from eclipse/bugs/567
Fixes #567 - NPE in ErrorPageErrorHandler debug
2016-05-13 15:47:36 -07:00
Greg Wilkins 7c6786a050 Issue #525
fixed bad merge
2016-05-12 13:42:46 +10:00
Greg Wilkins 6fb095f02c Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2016-05-11 16:23:06 +10:00
Joakim Erdfelt 9cf8f2965a Fixes #567 - NPE in ErrorPageErrorHandler debug
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2016-05-10 17:28:34 -07:00
Greg Wilkins d8715ad217 improved test 2016-05-10 11:43:34 +10:00
Simone Bordet 9a5d8f3943 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-05-06 17:43:49 +02:00
Greg Wilkins 2a5b120fc3 Issue #525 fix blockForContent spin
abort request in bad request handling
2016-05-06 20:31:55 +10:00
Greg Wilkins 5b8f411ba9 Issue #539
Made ResourceService pluggable
2016-05-04 11:08:49 +10:00
Greg Wilkins 3e8187dcd5 Merge remote-tracking branch 'origin/jetty-9.3.x' 2016-04-29 16:58:00 +10:00
Greg Wilkins 9dbd944850 Issue #525 Looping on malformed request
Fixed unit test for 9.4 error handling
2016-04-29 15:05:19 +10:00
Greg Wilkins d38bdb6e7c 486530 - Handler added to WebAppContext prevents ServletContext initialization
Fixed needless warnings during destroy
2016-04-28 15:17:28 +10:00
Greg Wilkins 092ed57a17 Merge remote-tracking branch 'origin/jetty-9.3.x' 2016-04-28 08:17:45 +10:00
Greg Wilkins 695b63fc78 Issue #525 Looping on malformed request
Improved onBadMessage handling so that it better handles ISE thrown when a bad message is detected while dispatched to the servlet.
2016-04-27 18:57:15 +10:00
Joakim Erdfelt 44fa2b0de1 Issue #525 - Possible 100% CPU Consumption in HttpInputOverHttp.blockForContent with malformed HTTP-Request
+ Adding testcase to attempt to replicate
  (Does not cause spin loop, so set to @Ignore for now)
2016-04-26 14:31:08 -07:00
Joakim Erdfelt f1c34cb10f Close #526 - Headers set from RequestDispatcher.include() not showing up in response
+ Adding 2 testcases to verify behavior
2016-04-26 14:04:56 -07:00
Mikko Tiihonen aa8597c19e Sort equal quality accept-encoding values based on server configured preference (#507)
* Sort equal quality accept-encoding values based on server configured preference. Add fixed size cache to reduce overhead of complex header parsing. #507 

Signed-off-by: Mikko Tiihonen <mikko.tiihonen@nitorcreations.com>

* Only look at the first Accept-Encoding header value in the request. Jetty has never supported handling of multiple headers before and the worst thing that can happen is that the static content is sent uncompressed

* Rename tieBreakerFunction to secondaryOrderingFunction

* Make accept-encoding header cache size configurable

* Add back multiple accept-encoding header handling (with optimizations). Merge QuotedEncodingQualityCSV back to QuotedQualityCSV. Fix documentation on how to use precompressed servlet init parameter
2016-04-15 20:04:01 +10:00
Jan Bartel d28dffb16e Remove SessionManager; refactor names of session classes; add start modules for new session arch 2016-04-15 11:08:46 +10:00
Joakim Erdfelt 939505c342 Updating to version 9.2.17-SNAPSHOT 2016-04-14 14:03:21 -07:00
Joakim Erdfelt 778fac638d Updating to version 9.2.16.v20160414 2016-04-14 13:21:34 -07:00
Joakim Erdfelt 47bbd9364d Revert "Updating to version 9.2.16.v20160414"
This reverts commit 29ae63855b.
2016-04-14 13:19:59 -07:00
Joakim Erdfelt 29ae63855b Updating to version 9.2.16.v20160414 2016-04-14 13:17:21 -07:00
Joakim Erdfelt 6fb338e50d Updating to version 9.3.9-SNAPSHOT 2016-04-11 16:20:50 -07:00
Joakim Erdfelt bb4f3c4882 Updating to version 9.3.9.M1 2016-04-11 15:35:22 -07:00
Greg Wilkins 2fb9b55da2 Issue #485 Multiple compressed formats from static content
Renamed ResourceCache as per TODO
Added javadoc and XML comments
2016-04-07 17:33:47 +10:00
Greg Wilkins a72838162d Issue #485 Multiple compressed formats from static content
Fixed formatting from the PR
2016-04-07 16:47:28 +10:00
Mikko Tiihonen 3261e03edb Support for configurable set of precompressed static resources
* Support for configurable set of precompressed static resources

Signed-off-by: Mikko Tiihonen <mikko.tiihonen@nitorcreations.com>

* Use QuotedQualityCSV to parse preferred content encodings

Signed-off-by: Mikko Tiihonen <mikko.tiihonen@nitorcreations.com>
2016-04-07 13:57:00 +10:00
Greg Wilkins 3590abc534 Merge remote-tracking branch 'origin/jetty-9.3.x' 2016-03-30 20:05:59 +11:00
Greg Wilkins c768828703 Issue #458 Improve Quality list handling
Added QuotedCSV and QuotedQualityCSV that are up to date with RFC7230
2016-03-30 19:07:11 +11:00
Greg Wilkins acfa1268bc Merge remote-tracking branch 'origin/jetty-9.3.x' 2016-03-24 12:58:06 +11:00
Greg Wilkins 4ae077f2b6 Issue #448 - RFC2616 Compliance Mode should track and report RFC7230 violations
Improved compliance level reporting
Improved method names to make code read better
2016-03-23 14:42:05 +11:00
Greg Wilkins 7f96db72c4 Issue #448 - RFC2616 Compliance Mode should track and report RFC7230 violations
Empty value is not a compliance issue
removed debug
moved violation handling to end of header rather than end of message
2016-03-23 13:13:16 +11:00
Joakim Erdfelt 7be58f9730 Issue #448 - RFC2616 Compliance Mode should track and report RFC7230 violations
+ added Optional behavior to record violations in a Request attribute
+ added servlet testcase showing this violation recording abillity
+ currently the recorded violation doesn't report the correct compliance mode that it violates
+ there is still a problem with a quoted empty string value from Issue #451
2016-03-22 12:20:19 -07:00
Joakim Erdfelt 3624339ec6 Merge branch 'jetty-9.3.x' 2016-03-16 10:29:29 -07:00
Joakim Erdfelt 13fde643ed Merge branch 'release-9.3.8' into jetty-9.3.x 2016-03-16 10:03:29 -07:00
Greg Wilkins 1c5a1fc6a2 Issue #431
Suppress stack traces from unit tests
2016-03-16 18:19:40 +11:00
Joakim Erdfelt c68d3b1d8d Updating to version 9.3.9-SNAPSHOT 2016-03-14 09:07:52 -07:00
Joakim Erdfelt 1f3b3f31f4 Updating to version 9.3.8.v20160314 2016-03-14 08:30:20 -07:00
Greg Wilkins 2b67e04861 fixed bad merge 2016-03-02 17:32:17 +01:00
Greg Wilkins 3300d54b5a Merge remote-tracking branch 'origin/jetty-9.3.x' 2016-03-02 14:13:29 +01:00
Greg Wilkins 3963309f62 Issue #379 Insufficient information on asyncNotSupported
Converted the boolean for asyncSupported to a String holding the source
of the async not supported.
2016-03-02 14:09:15 +01:00
Greg Wilkins dd4a72ce76 479903 - improve async onError handling
Work in progress towards clean build
2016-02-17 14:13:21 +01:00
Joakim Erdfelt f98dde5e5b Updating to version 9.2.16-SNAPSHOT 2016-02-10 15:36:41 -07:00
Joakim Erdfelt 9b6890d3c1 Updating to version 9.2.15.v20160210 2016-02-10 14:49:12 -07:00
Simone Bordet 2ac465a343 Merged branch 'jetty-9.3.x' into 'master'. 2016-02-09 18:14:07 +01:00
Simone Bordet 6306f06e2f Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2016-02-09 18:12:04 +01:00
Simone Bordet 145e4bee71 487511 - Jetty HTTP won't work on turkish systems.
Fixed usages of toLowerCase() and toUpperCase() to use Locale.ENGLISH.
2016-02-09 17:50:26 +01:00
Simone Bordet cb79379b79 Merged branch 'jetty-9.3.x' into 'master'. 2016-02-05 18:14:56 +01:00
Jan Bartel dd2e042ddf Revert "486394 - Restore MultiPartFilter behavior with regards to temp file access"
This reverts commit 009fde2400.
2016-02-04 08:41:14 +01:00
Jan Bartel 94a56f0802 Revert "Fixing license header formatting on new file"
This reverts commit c858bc126a.
2016-02-04 08:41:00 +01:00
Greg Wilkins bb89e113a9 fixed merge 2016-02-04 07:00:39 +01:00
Greg Wilkins df79ad689a Merge remote-tracking branch 'origin/jetty-9.3.x' 2016-02-04 07:00:13 +01:00
Joakim Erdfelt c858bc126a Fixing license header formatting on new file 2016-02-03 08:31:08 -07:00
Joakim Erdfelt 009fde2400 486394 - Restore MultiPartFilter behavior with regards to temp file access
+ Adding HttpServletRequest.getParts() demonstration of duplicate name="" entries
+ Adding 2 new testcases in MultipartFilterTest demonstrating
  location/temp file access issue (currently @Ignored)
2016-02-03 08:19:37 -07:00
Greg Wilkins 6c9a444b6c 486530 - Handler added to WebAppContext prevents ServletContext initialization
Added warnings for loops and inappropriate handlers.
Used insertHandler in more XML files
2016-02-03 10:54:39 +01:00
Joakim Erdfelt 1aef09acc2 486604 - Add debug logging of ErrorPageErrorHandler logic 2016-01-27 11:55:00 -07:00
Joakim Erdfelt e0ce545ad7 Updating to version 9.3.8-SNAPSHOT 2016-01-15 17:15:14 -07:00
Joakim Erdfelt c0b191119b Updating to version 9.3.7.v20160115 2016-01-15 16:40:15 -07:00
Joakim Erdfelt b7f9c9aca9 Updating to version 9.3.7-SNAPSHOT 2016-01-13 08:21:01 -07:00
Joakim Erdfelt 21ca3f6690 Updating to version 9.3.7.RC1 2016-01-13 07:30:24 -07:00