(name 'AL-Application-cwp.36' message 'Build the request handler in reverse order, so the relay pipeline is in the correct order.' id 'bca567ee-c60c-4159-a0b8-d74260470b41' date '26 December 2012' time '10:26:56.332 am' author 'cwp' ancestors ((name 'AL-Application-cwp.35' message 'Renamed some confusing instance variables in ALRestfulLocator.' id '15b62eb6-ef2b-42b0-ab50-0e1f69d2f42a' date '13 December 2012' time '8:31:51.115 pm' author 'cwp' ancestors ((name 'AL-Application-cwp.34' message 'ALFileResource now includes Last-Modified headers and honors If-Modified-Since headers so that the browser can cache the file contents.' id '9aa7860c-8307-4f92-a8ce-a9bcab719d20' date '6 December 2012' time '4:56:40.673 pm' author 'cwp' ancestors ((name 'AL-Application-cwp.33' message 'Simplified Application so that it generates a pipeline of relays for each request, rather than handling requests directly. This means that relays only live for a single request, and don''t have to be re-entrant.' id 'efc731b9-b666-410f-9f26-05c2e5021b14' date '30 November 2012' time '9:11:43.586 pm' author 'cwp' ancestors ((name 'AL-Application-cwp.32' message 'Added the #addRelay: convenience method.' id '4b356433-0cbd-42a6-b81c-0e6b6d919f49' date '25 November 2012' time '11:09:44.67 pm' author 'cwp' ancestors ((name 'AL-Application-cwp.31' message 'ALApplication now uses ALTerminalRelay, and locators no longer implement #handleRequest:.' id 'e3c6166b-36d1-407b-a762-359fbcd72540' date '24 November 2012' time '10:18:26.9 pm' author 'cwp' ancestors ((name 'AL-Application-cwp.30' message 'Update the map from file extension to mime type, so that no encoding is specified. This prevents Altitude from re-encoding the file contents while writing it to the socket.' id '0ff44aca-731f-44ac-8a9d-a90f0d7fab49' date '19 November 2012' time '2:31:30.401 pm' author 'cwp' ancestors ((name 'AL-Application-cwp.29' message 'Fixed a bug that prevented file resources from closing files properly.' id 'fb708913-2724-431b-82e4-6e281716bf86' date '17 November 2012' time '10:32:05.714 am' author 'cwp' ancestors ((name 'AL-Application-cwp.28' message 'ALApplication no longer sets up any relays, since they aren''t needed for normal processing of headers anymore.' id '9294e148-d280-493a-8603-9c600cb8cd43' date '5 November 2012' time '12:29:01.396 am' author 'cwp' ancestors ((name 'AL-Application-cwp.27' message 'Revert DirectoryScanner to its old behaviour, creating locator entries with paths, rather than urls.' id '9308b551-84e6-4a4b-abe9-7e071527ee23' date '14 October 2012' time '10:58:57.086 pm' author 'cwp' ancestors ((name 'AL-Application-cwp.26' message 'Renamed TrivialUrlStrategy to SequentialUrlStrategy, and made it print numbers in base 64 instead of base 10.' id 'a6e0e1a2-273b-4204-985c-3ed848769e8d' date '14 October 2012' time '2:32:30.143 am' author 'cwp' ancestors ((name 'AL-Application-cwp.25' message 'Rename ALDigestLocatorto ALRestfulLocator, and refine the urls that it produces. Make it always restful, regardless of url strategy, and use base 64 instead of base 66, for better performance. (This also frees up $. and $~ for other uses). Introduce a random url strategy for better security.' id 'e9e3d2f9-9a45-4249-bdba-13a0032bd47c' date '14 October 2012' time '2:04:23.417 am' author 'cwp' ancestors ((name 'AL-Application-cwp.24' message 'Made ALDigestLocator use paths internally, so that other parts of the url, eg. the query can be used for other purposes.' id 'e4aa8cf7-6acc-4f23-ade2-8945fbdd626a' date '9 October 2012' time '12:42:25.534 am' author 'cwp' ancestors ((name 'AL-Application-cwp.23' message 'Moved ALPath to AL-Http, and converted to using urls instead of paths in most places.' id 'df1a9f9b-bb0e-40f5-ae49-85dc649c98fc' date '8 October 2012' time '2:29:29.62 pm' author 'cwp' ancestors ((name 'AL-Application-cwp.22' message 'Went back to the name ALDigestLocator. This makes it apparent that it''s just one possible implementation.' id 'bc92a25a-0ac9-40d2-813a-7321df601ac5' date '5 August 2012' time '10:43:19.769 pm' author 'cwp' ancestors ((name 'AL-Application-cwp.21' message 'Refactored locators to be customizable via a strategy, rather than via subclassing.' id '618c4160-9c37-4592-8963-b255034bd3c6' date '4 August 2012' time '11:06:22.138 pm' author 'cwp' ancestors ((name 'AL-Application-cwp.20' message 'Created a default implementation of ALApplication>>initializeHandler that will include the appropriate relays for HTML and JSON applications. Subclasses may override if necessary.' id '687908d1-ca83-4152-892a-f4ac31fb687d' date '2 August 2012' time '10:56:44.886 pm' author 'cwp' ancestors ((name 'AL-Application-cwp.19' message '- Switched to Base66 encoding for digests.
- Moved ALFormResource to AL-HtmlApp
- Simplified ALPath printing.' id 'e867f3a5-a309-47c4-b45e-0c82598ecd79' date '17 July 2012' time '11:14:11.828 am' author 'cwp' ancestors ((name 'AL-Application-cwp.18' message 'Moved ALFormResource to AL-HtmlApp since it relies on ALForm.' id '53d99a73-48b3-4a07-ba8e-bdf7193ebe99' date '10 July 2012' time '3:23:12.88 pm' author 'cwp' ancestors ((name 'AL-Application-cwp.17' message 'ALLocator>>printDigest: now uses base 66 instead of base 62. This gives shorter strings and uses all the characters that can be tranmitted without percent-encoding.' id '0cfd77c6-db7c-40ad-8a9a-1381a4fa7a54' date '10 July 2012' time '12:06:29.821 pm' author 'cwp' ancestors ((name 'AL-Application-cwp.16' message 'Added handlers for a couple more HTTP errors.' id 'd450eb6d-ab05-4ce5-9bd1-7611051f2e63' date '2 April 2012' time '5:54:54.979 pm' author 'cwp' ancestors ((name 'AL-Application-cwp.15' message 'Added a double dispatch method for ALNotAcceptable.' id 'c4060afc-22e1-4af5-971b-a4c48bdf0c30' date '14 March 2012' time '1:47:32.73 pm' author 'cwp' ancestors ((name 'AL-Application-cwp.14' message 'ALLocator now prints digests as base 62 instead of base 16, for shorter URLs.' id '41eba073-3724-451c-a98f-d1ef4beb66cf' date '10 March 2012' time '10:41:29.009 pm' author 'cwp' ancestors ((name 'AL-Application-cwp.13' message 'Renamed a method.' id '301560a6-753a-4e0c-9787-1c66b6c30527' date '7 March 2012' time '1:02:06.273 am' author 'cwp' ancestors ((name 'AL-Application-cwp.12' message 'Pushed common functionality into ALLocator. Implemented at trivial #asResource for all resources.' id '58ace38c-ab09-42ca-914e-f466b186f84c' date '5 March 2012' time '9:26:26.397 pm' author 'cwp' ancestors ((name 'AL-Application-cwp.11' message 'Refactored ALLocator to use subclasses instead of blocks for customization. ALDigestLocator provides the RESTful digest-based mapping, while ALTrivialLocator provides predictable paths.' id '6fd813da-acd3-4b1c-bbb4-c4a9a29e02fd' date '4 March 2012' time '12:49:52.884 pm' author 'cwp' ancestors ((name 'AL-Application-cwp.10' message 'Moved ALRelay to AL-Http.' id '3d3f3c1e-f948-46de-a2bc-8b3e740cbda2' date '10 January 2012' time '12:25:22.093 am' author 'cwp' ancestors ((name 'AL-Application-cwp.9' message 'ALFileResource now uses ALContentType, rather than strings. ALPath class now has a #parseWith: to allow Location: headers to contain ALPath instances rather than strings.' id 'f34ba4ef-37f2-486e-ba8b-17e970f96789' date '25 October 2011' time '3:11:06.699 pm' author 'cwp' ancestors ((name 'AL-Application-cwp.8' message 'Close file streams after writing them to network.' id 'b5506c31-91a9-492e-b792-93d082c54dee' date '18 October 2011' time '5:10:59.569 pm' author 'cwp' ancestors ((name 'AL-Application-cwp.7' message 'Added a handler for 415 Unsupported Content Type.' id '1d210cff-7da7-4a00-9f8c-0eeeebc84417' date '15 October 2011' time '12:28:15.342 am' author 'cwp' ancestors ((name 'AL-Application-cwp.6' message 'The default PUT and POST handlers now consume the uploaded entity to avoid parse errors on the connection.' id '57fd57b1-66ff-46ca-8ccc-868f4f427858' date '6 October 2011' time '10:16:25.105 pm' author 'cwp' ancestors ((name 'AL-Application-cwp.5' message 'Created a default implementation of ALResource>>handleRequest:locator which dispatches on the request method, and default method-specific methods, which just respond with 405 Method Not Allowed. Subclasses can override specific methods to provide their functionality.' id '15e932e9-709f-4837-8d66-6dcc46227c94' date '1 October 2011' time '5:31:40.025 pm' author 'cwp' ancestors ((name 'AL-Application-cwp.4' message 'ALFileResource now throws an ALNotFound if the file it represents doesn''t exist.' id '74b28ddd-00ca-4b71-b839-c247dcf5b183' date '30 September 2011' time '11:43:15.338 pm' author 'cwp' ancestors ((name 'AL-Application-cwp.3' message 'Simplified the initialization of ALApplication so that subclasses can more easily override it.' id '7c541acc-eabd-4a3b-93b6-756076d44e08' date '29 September 2011' time '1:51:48.465 pm' author 'cwp' ancestors ((name 'AL-Application-cwp.2' message 'ALFormResource can now handle posts.' id 'dcca3a22-8f8b-4a52-9547-2daef0c96095' date '24 September 2011' time '4:01:29.615 pm' author 'cwp' ancestors ((name 'AL-Application-cwp.1' message 'Renamed from AL-Core-cwp.20.' id '322ac24f-cec1-45fc-bf9e-67d9aa497dec' date '24 September 2011' time '3:13:14.261 pm' author 'cwp' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())