diff --git a/repository/ConfigurationOfZincHTTPComponents.package/ConfigurationOfZincHTTPComponents.class/instance/baseline15..st b/repository/ConfigurationOfZincHTTPComponents.package/ConfigurationOfZincHTTPComponents.class/instance/baseline15..st new file mode 100644 index 00000000..fc7cbd8e --- /dev/null +++ b/repository/ConfigurationOfZincHTTPComponents.package/ConfigurationOfZincHTTPComponents.class/instance/baseline15..st @@ -0,0 +1,47 @@ +baselines +baseline15: spec + + spec + for: #common + do: [ + spec + blessing: #baseline; + description: 'Baseline for Zinc HTTP Components, a framework to deal with the HTTP networking'; + author: 'PaulDeBruicker'; + timestamp: '4/4/2012 09:12'; + repository: 'http://www.squeaksource.com/ZincHTTPComponents'. + spec package: 'Zodiac-Core' with: [ spec repository: 'http://www.squeaksource.com/Zodiac' ]. + spec + package: 'Zinc-HTTP'; + package: 'Zinc-Patch-HTTPSocket' + with: [ + spec + repository: 'http://ss3.gemstone.com/ss/pharo'; + requires: 'Zinc-HTTP' ]; + package: 'Zinc-AWS' with: [ spec requires: 'Zinc-HTTP' ]; + package: 'Zinc-REST' with: [ spec requires: 'Zinc-HTTP' ]; + package: 'Zinc-Zodiac' with: [ spec requires: #('Zinc-HTTP' 'Zodiac-Core') ]; + package: 'Zinc-WebDAV' with: [ spec requires: 'Zinc-HTTP' ]; + package: 'Zinc-WWS-Server' with: [ spec requires: 'Zinc-HTTP' ]; + package: 'Zinc-WWS-Client' with: [ spec requires: 'Zinc-HTTP' ]; + package: 'Zinc-Tests' with: [ spec requires: 'Zinc-HTTP' ]. + spec + group: 'default' with: #('Core'); + group: 'Core' with: #('Zinc-HTTP'); + group: 'Tests' with: #('Zinc-Tests'); + group: 'AWS' with: #('Zinc-AWS'); + group: 'WebDAV' with: #('Zinc-WebDAV'); + group: 'WWS' with: #('Zinc-WWS-Server' 'Zinc-WWS-Client'); + group: 'REST' with: #('Zinc-REST'); + group: 'Patch-HTTPSocket' with: #('Zinc-Patch-HTTPSocket') ]. + spec + for: #gemstone + do: [ + spec repository: 'http://seaside.gemstone.com/ss/ZincHTTPComponents'. + spec + package: 'Zinc-HTTP' with: [ spec includes: #('Zinc-Gemstone') ]; + package: 'SocketStream' with: [ spec repository: 'http://seaside.gemstone.com/ss/PharoCompat' ]; + package: 'Zinc-GemstonePreliminary' with: [ spec requires: #('SocketStream') ]; + package: 'Zinc-HTTP' with: [ spec requires: #('Zinc-GemstonePreliminary') ]; + package: 'Zinc-Gemstone' with: [ spec requires: #('Zinc-HTTP') ]; + package: 'Zinc-Tests' with: [ spec requires: 'Zinc-Gemstone' ] ] \ No newline at end of file diff --git a/repository/ConfigurationOfZincHTTPComponents.package/ConfigurationOfZincHTTPComponents.class/instance/baseline17..st b/repository/ConfigurationOfZincHTTPComponents.package/ConfigurationOfZincHTTPComponents.class/instance/baseline17..st new file mode 100644 index 00000000..e8199180 --- /dev/null +++ b/repository/ConfigurationOfZincHTTPComponents.package/ConfigurationOfZincHTTPComponents.class/instance/baseline17..st @@ -0,0 +1,63 @@ +baselines +baseline17: spec + + spec + for: #common + do: [ + spec + blessing: #baseline; + description: ' +- add XMLSupport project +- update Zinc-AWS to require above +- add FileSystem-Legacy to Pharo 1.x and FileSystem to Pharo 2.x'; + author: 'SeanDeNigris'; + timestamp: '7/4/2012 12:12-04:00'; + repository: 'http://www.squeaksource.com/ZincHTTPComponents'. + spec project: 'XML Support' with: [ + spec + className: 'ConfigurationOfXMLSupport'; + versionString: #'stable'; + repository: 'http://www.squeaksource.com/MetacelloRepository' ]. + spec package: 'Zodiac-Core' with: [ spec repository: 'http://www.squeaksource.com/Zodiac' ]. + spec + package: 'Zinc-HTTP'; + package: 'Zinc-Patch-HTTPSocket' + with: [ + spec + repository: 'http://ss3.gemstone.com/ss/pharo'; + requires: 'Zinc-HTTP' ]; + package: 'Zinc-AWS' with: [ spec requires: #('Zinc-HTTP' 'XML Support') ]; + package: 'Zinc-REST' with: [ spec requires: 'Zinc-HTTP' ]; + package: 'Zinc-Zodiac' with: [ spec requires: #('Zinc-HTTP' 'Zodiac-Core') ]; + package: 'Zinc-WebDAV' with: [ spec requires: 'Zinc-HTTP' ]; + package: 'Zinc-WWS-Server' with: [ spec requires: 'Zinc-HTTP' ]; + package: 'Zinc-WWS-Client' with: [ spec requires: 'Zinc-HTTP' ]; + package: 'Zinc-Tests' with: [ spec requires: 'Zinc-HTTP' ]. + spec + group: 'default' with: #('Core'); + group: 'Core' with: #('Zinc-HTTP'); + group: 'Tests' with: #('Zinc-Tests'); + group: 'AWS' with: #('Zinc-AWS'); + group: 'WebDAV' with: #('Zinc-WebDAV'); + group: 'WWS' with: #('Zinc-WWS-Server' 'Zinc-WWS-Client'); + group: 'REST' with: #('Zinc-REST'); + group: 'Patch-HTTPSocket' with: #('Zinc-Patch-HTTPSocket') ]. + spec for: #'pharo1.x' do: [ + spec + package: 'Zinc-FileSystem-Legacy'; + package: 'Zinc-HTTP' with: [ spec requires: 'Zinc-FileSystem-Legacy' ] ]. + spec for: #'pharo2.x' do: [ + spec + package: 'Zinc-FileSystem'; + package: 'Zinc-HTTP' with: [ spec requires: 'Zinc-FileSystem' ] ]. + spec + for: #gemstone + do: [ + spec repository: 'http://seaside.gemstone.com/ss/ZincHTTPComponents'. + spec + package: 'Zinc-HTTP' with: [ spec includes: #('Zinc-Gemstone') ]; + package: 'SocketStream' with: [ spec repository: 'http://seaside.gemstone.com/ss/PharoCompat' ]; + package: 'Zinc-GemstonePreliminary' with: [ spec requires: #('SocketStream') ]; + package: 'Zinc-HTTP' with: [ spec requires: #('Zinc-GemstonePreliminary') ]; + package: 'Zinc-Gemstone' with: [ spec requires: #('Zinc-HTTP') ]; + package: 'Zinc-Tests' with: [ spec requires: 'Zinc-Gemstone' ] ] \ No newline at end of file diff --git a/repository/ConfigurationOfZincHTTPComponents.package/ConfigurationOfZincHTTPComponents.class/instance/stable..st b/repository/ConfigurationOfZincHTTPComponents.package/ConfigurationOfZincHTTPComponents.class/instance/stable..st index bca65536..2ea2e50e 100644 --- a/repository/ConfigurationOfZincHTTPComponents.package/ConfigurationOfZincHTTPComponents.class/instance/stable..st +++ b/repository/ConfigurationOfZincHTTPComponents.package/ConfigurationOfZincHTTPComponents.class/instance/stable..st @@ -1,6 +1,5 @@ accessing stable: spec - - - spec for: #'common' version: '1.4'. - spec for: #'gemstone' version: '1.1'. \ No newline at end of file + + spec for: #pharo version: '1.7'. + spec for: #gemstone version: '1.1' \ No newline at end of file diff --git a/repository/ConfigurationOfZincHTTPComponents.package/ConfigurationOfZincHTTPComponents.class/instance/version15..st b/repository/ConfigurationOfZincHTTPComponents.package/ConfigurationOfZincHTTPComponents.class/instance/version15..st new file mode 100644 index 00000000..34ee428d --- /dev/null +++ b/repository/ConfigurationOfZincHTTPComponents.package/ConfigurationOfZincHTTPComponents.class/instance/version15..st @@ -0,0 +1,29 @@ +versions +version15: spec + + spec + for: #common + do: [ + spec blessing: #release. + spec description: 'update to latest set of packages.'. + spec author: 'PaulDeBruicker'. + spec timestamp: '4/4/2012 09:12'. + spec + package: 'Zinc-HTTP' with: 'Zinc-HTTP-SvenVanCaekenberghe.254'; + package: 'Zinc-Tests' with: 'Zinc-Tests-SvenVanCaekenberghe.130'; + package: 'Zinc-AWS' with: 'Zinc-AWS-SvenVanCaekenberghe.15'; + package: 'Zinc-REST' with: 'Zinc-REST-SvenVanCaekenberghe.5'; + package: 'Zinc-WebDAV' with: 'Zinc-WebDAV-SvenVanCaekenberghe.3'; + package: 'Zinc-WWS-Client' with: 'Zinc-WWS-Client-SvenVanCaekenberghe.2'; + package: 'Zinc-WWS-Server' with: 'Zinc-WWS-Server-SvenVanCaekenberghe.7'; + package: 'Zinc-Zodiac' with: 'Zinc-Zodiac-SvenVanCaekenberghe.12'; + package: 'Zinc-Patch-HTTPSocket' with: 'Zinc-Patch-HTTPSocket-StephaneDucasse.2'; + package: 'Zodiac-Core' with: 'Zodiac-Core-SvenVanCaekenberghe.17' ]. + spec + for: #gemstone + do: [ + spec blessing: #release. + spec + package: 'Zinc-GemstonePreliminary' with: 'Zinc-GemstonePreliminary-PaulDeBruicker.2'; + package: 'Zinc-Gemstone' with: 'Zinc-Gemstone-PaulDeBruicker.14'; + package: 'SocketStream' with: 'SocketStream-PaulDeBruicker.12' ] \ No newline at end of file diff --git a/repository/ConfigurationOfZincHTTPComponents.package/ConfigurationOfZincHTTPComponents.class/instance/version151..st b/repository/ConfigurationOfZincHTTPComponents.package/ConfigurationOfZincHTTPComponents.class/instance/version151..st new file mode 100644 index 00000000..889c19f1 --- /dev/null +++ b/repository/ConfigurationOfZincHTTPComponents.package/ConfigurationOfZincHTTPComponents.class/instance/version151..st @@ -0,0 +1,20 @@ +versions +version151: spec + + + spec for: #'common' do: [ + spec blessing: #release. + spec description: 'fixed Zodiac-Core package name; updated to latest packages; all tests pass on Pharo 1.4'. + spec author: 'SeanDeNigris'. + spec timestamp: '6/7/2012 00:23'. + spec + package: 'Zodiac-Core' with: 'Zodiac-Core-SvenVanCaekenberghe.17'; + package: 'Zinc-HTTP' with: 'Zinc-HTTP-SvenVanCaekenberghe.280'; + package: 'Zinc-Patch-HTTPSocket' with: 'Zinc-Patch-HTTPSocket-StephaneDucasse.2'; + package: 'Zinc-AWS' with: 'Zinc-AWS-SvenVanCaekenberghe.15'; + package: 'Zinc-REST' with: 'Zinc-REST-SvenVanCaekenberghe.5'; + package: 'Zinc-Zodiac' with: 'Zinc-Zodiac-SvenVanCaekenberghe.12'; + package: 'Zinc-WebDAV' with: 'Zinc-WebDAV-SvenVanCaekenberghe.3'; + package: 'Zinc-WWS-Server' with: 'Zinc-WWS-Server-SvenVanCaekenberghe.7'; + package: 'Zinc-WWS-Client' with: 'Zinc-WWS-Client-SvenVanCaekenberghe.2'; + package: 'Zinc-Tests' with: 'Zinc-Tests-SvenVanCaekenberghe.144'. ]. \ No newline at end of file diff --git a/repository/ConfigurationOfZincHTTPComponents.package/ConfigurationOfZincHTTPComponents.class/instance/version16..st b/repository/ConfigurationOfZincHTTPComponents.package/ConfigurationOfZincHTTPComponents.class/instance/version16..st new file mode 100644 index 00000000..5098a2c1 --- /dev/null +++ b/repository/ConfigurationOfZincHTTPComponents.package/ConfigurationOfZincHTTPComponents.class/instance/version16..st @@ -0,0 +1,29 @@ +versions +version16: spec + + spec + for: #common + do: [ + spec blessing: #release. + spec description: 'update to latest set of packages.'. + spec author: 'PaulDeBruicker'. + spec timestamp: '6/6/2012 13:12-7:00'. + spec + package: 'Zinc-HTTP' with: 'Zinc-HTTP-SvenVanCaekenberghe.280'; + package: 'Zinc-Tests' with: 'Zinc-Tests-SvenVanCaekenberghe.144'; + package: 'Zinc-AWS' with: 'Zinc-AWS-SvenVanCaekenberghe.15'; + package: 'Zinc-REST' with: 'Zinc-REST-SvenVanCaekenberghe.5'; + package: 'Zinc-WebDAV' with: 'Zinc-WebDAV-SvenVanCaekenberghe.3'; + package: 'Zinc-WWS-Client' with: 'Zinc-WWS-Client-SvenVanCaekenberghe.2'; + package: 'Zinc-WWS-Server' with: 'Zinc-WWS-Server-SvenVanCaekenberghe.7'; + package: 'Zinc-Zodiac' with: 'Zinc-Zodiac-SvenVanCaekenberghe.12'; + package: 'Zinc-Patch-HTTPSocket' with: 'Zinc-Patch-HTTPSocket-StephaneDucasse.2'; + package: 'Zodiac-Core' with: 'Zodiac-Core-SvenVanCaekenberghe.17' ]. + spec + for: #gemstone + do: [ + spec blessing: #release. + spec + package: 'Zinc-GemstonePreliminary' with: 'Zinc-GemstonePreliminary-PaulDeBruicker.2'; + package: 'Zinc-Gemstone' with: 'Zinc-Gemstone-PaulDeBruicker.14'; + package: 'SocketStream' with: 'SocketStream-PaulDeBruicker.12' ] \ No newline at end of file diff --git a/repository/ConfigurationOfZincHTTPComponents.package/ConfigurationOfZincHTTPComponents.class/instance/version17..st b/repository/ConfigurationOfZincHTTPComponents.package/ConfigurationOfZincHTTPComponents.class/instance/version17..st new file mode 100644 index 00000000..69b3b171 --- /dev/null +++ b/repository/ConfigurationOfZincHTTPComponents.package/ConfigurationOfZincHTTPComponents.class/instance/version17..st @@ -0,0 +1,33 @@ +versions +version17: spec + + spec + for: #common + do: [ + spec blessing: #release. + spec description: ' +- update to latest package versions +- add FileSystem-Legacy to Pharo 1.x and FileSystem to Pharo 2.x'. + spec author: 'SeanDeNigris'. + spec timestamp: '7/4/2012 12:12-4:00'. + spec + package: 'Zinc-HTTP' with: 'Zinc-HTTP-SvenVanCaekenberghe.282'; + package: 'Zinc-Tests' with: 'Zinc-Tests-SvenVanCaekenberghe.147'; + package: 'Zinc-AWS' with: 'Zinc-AWS-SvenVanCaekenberghe.15'; + package: 'Zinc-REST' with: 'Zinc-REST-SvenVanCaekenberghe.5'; + package: 'Zinc-WebDAV' with: 'Zinc-WebDAV-SvenVanCaekenberghe.3'; + package: 'Zinc-WWS-Client' with: 'Zinc-WWS-Client-SvenVanCaekenberghe.2'; + package: 'Zinc-WWS-Server' with: 'Zinc-WWS-Server-SvenVanCaekenberghe.7'; + package: 'Zinc-Zodiac' with: 'Zinc-Zodiac-SvenVanCaekenberghe.14'; + package: 'Zinc-Patch-HTTPSocket' with: 'Zinc-Patch-HTTPSocket-StephaneDucasse.2'; + package: 'Zodiac-Core' with: 'Zodiac-Core-SvenVanCaekenberghe.18' ]. + spec for: #'pharo1.x' do: [ spec package: 'Zinc-FileSystem-Legacy' with: 'Zinc-FileSystem-Legacy-SvenVanCaekenberghe.1' ]. + spec for: #'pharo2.x' do: [ spec package: 'Zinc-FileSystem' with: 'Zinc-FileSystem-SeanDeNigris.2' ]. + spec + for: #gemstone + do: [ + spec blessing: #release. + spec + package: 'Zinc-GemstonePreliminary' with: 'Zinc-GemstonePreliminary-PaulDeBruicker.2'; + package: 'Zinc-Gemstone' with: 'Zinc-Gemstone-PaulDeBruicker.14'; + package: 'SocketStream' with: 'SocketStream-PaulDeBruicker.12' ] \ No newline at end of file diff --git a/repository/ConfigurationOfZincHTTPComponents.package/ConfigurationOfZincHTTPComponents.class/methodProperties.json b/repository/ConfigurationOfZincHTTPComponents.package/ConfigurationOfZincHTTPComponents.class/methodProperties.json new file mode 100644 index 00000000..cca16329 --- /dev/null +++ b/repository/ConfigurationOfZincHTTPComponents.package/ConfigurationOfZincHTTPComponents.class/methodProperties.json @@ -0,0 +1,29 @@ +{ + "class" : { + "bootstrapPackage:from:" : "SvenVanCaekenberghe 1/15/2011 17:31", + "ensureMetacello" : "SvenVanCaekenberghe 1/15/2011 17:31", + "isMetacelloConfig" : "SvenVanCaekenberghe 1/15/2011 17:31", + "lastMetacelloVersionLoad" : "SvenVanCaekenberghe 1/15/2011 17:31", + "load" : "SvenVanCaekenberghe 1/15/2011 17:31", + "metacelloVersion:loads:" : "SvenVanCaekenberghe 1/15/2011 17:31", + "project" : "SvenVanCaekenberghe 1/15/2011 17:31", + "unloadMetacello" : "SvenVanCaekenberghe 1/15/2011 17:31" }, + "instance" : { + "baseline10:" : "dkh 9/1/2011 17:11", + "baseline11:" : "dkh 9/1/2011 17:10", + "baseline12:" : "dkh 9/1/2011 17:13", + "baseline13:" : "PaulDeBruicker 10/25/2011 17:17", + "baseline14:" : "FrancoisStephany 12/12/2011 12:02", + "baseline15:" : "SeanDeNigris 6/7/2012 00:20", + "baseline17:" : "SeanDeNigris 7/5/2012 01:35", + "project" : "SvenVanCaekenberghe 1/15/2011 17:31", + "stable:" : "SeanDeNigris 7/4/2012 12:46", + "version10:" : "PaulDeBruicker 6/1/2011 23:13", + "version11:" : "dkh 9/1/2011 17:12", + "version12:" : "dkh 9/1/2011 17:12", + "version13:" : "PaulDeBruicker 10/25/2011 17:17", + "version14:" : "FrancoisStephany 12/12/2011 12:02", + "version151:" : "SeanDeNigris 6/7/2012 00:30", + "version15:" : "SeanDeNigris 6/7/2012 00:18", + "version16:" : "PaulDeBruicker 6/7/2012 07:40", + "version17:" : "SeanDeNigris 7/5/2012 01:34" } } diff --git a/repository/ConfigurationOfZincHTTPComponents.package/monticello.meta/version b/repository/ConfigurationOfZincHTTPComponents.package/monticello.meta/version index 724ad79e..d6a0de0c 100644 --- a/repository/ConfigurationOfZincHTTPComponents.package/monticello.meta/version +++ b/repository/ConfigurationOfZincHTTPComponents.package/monticello.meta/version @@ -1,7 +1,7 @@ -(name 'ConfigurationOfZincHTTPComponents-FrancoisStephany.19' message '- Update to the latest version of each package - Change the repository for ''Zinc-Patch-HTTPSocket'' to the pharo repository on squeaksource3 (the latest package does not exist on the Zinc repo). - As I do not have any expertise with Gemstone. I havent updated the Gemstone version.' id '11f0ccf6-3d6c-42ec-8407-23b8ce9dc0c0' date '12 December 2011' time '12:06:06 pm' author 'FrancoisStephany' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.18' message 'added Zinc-REST, upgraded versions of other packages' id 'dd34ea5f-cc3b-42a9-be19-909d1c14300f' date '25 October 2011' time '5:18:32.203 pm' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-dkh.17' message '- open 1.2 for development +(name 'ConfigurationOfZincHTTPComponents-SeanDeNigris.26' message '* Add baseline 1.7 - add XMLSupport project - update Zinc-AWS to require above - add FileSystem-Legacy to Pharo 1.x and FileSystem to Pharo 2.x'' * Add version 1.7 - update to latest package versions - add FileSystem-Legacy to Pharo 1.x and FileSystem to Pharo 2.x * Declare 1.7 as the stable version for #pharo' id '71c2744d-a6b1-442a-9042-0787d057e184' date '5 July 2012' time '1:45:11.542 am' author 'SeanDeNigris' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.25' message 'Merge Sean DeNigris''s fixes and fix bug in #stable:' id 'e2fe949c-649b-4ae2-aa07-d9d112382b41' date '7 June 2012' time '7:51:44 am' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.24' message 'updated to latest versions as of June 6 2012. ' id 'fbad39d5-8e57-457b-afc9-6895ecf1670c' date '6 June 2012' time '1:14:23 pm' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.23' message 'fixed a typo' id '77162054-82e4-4e9f-b5b5-ab54147e6ad4' date '4 April 2012' time '10:40:19 am' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.22' message 'Fixed a typo' id 'a011f142-f0fb-49b1-8a42-bf1b3e847013' date '4 April 2012' time '10:39:27 am' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.21' message ' made baseline 1.5, made version 1.5. marked version 1.5 as stable. Upgraded to latest packages as of 9 AM pacific US time, April 4 2012. Made no changes to the Gemstone configuration. This should only affect Pharo fixed two package declarations in version 20 of the configuration. I misspelled the names.' id '51cabfad-60d1-464c-bddb-4b3c25bd6f4b' date '4 April 2012' time '9:31:52 am' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.20' message 'made baseline 1.5, made version 1.5. marked version 1.5 as stable. Upgraded to latest packages as of 9 AM pacific US time, April 4 2012. Made no changes to the Gemstone configuration. This should only affect Pharo' id 'cae869bd-f213-41e6-bdba-ec6ecbcd9a5d' date '4 April 2012' time '9:25:01 am' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-FrancoisStephany.19' message '- Update to the latest version of each package - Change the repository for ''Zinc-Patch-HTTPSocket'' to the pharo repository on squeaksource3 (the latest package does not exist on the Zinc repo). - As I do not have any expertise with Gemstone. I havent updated the Gemstone version.' id '11f0ccf6-3d6c-42ec-8407-23b8ce9dc0c0' date '12 December 2011' time '12:06:06 pm' author 'FrancoisStephany' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.18' message 'added Zinc-REST, upgraded versions of other packages' id 'dd34ea5f-cc3b-42a9-be19-909d1c14300f' date '25 October 2011' time '5:18:32.203 pm' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-dkh.17' message '- open 1.2 for development - Move Seaside support into ConfigurationOfSeaside30 - update to latest set of packages. - fix configuration validation errors involving Zodiac support - remove Zodiac packages from 1.0-baseline ... it looked like the Zodiac support wasn''t added until 1.1 - - added 1.1-baseline and corrected mispellings' id '0d6b2786-25b2-4e3f-af3e-f7d754ab9b23' date '1 September 2011' time '5:21:40 pm' author 'dkh' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.16' message 'Corrected error with Zodiac configuration. If you use this to load Seaside into Gemstone you should wrap the call to commit when almost out of memory. ' id 'faef135c-6f52-41d7-88af-58a615b3fb2b' date '2 June 2011' time '9:46:43 am' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.15' message 'updated gemstone port to latest on SqueakSource. Added Zodiac to the configuration' id 'aec25cf7-27a0-4a3b-91c9-a81d6dfca2e0' date '2 June 2011' time '9:10:21 am' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.14' message 'Fixed a typo in the Gemstone Seaside Adaptor spec' id 'c0f76eae-d87d-4782-84a4-f64a12ebcd7a' date '14 April 2011' time '2:34:20 pm' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.13' message 'Added a Seaside adaptor for Gemstone + Zinc' id 'fc45b047-07ad-4f1d-90b3-d880727ee954' date '14 April 2011' time '2:26:23 pm' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.12' message 'made some more changes for Gemstone' id 'f2d583bd-3470-4503-8707-a8db51066605' date '13 April 2011' time '11:33 am' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.11' message 'Increased the version of SocketStream for Gemstone' id '99d7c9df-4098-4282-bb3e-9ec187898ea0' date '12 April 2011' time '4:18:02 pm' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.10' message 'Increased version for Zinc-Gemstone to fix logging issues. Found some new problems with SocketStream on Gemstone. ' id '45a951d0-c4bd-4ab0-9c61-82ab63565825' date '12 April 2011' time '11:06:26 am' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.9' message 'This version includes a working configuration for Gemstone. Also the package versions for Pharo have been updated to the latest in the ZincHTTPComponents repository' id 'b3dbb2b2-fa9b-4669-aca0-a0e67d42587f' date '10 April 2011' time '12:45:10 pm' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.8' message 'increased versions for gemstone' id '340fbe5d-d1df-4c86-a064-3970e8e16f53' date '10 April 2011' time '12:28:29 pm' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.7' message 'Added Zinc-Gemstone-Preliminary to load some stub classes and methods that Gemstone puts up warnings about when loading the Pharo code.' id '6339a3f1-4b85-4fe7-a040-751fa05d0db1' date '10 April 2011' time '12:18:53 pm' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.6' message 'Increased the versions to reflect changes made to be able to load into gemstone and pharo' id 'dde6671e-e926-40fd-8eb6-90623ba25f2f' date '10 April 2011' time '12:04:45 pm' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.5' message 'Added #stable:' id 'e5b13d4c-7097-461c-9b0f-05f806a8c985' date '10 April 2011' time '11:46:07 am' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.4' message 'Added config for Gemstone and updated the versions of the Pharo packages' id '7d7b5e1c-1030-4bd0-8d80-a8eb0bd5dfef' date '10 April 2011' time '11:38:25 am' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-SvenVanCaekenberghe.3' message 'added ''Zinc-Seaside'' group with dependency on Seaside 3.x Core (hopefully correct)' id 'd8ca2ae9-b0fe-42b5-8a1b-d9f0eb8caf77' date '17 January 2011' time '4:44:03 pm' author 'SvenVanCaekenberghe' ancestors ((name 'ConfigurationOfZincHTTPComponents-SvenVanCaekenberghe.2' message 'added Patch-HTTPSocket group' id '59b4d12c-bf68-42b4-85f2-5f456246ea28' date '15 January 2011' time '7:41:38 pm' author 'SvenVanCaekenberghe' ancestors ((name 'ConfigurationOfZincHTTPComponents-SvenVanCaekenberghe.1' message 'First primitive Metacello configuration for Zinc HTTP Components' id '8d018889-1b3e-46dc-ac1c-5a4fd03b9220' date '15 January 2011' time '6:07:58 pm' author 'SvenVanCaekenberghe' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file + - added 1.1-baseline and corrected mispellings' id '0d6b2786-25b2-4e3f-af3e-f7d754ab9b23' date '1 September 2011' time '5:21:40 pm' author 'dkh' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.16' message 'Corrected error with Zodiac configuration. If you use this to load Seaside into Gemstone you should wrap the call to commit when almost out of memory. ' id 'faef135c-6f52-41d7-88af-58a615b3fb2b' date '2 June 2011' time '9:46:43 am' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.15' message 'updated gemstone port to latest on SqueakSource. Added Zodiac to the configuration' id 'aec25cf7-27a0-4a3b-91c9-a81d6dfca2e0' date '2 June 2011' time '9:10:21 am' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.14' message 'Fixed a typo in the Gemstone Seaside Adaptor spec' id 'c0f76eae-d87d-4782-84a4-f64a12ebcd7a' date '14 April 2011' time '2:34:20 pm' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.13' message 'Added a Seaside adaptor for Gemstone + Zinc' id 'fc45b047-07ad-4f1d-90b3-d880727ee954' date '14 April 2011' time '2:26:23 pm' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.12' message 'made some more changes for Gemstone' id 'f2d583bd-3470-4503-8707-a8db51066605' date '13 April 2011' time '11:33 am' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.11' message 'Increased the version of SocketStream for Gemstone' id '99d7c9df-4098-4282-bb3e-9ec187898ea0' date '12 April 2011' time '4:18:02 pm' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.10' message 'Increased version for Zinc-Gemstone to fix logging issues. Found some new problems with SocketStream on Gemstone. ' id '45a951d0-c4bd-4ab0-9c61-82ab63565825' date '12 April 2011' time '11:06:26 am' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.9' message 'This version includes a working configuration for Gemstone. Also the package versions for Pharo have been updated to the latest in the ZincHTTPComponents repository' id 'b3dbb2b2-fa9b-4669-aca0-a0e67d42587f' date '10 April 2011' time '12:45:10 pm' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.8' message 'increased versions for gemstone' id '340fbe5d-d1df-4c86-a064-3970e8e16f53' date '10 April 2011' time '12:28:29 pm' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.7' message 'Added Zinc-Gemstone-Preliminary to load some stub classes and methods that Gemstone puts up warnings about when loading the Pharo code.' id '6339a3f1-4b85-4fe7-a040-751fa05d0db1' date '10 April 2011' time '12:18:53 pm' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.6' message 'Increased the versions to reflect changes made to be able to load into gemstone and pharo' id 'dde6671e-e926-40fd-8eb6-90623ba25f2f' date '10 April 2011' time '12:04:45 pm' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.5' message 'Added #stable:' id 'e5b13d4c-7097-461c-9b0f-05f806a8c985' date '10 April 2011' time '11:46:07 am' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-PaulDeBruicker.4' message 'Added config for Gemstone and updated the versions of the Pharo packages' id '7d7b5e1c-1030-4bd0-8d80-a8eb0bd5dfef' date '10 April 2011' time '11:38:25 am' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfZincHTTPComponents-SvenVanCaekenberghe.3' message 'added ''Zinc-Seaside'' group with dependency on Seaside 3.x Core (hopefully correct)' id 'd8ca2ae9-b0fe-42b5-8a1b-d9f0eb8caf77' date '17 January 2011' time '4:44:03 pm' author 'SvenVanCaekenberghe' ancestors ((name 'ConfigurationOfZincHTTPComponents-SvenVanCaekenberghe.2' message 'added Patch-HTTPSocket group' id '59b4d12c-bf68-42b4-85f2-5f456246ea28' date '15 January 2011' time '7:41:38 pm' author 'SvenVanCaekenberghe' ancestors ((name 'ConfigurationOfZincHTTPComponents-SvenVanCaekenberghe.1' message 'First primitive Metacello configuration for Zinc HTTP Components' id '8d018889-1b3e-46dc-ac1c-5a4fd03b9220' date '15 January 2011' time '6:07:58 pm' author 'SvenVanCaekenberghe' 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 ())(name 'ConfigurationOfZincHTTPComponents-SeanDeNigris.24' message '* fixed Zodiac-Core package name * updated to latest packages * all tests pass on Pharo 1.4' id '153211df-e9b1-4edd-9e5b-8b7016709b0b' date '7 June 2012' time '12:32:23.35 am' author 'SeanDeNigris' ancestors ((id '77162054-82e4-4e9f-b5b5-ab54147e6ad4')) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Zinc-AWS.package/.filetree b/repository/Zinc-AWS.package/.filetree new file mode 100644 index 00000000..8998102c --- /dev/null +++ b/repository/Zinc-AWS.package/.filetree @@ -0,0 +1,4 @@ +{ + "noMethodMetaData" : true, + "separateMethodMetaAndSource" : false, + "useCypressPropertiesFile" : true } diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/README.md b/repository/Zinc-AWS.package/ZnAWSS3Client.class/README.md new file mode 100644 index 00000000..68184f0d --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/README.md @@ -0,0 +1,18 @@ +I am ZnAWSS3Client, a basic AWS S3 Client (http://en.wikipedia.org/wiki/Amazon_S3). + +| client | +(client := ZnAWSS3Client new) + accessKeyId: '2ZGSSBGBHQGJ9VV5N441'; + secretAccessKey: 'OtxrzxIsfpFjA7SwPzILwy8Bw21TLhquhboDYROV'; + checkIntegrity: true. +client buckets. +client keysIn: 'my-bucket'. +client keysIn: 'my-bucket' query: (Dictionary with: 'prefix'->'my-'). +client at: 'my-bucket' -> 'my-key'. +client at: 'my-bucket' -> 'my-key' put: (ZnEntity with: '0123456789'). +client at: 'my-bucket' -> 'my-key' put: (ZnEntity with: 'Smalltalk rules S3!') headers: (Dictionary with: 'x-amz-acl'->'public-read'). +client remove: 'my-bucket' -> 'my-key'. +client removeBucket: 'my-bucket'. +client close. + +I depend on Zinc HTTP Components and XML Support. \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/accessKeyId..st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/accessKeyId..st new file mode 100644 index 00000000..ad791b47 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/accessKeyId..st @@ -0,0 +1,5 @@ +accessing +accessKeyId: string + "Set my AWS Security Credentials' Access Keys' Access Key ID" + + accessKeyId := string \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/accessKeyId.st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/accessKeyId.st new file mode 100644 index 00000000..f7c40aff --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/accessKeyId.st @@ -0,0 +1,5 @@ +accessing +accessKeyId + "The AWS Security Credentials' Access Keys' Access Key ID used by me" + + ^ accessKeyId \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/addAuthorization.st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/addAuthorization.st new file mode 100644 index 00000000..dcb3aa7d --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/addAuthorization.st @@ -0,0 +1,10 @@ +private protocol +addAuthorization + | authorization | + authorization := self authorizationFor: self httpClient request. + self httpClient + headerAt: 'Authorization' + put: (String streamContents: [ :stream | + stream nextPutAll: 'AWS '; nextPutAll: self accessKeyId; nextPut: $:; nextPutAll: authorization ]). + + diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/addBucket..st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/addBucket..st new file mode 100644 index 00000000..1df2a5f6 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/addBucket..st @@ -0,0 +1,7 @@ +operations +addBucket: bucket + "Create a new AWS S3 bucket" + + self endPoint: self standardEndPoint. + self httpClient url: bucket. + ^ self executeRequest: #put diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/addContentHash.st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/addContentHash.st new file mode 100644 index 00000000..ee6f01a6 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/addContentHash.st @@ -0,0 +1,8 @@ +private protocol +addContentHash + | md5 | + self httpClient request hasEntity ifFalse: [ ^ self ]. + md5 := self md5: self httpClient request contents. + self httpClient headerAt: 'Content-MD5' put: (ZnUtils encodeBase64: md5) + + diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/at..st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/at..st new file mode 100644 index 00000000..94dd66f6 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/at..st @@ -0,0 +1,8 @@ +operations +at: bucketKeyAssociation + "Access an AWS S3 object in a bucket, + identified by a bucket->key association" + + self endPoint: (self endPointForBucket: bucketKeyAssociation key). + self httpClient url: bucketKeyAssociation value. + ^ self executeRequest: #get \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/at.put..st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/at.put..st new file mode 100644 index 00000000..8bb632a7 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/at.put..st @@ -0,0 +1,7 @@ +operations +at: bucketKeyAssociation put: object + "Set an AWS S3 object in a bucket to object, + assumed to be ZnEntity compatible, + identified by a bucket->key association" + + ^ self at: bucketKeyAssociation put: object headers: nil \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/at.put.headers..st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/at.put.headers..st new file mode 100644 index 00000000..c5c13f06 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/at.put.headers..st @@ -0,0 +1,13 @@ +operations +at: bucketKeyAssociation put: object headers: headers + "Set an AWS S3 object in a bucket to object, + assumed to be ZnEntity compatible, + identified by a bucket->key association + adding headers to the request" + + self endPoint: (self endPointForBucket: bucketKeyAssociation key). + self httpClient url: bucketKeyAssociation value. + self httpClient entity: object. + headers notNil + ifTrue: [ self httpClient headerAddAll: headers ]. + ^ self executeRequest: #put \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/authorizationFor..st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/authorizationFor..st new file mode 100644 index 00000000..78ccca94 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/authorizationFor..st @@ -0,0 +1,7 @@ +private protocol +authorizationFor: request + | canonicalString hmac | + request headers at: 'Date' put: ZnUtils httpDate. + canonicalString := self canonicalStringFor: request. + hmac := self hmacSha1: canonicalString. + ^ ZnUtils encodeBase64: hmac \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/bucketFromEndPoint..st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/bucketFromEndPoint..st new file mode 100644 index 00000000..1bbc501d --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/bucketFromEndPoint..st @@ -0,0 +1,7 @@ +private +bucketFromEndPoint: host + | position | + position := host indexOfSubCollection: self standardEndPoint. + ^ position < 3 + ifTrue: [ '' ] + ifFalse: [ '/', (host copyFrom: 1 to: position - 2) ] \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/buckets.st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/buckets.st new file mode 100644 index 00000000..de6d4dae --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/buckets.st @@ -0,0 +1,13 @@ +operations +buckets + "Return an array of all AWS S3 bucket name strings for the account" + + | response | + self endPoint: self standardEndPoint. + self httpClient url: '/'. + response := self executeRequest: #get. + ^ (response isSuccess and: [ response contentType = ZnMimeType applicationXml ]) + ifTrue: [ + self processBucketsXml: response contents ] + ifFalse: [ + self error: 'Could not list buckets' ] \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/canonicalStringFor..st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/canonicalStringFor..st new file mode 100644 index 00000000..220766e7 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/canonicalStringFor..st @@ -0,0 +1,17 @@ +private protocol +canonicalStringFor: request + ^ String streamContents: [ :stream | + stream nextPutAll: request method; lf. + (request headers includesKey: 'Content-MD5') + ifTrue: [ stream nextPutAll: (request headers at: 'Content-MD5') ]. + stream lf. + request headers hasContentType ifTrue: [ + stream print: request headers contentType ]. + stream lf. + (request headers includesKey: 'Date') + ifTrue: [ stream nextPutAll: (request headers at: 'Date') ]. + stream lf. + self printAmzHeaders: request headers to: stream. + stream + nextPutAll: (self bucketFromEndPoint: request uri host); + nextPutAll: request uri pathPrintString ] \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/checkIntegrity..st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/checkIntegrity..st new file mode 100644 index 00000000..3ed147d5 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/checkIntegrity..st @@ -0,0 +1,5 @@ +accessing +checkIntegrity: boolean + "Set whether I should check the integrety of get/put requests using content hashes" + + checkIntegrity := boolean \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/checkIntegrity.st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/checkIntegrity.st new file mode 100644 index 00000000..a18a8c1f --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/checkIntegrity.st @@ -0,0 +1,6 @@ +accessing +checkIntegrity + "Do I check the integrety of get/put requests using content hashes ?" + + checkIntegrity isNil ifTrue: [ checkIntegrity := false ]. + ^ checkIntegrity \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/close.st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/close.st new file mode 100644 index 00000000..ace63607 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/close.st @@ -0,0 +1,6 @@ +initialize-release +close + "Close the network resources we are using" + + httpClient notNil + ifTrue: [ httpClient close ] \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/downloadFile.fromBucket..st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/downloadFile.fromBucket..st new file mode 100644 index 00000000..267003c0 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/downloadFile.fromBucket..st @@ -0,0 +1,15 @@ +operations extra +downloadFile: filename fromBucket: bucket + "Do a streaming download of the key filename from bucket, + creating it as a file with that name in the current directory." + + | streaming response | + streaming := self httpClient streaming. + self httpClient streaming: true. + response := self at: bucket -> filename. + self httpClient streaming: streaming. + response isSuccess ifFalse: [ ^ ZnHttpUnsuccessful signal ]. + FileStream + fileNamed: filename + do: [ :stream | response entity writeOn: stream ]. + ^ response diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/eTag.st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/eTag.st new file mode 100644 index 00000000..493abcd1 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/eTag.st @@ -0,0 +1,4 @@ +accessing +eTag + ^ (self httpClient response + headers at: 'ETag' ifAbsent: [ ^ nil ]) withoutQuoting \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/endPoint..st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/endPoint..st new file mode 100644 index 00000000..7ea7b376 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/endPoint..st @@ -0,0 +1,7 @@ +initialize-release +endPoint: host + "Initialize me to talk to the endpoint named host. + Create a new HTTP client if needed, else reuse the existing one." + + httpClient ifNil: [ (httpClient := ZnClient new) http ]. + httpClient host: host \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/endPointForBucket..st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/endPointForBucket..st new file mode 100644 index 00000000..8110eedc --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/endPointForBucket..st @@ -0,0 +1,7 @@ +private +endPointForBucket: bucketKey + ^ String streamContents: [ :stream | + stream + nextPutAll: bucketKey; + nextPut: $.; + nextPutAll: self standardEndPoint ] \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/enforceContentHash.st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/enforceContentHash.st new file mode 100644 index 00000000..79bb7b3b --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/enforceContentHash.st @@ -0,0 +1,9 @@ +private protocol +enforceContentHash + | etag md5 request | + request := self httpClient request. + request hasEntity ifFalse: [ ^ self ]. + (etag := self eTag) ifNil: [ ^ self ]. + md5 := self md5: request contents. + etag = md5 hex + ifFalse: [ self error: 'Content MD5 hash and ETag do not match' ] \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/executeRequest..st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/executeRequest..st new file mode 100644 index 00000000..8367c287 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/executeRequest..st @@ -0,0 +1,8 @@ +private protocol +executeRequest: method + self httpClient method: method asUppercase. + self prepareRequest. + self httpClient perform: method. + self postProcessResponse. + ^ self httpClient response + diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/hmacSha1..st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/hmacSha1..st new file mode 100644 index 00000000..d6b91996 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/hmacSha1..st @@ -0,0 +1,5 @@ +private +hmacSha1: string + ^ (HMAC on: SHA1 new) + key: self secretAccessKey asByteArray; + digestMessage: string asByteArray \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/httpClient.st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/httpClient.st new file mode 100644 index 00000000..96e9eadd --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/httpClient.st @@ -0,0 +1,4 @@ +private +httpClient + httpClient isNil ifTrue: [ self initializeHttpClient ]. + ^ httpClient \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/initializeHttpClient.st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/initializeHttpClient.st new file mode 100644 index 00000000..28cdd732 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/initializeHttpClient.st @@ -0,0 +1,3 @@ +private +initializeHttpClient + self endPoint: self standardEndPoint \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/keysIn..st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/keysIn..st new file mode 100644 index 00000000..bd6350c8 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/keysIn..st @@ -0,0 +1,5 @@ +operations +keysIn: bucket + "Return a collection of ZnAWSS3Key objects describing the keys in bucket" + + ^ self keysIn: bucket query: nil \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/keysIn.query..st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/keysIn.query..st new file mode 100644 index 00000000..8010ea31 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/keysIn.query..st @@ -0,0 +1,15 @@ +operations +keysIn: bucket query: query + "Return a collection of ZnAWSS3Key objects describing the keys in bucket + using optional URI query fields" + + | response | + self endPoint: (self endPointForBucket: bucket). + self httpClient url: '/'. + query notNil ifTrue: [ self httpClient queryAddAll: query ]. + response := self executeRequest: #get. + ^ (response isSuccess and: [ response contentType = ZnMimeType applicationXml ]) + ifTrue: [ + self processKeysXml: response contents for: bucket ] + ifFalse: [ + self error: 'Could not list keys' ] \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/md5..st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/md5..st new file mode 100644 index 00000000..ee0c333b --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/md5..st @@ -0,0 +1,3 @@ +private +md5: object + ^ MD5 new hashMessage: object \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/metaAt..st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/metaAt..st new file mode 100644 index 00000000..fc4c3566 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/metaAt..st @@ -0,0 +1,8 @@ +operations +metaAt: bucketKeyAssociation + "Access the meta information of an AWS S3 object in a bucket, + identified by a bucket->key association, by doing a HEAD." + + self endPoint: (self endPointForBucket: bucketKeyAssociation key). + self httpClient url: bucketKeyAssociation value. + ^ self executeRequest: #head \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/postProcessResponse.st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/postProcessResponse.st new file mode 100644 index 00000000..a45436dc --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/postProcessResponse.st @@ -0,0 +1,4 @@ +private protocol +postProcessResponse + self checkIntegrity + ifTrue: [ self enforceContentHash ] \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/prepareRequest.st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/prepareRequest.st new file mode 100644 index 00000000..2a94e276 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/prepareRequest.st @@ -0,0 +1,7 @@ +private protocol +prepareRequest + self checkIntegrity + ifTrue: [ self addContentHash ]. + self addAuthorization + + diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/printAmzHeaders.to..st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/printAmzHeaders.to..st new file mode 100644 index 00000000..0fd25347 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/printAmzHeaders.to..st @@ -0,0 +1,14 @@ +private +printAmzHeaders: headers to: stream + | amzHeaders | + amzHeaders := OrderedCollection new. + headers headersDo: [ :key :value | + (key beginsWith: 'X-Amz') + ifTrue: [ + amzHeaders add: key asLowercase -> value ] ]. + amzHeaders sorted do: [ :each | + stream + nextPutAll: each key; + nextPut: $:; + nextPutAll: each value; + lf ] \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/processBucketsXml..st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/processBucketsXml..st new file mode 100644 index 00000000..fc17649a --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/processBucketsXml..st @@ -0,0 +1,7 @@ +private +processBucketsXml: string + | dom | + dom := XMLDOMParser parse: string. + ^ ((dom allElementsNamed: 'Bucket') + collect: [ :each | + each contentStringAt: 'Name']) asArray \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/processKeysXml.for..st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/processKeysXml.for..st new file mode 100644 index 00000000..bc5dfef5 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/processKeysXml.for..st @@ -0,0 +1,9 @@ +private +processKeysXml: string for: bucket + | dom | + dom := XMLDOMParser parse: string. + ^ ((dom allElementsNamed: 'Contents') + collect: [ :each | + (ZnAWSS3Key fromXml: each) + bucket: bucket; + yourself ]) asArray \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/remove..st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/remove..st new file mode 100644 index 00000000..393fafc4 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/remove..st @@ -0,0 +1,8 @@ +operations +remove: bucketKeyAssociation + "Remove an AWS S3 object in a bucket, + identified by a bucket->key association" + + self endPoint: (self endPointForBucket: bucketKeyAssociation key). + self httpClient url: bucketKeyAssociation value. + ^ self executeRequest: #delete \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/removeBucket..st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/removeBucket..st new file mode 100644 index 00000000..cdaaa8f4 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/removeBucket..st @@ -0,0 +1,7 @@ +operations +removeBucket: bucket + "Remove an AWS S3 bucket" + + self endPoint: self standardEndPoint. + self httpClient url: bucket. + ^ self executeRequest: #delete diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/secretAccessKey..st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/secretAccessKey..st new file mode 100644 index 00000000..00aa80c0 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/secretAccessKey..st @@ -0,0 +1,5 @@ +accessing +secretAccessKey: string + "Set my AWS Security Credentials' Access Keys' Secret Access Key" + + secretAccessKey := string \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/secretAccessKey.st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/secretAccessKey.st new file mode 100644 index 00000000..3b843755 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/secretAccessKey.st @@ -0,0 +1,5 @@ +accessing +secretAccessKey + "The AWS Security Credentials' Access Keys' Secret Access Key used by me" + + ^ secretAccessKey \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/standardEndPoint.st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/standardEndPoint.st new file mode 100644 index 00000000..fa38bec6 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/standardEndPoint.st @@ -0,0 +1,3 @@ +private +standardEndPoint + ^ 's3.amazonaws.com' \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/uploadFile.inBucket..st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/uploadFile.inBucket..st new file mode 100644 index 00000000..5b82953d --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/uploadFile.inBucket..st @@ -0,0 +1,3 @@ +operations extra +uploadFile: filename inBucket: bucket + ^ self uploadFile: filename withMd5: nil inBucket: bucket \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/uploadFile.withMd5.inBucket..st b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/uploadFile.withMd5.inBucket..st new file mode 100644 index 00000000..15d656ce --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/instance/uploadFile.withMd5.inBucket..st @@ -0,0 +1,17 @@ +operations extra +uploadFile: filename withMd5: md5 inBucket: bucket + "Do a streaming upload of the file filename to bucket. + When md5 is notNil, use it to validate the ETag of the response." + + | entry size mimeType fileStream entity response | + entry := FileDirectory root directoryEntryFor: filename. + size := entry fileSize. + mimeType := ZnMimeType forFilenameExtension: (FileDirectory extensionFor: filename). + fileStream := FileDirectory root readOnlyFileNamed: filename. + mimeType isBinary ifTrue: [ fileStream binary ]. + (entity := ZnStreamingEntity type: mimeType length: size) + stream: fileStream. + self at: bucket -> entry name put: entity. + (md5 notNil and: [ (md5 sameAs: self eTag) not ]) + ifTrue: [ self error: 'Uploaded ETag does not equal supplied MD5' ]. + ^ self httpClient response diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/methodProperties.json b/repository/Zinc-AWS.package/ZnAWSS3Client.class/methodProperties.json new file mode 100644 index 00000000..2a5833bb --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/methodProperties.json @@ -0,0 +1,44 @@ +{ + "class" : { + }, + "instance" : { + "accessKeyId" : "SvenVanCaekenberghe 1/5/2011 20:07", + "accessKeyId:" : "SvenVanCaekenberghe 1/5/2011 20:08", + "addAuthorization" : "SvenVanCaekenberghe 9/17/2011 13:39", + "addBucket:" : "SvenVanCaekenberghe 11/23/2011 16:16", + "addContentHash" : "SvenVanCaekenberghe 9/17/2011 13:40", + "at:" : "SvenVanCaekenberghe 11/23/2011 16:17", + "at:put:" : "SvenVanCaekenberghe 1/5/2011 20:16", + "at:put:headers:" : "SvenVanCaekenberghe 11/23/2011 16:19", + "authorizationFor:" : "SvenVanCaekenberghe 3/21/2011 20:29", + "bucketFromEndPoint:" : "SvenVanCaekenberghe 11/23/2011 19:27", + "buckets" : "SvenVanCaekenberghe 11/23/2011 15:28", + "canonicalStringFor:" : "SvenVanCaekenberghe 11/23/2011 16:11", + "checkIntegrity" : "SvenVanCaekenberghe 1/5/2011 20:09", + "checkIntegrity:" : "SvenVanCaekenberghe 1/5/2011 20:09", + "close" : "SvenVanCaekenberghe 9/17/2011 11:22", + "downloadFile:fromBucket:" : "SvenVanCaekenberghe 12/1/2011 10:17", + "eTag" : "SvenVanCaekenberghe 11/23/2011 19:49", + "endPoint:" : "SvenVanCaekenberghe 11/23/2011 16:25", + "endPointForBucket:" : "SvenVanCaekenberghe 11/23/2011 15:28", + "enforceContentHash" : "SvenVanCaekenberghe 11/23/2011 19:47", + "executeRequest:" : "SvenVanCaekenberghe 9/17/2011 13:51", + "hmacSha1:" : "SvenVanCaekenberghe 1/4/2011 22:42", + "httpClient" : "SvenVanCaekenberghe 9/17/2011 11:23", + "initializeHttpClient" : "SvenVanCaekenberghe 11/23/2011 15:28", + "keysIn:" : "SvenVanCaekenberghe 1/5/2011 20:56", + "keysIn:query:" : "SvenVanCaekenberghe 11/23/2011 15:41", + "md5:" : "SvenVanCaekenberghe 1/5/2011 11:30", + "metaAt:" : "SvenVanCaekenberghe 12/1/2011 10:14", + "postProcessResponse" : "SvenVanCaekenberghe 9/17/2011 13:41", + "prepareRequest" : "SvenVanCaekenberghe 9/17/2011 13:37", + "printAmzHeaders:to:" : "SvenVanCaekenberghe 1/5/2011 19:42", + "processBucketsXml:" : "SvenVanCaekenberghe 1/5/2011 20:54", + "processKeysXml:for:" : "SvenVanCaekenberghe 1/5/2011 20:55", + "remove:" : "SvenVanCaekenberghe 11/23/2011 16:21", + "removeBucket:" : "SvenVanCaekenberghe 11/23/2011 16:16", + "secretAccessKey" : "SvenVanCaekenberghe 1/5/2011 20:07", + "secretAccessKey:" : "SvenVanCaekenberghe 1/5/2011 20:07", + "standardEndPoint" : "SvenVanCaekenberghe 11/23/2011 15:28", + "uploadFile:inBucket:" : "SvenVanCaekenberghe 11/24/2011 19:46", + "uploadFile:withMd5:inBucket:" : "SvenVanCaekenberghe 12/2/2011 14:53" } } diff --git a/repository/Zinc-AWS.package/ZnAWSS3Client.class/properties.json b/repository/Zinc-AWS.package/ZnAWSS3Client.class/properties.json new file mode 100644 index 00000000..a4146a62 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Client.class/properties.json @@ -0,0 +1,17 @@ +{ + "category" : "Zinc-AWS", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "SvenVanCaekenberghe 9/17/2011 14:06", + "instvars" : [ + "accessKeyId", + "secretAccessKey", + "checkIntegrity", + "httpClient" ], + "name" : "ZnAWSS3Client", + "pools" : [ + ], + "super" : "Object", + "type" : "normal" } diff --git a/repository/Zinc-AWS.package/ZnAWSS3Key.class/README.md b/repository/Zinc-AWS.package/ZnAWSS3Key.class/README.md new file mode 100644 index 00000000..316eaad7 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Key.class/README.md @@ -0,0 +1,6 @@ +I am ZnAWSS3Key. + +I hold each result from listing the keys in an AWS S3 bucket. + +Use #value to convert me to what ZnAWSS3Client>>#at: +and ZnAWSS3Client>>#at:put: expect (a bucket->key association). \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Key.class/class/bucket.key..st b/repository/Zinc-AWS.package/ZnAWSS3Key.class/class/bucket.key..st new file mode 100644 index 00000000..329ffc09 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Key.class/class/bucket.key..st @@ -0,0 +1,6 @@ +instance creation +bucket: bucket key: key + ^ (self new) + bucket: bucket; + key: key; + yourself \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Key.class/class/fromAssociation..st b/repository/Zinc-AWS.package/ZnAWSS3Key.class/class/fromAssociation..st new file mode 100644 index 00000000..1cd1489a --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Key.class/class/fromAssociation..st @@ -0,0 +1,3 @@ +instance creation +fromAssociation: association + ^ self bucket: association key key: association value \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Key.class/class/fromXml..st b/repository/Zinc-AWS.package/ZnAWSS3Key.class/class/fromXml..st new file mode 100644 index 00000000..e803110f --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Key.class/class/fromXml..st @@ -0,0 +1,3 @@ +instance creation +fromXml: dom + ^ self new fromXml: dom; yourself \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/asResource.st b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/asResource.st new file mode 100644 index 00000000..1bb572a0 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/asResource.st @@ -0,0 +1,8 @@ +accessing +asResource + ^ String streamContents: [ :stream | + stream + nextPut: $/; + nextPutAll: bucketKeyAssociation key; + nextPut: $/; + nextPutAll: bucketKeyAssociation value ] \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/asUrl.st b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/asUrl.st new file mode 100644 index 00000000..f3e75030 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/asUrl.st @@ -0,0 +1,7 @@ +accessing +asUrl + ^ (ZnUrl new) + scheme: #http; + host: 's3.amazonaws.com'; + parseFrom: self asResource; + yourself \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/bucket..st b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/bucket..st new file mode 100644 index 00000000..30755582 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/bucket..st @@ -0,0 +1,3 @@ +private +bucket: anObject + bucket := anObject \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/bucket.st b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/bucket.st new file mode 100644 index 00000000..82d5647f --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/bucket.st @@ -0,0 +1,3 @@ +accessing +bucket + ^ bucket \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/bucketKeyAssociation.st b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/bucketKeyAssociation.st new file mode 100644 index 00000000..3ef9ffd5 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/bucketKeyAssociation.st @@ -0,0 +1,5 @@ +accessing +bucketKeyAssociation + bucketKeyAssociation isNil ifTrue: [ + bucketKeyAssociation := bucket -> key ]. + ^ bucketKeyAssociation \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/etag..st b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/etag..st new file mode 100644 index 00000000..9cf2c75a --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/etag..st @@ -0,0 +1,3 @@ +private +etag: anObject + etag := anObject \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/etag.st b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/etag.st new file mode 100644 index 00000000..6df8cedb --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/etag.st @@ -0,0 +1,3 @@ +accessing +etag + ^ etag \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/fromXml..st b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/fromXml..st new file mode 100644 index 00000000..3849b3ed --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/fromXml..st @@ -0,0 +1,7 @@ +initialize-release +fromXml: dom + self + key: (dom contentStringAt: 'Key'); + etag: (dom contentStringAt: 'ETag') withoutQuoting; + size: (Integer readFrom: (dom contentStringAt: 'Size') ifFail: [ -1 ]); + xml: dom diff --git a/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/key..st b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/key..st new file mode 100644 index 00000000..42d4a513 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/key..st @@ -0,0 +1,3 @@ +private +key: anObject + key := anObject \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/key.st b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/key.st new file mode 100644 index 00000000..8df80551 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/key.st @@ -0,0 +1,3 @@ +accessing +key + ^ key \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/printOn..st b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/printOn..st new file mode 100644 index 00000000..e8f764ab --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/printOn..st @@ -0,0 +1,6 @@ +printing +printOn: stream + super printOn: stream. + stream nextPut: $(. + stream print: self bucketKeyAssociation. + stream nextPut: $) \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/size..st b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/size..st new file mode 100644 index 00000000..e58e0ceb --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/size..st @@ -0,0 +1,3 @@ +private +size: anObject + size := anObject \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/size.st b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/size.st new file mode 100644 index 00000000..5936baf9 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/size.st @@ -0,0 +1,3 @@ +accessing +size + ^ size \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/value.st b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/value.st new file mode 100644 index 00000000..4794b8f7 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/value.st @@ -0,0 +1,3 @@ +accessing +value + ^ self bucketKeyAssociation \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/xml..st b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/xml..st new file mode 100644 index 00000000..7bb9ffaa --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/xml..st @@ -0,0 +1,3 @@ +private +xml: anObject + xml := anObject \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/xml.st b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/xml.st new file mode 100644 index 00000000..73cccbda --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Key.class/instance/xml.st @@ -0,0 +1,3 @@ +accessing +xml + ^ xml \ No newline at end of file diff --git a/repository/Zinc-AWS.package/ZnAWSS3Key.class/methodProperties.json b/repository/Zinc-AWS.package/ZnAWSS3Key.class/methodProperties.json new file mode 100644 index 00000000..a1652b04 --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Key.class/methodProperties.json @@ -0,0 +1,22 @@ +{ + "class" : { + "bucket:key:" : "SvenVanCaekenberghe 1/8/2011 17:16", + "fromAssociation:" : "SvenVanCaekenberghe 1/8/2011 17:20", + "fromXml:" : "SvenVanCaekenberghe 1/5/2011 15:21" }, + "instance" : { + "asResource" : "SvenVanCaekenberghe 1/8/2011 17:14", + "asUrl" : "SvenVanCaekenberghe 1/8/2011 17:19", + "bucket" : "SvenVanCaekenberghe 1/5/2011 15:20", + "bucket:" : "SvenVanCaekenberghe 1/5/2011 15:20", + "bucketKeyAssociation" : "SvenVanCaekenberghe 1/5/2011 15:37", + "etag" : "SvenVanCaekenberghe 1/5/2011 15:20", + "etag:" : "SvenVanCaekenberghe 1/5/2011 15:20", + "fromXml:" : "SvenVanCaekenberghe 1/5/2011 15:31", + "key" : "SvenVanCaekenberghe 1/5/2011 15:20", + "key:" : "SvenVanCaekenberghe 1/5/2011 15:20", + "printOn:" : "SvenVanCaekenberghe 1/5/2011 15:37", + "size" : "SvenVanCaekenberghe 1/5/2011 15:25", + "size:" : "SvenVanCaekenberghe 1/5/2011 15:20", + "value" : "SvenVanCaekenberghe 1/5/2011 15:43", + "xml" : "SvenVanCaekenberghe 1/5/2011 15:20", + "xml:" : "SvenVanCaekenberghe 1/5/2011 15:20" } } diff --git a/repository/Zinc-AWS.package/ZnAWSS3Key.class/properties.json b/repository/Zinc-AWS.package/ZnAWSS3Key.class/properties.json new file mode 100644 index 00000000..d1f6748f --- /dev/null +++ b/repository/Zinc-AWS.package/ZnAWSS3Key.class/properties.json @@ -0,0 +1,19 @@ +{ + "category" : "Zinc-AWS", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "SvenVanCaekenberghe 1/5/2011 16:11", + "instvars" : [ + "key", + "size", + "etag", + "bucket", + "xml", + "bucketKeyAssociation" ], + "name" : "ZnAWSS3Key", + "pools" : [ + ], + "super" : "Object", + "type" : "normal" } diff --git a/repository/Zinc-AWS.package/monticello.meta/categories.st b/repository/Zinc-AWS.package/monticello.meta/categories.st new file mode 100644 index 00000000..806b8bc1 --- /dev/null +++ b/repository/Zinc-AWS.package/monticello.meta/categories.st @@ -0,0 +1 @@ +SystemOrganization addCategory: #'Zinc-AWS'! diff --git a/repository/Zinc-AWS.package/monticello.meta/initializers.st b/repository/Zinc-AWS.package/monticello.meta/initializers.st new file mode 100644 index 00000000..e69de29b diff --git a/repository/Zinc-AWS.package/monticello.meta/package b/repository/Zinc-AWS.package/monticello.meta/package new file mode 100644 index 00000000..1ecf140b --- /dev/null +++ b/repository/Zinc-AWS.package/monticello.meta/package @@ -0,0 +1 @@ +(name 'Zinc-AWS') \ No newline at end of file diff --git a/repository/Zinc-AWS.package/monticello.meta/version b/repository/Zinc-AWS.package/monticello.meta/version new file mode 100644 index 00000000..8fe86bae --- /dev/null +++ b/repository/Zinc-AWS.package/monticello.meta/version @@ -0,0 +1 @@ +(name 'Zinc-AWS-SvenVanCaekenberghe.15' message 'small fix to ZnAWSS3Client>>#uploadFile:withMd5:fromBucket: better use #readOnlyFileNamed:' id 'c9906c39-ddc8-4693-8ff7-4896d8f3f94f' date '2 December 2011' time '2:54:37 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-AWS-SvenVanCaekenberghe.14' message 'added ZnAWSS3Client>>#downloadFile:fromBucket: and #metaAt:' id '9b651af8-93d6-4b08-89d8-f349c95dcf2a' date '1 December 2011' time '10:34:04 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-AWS-SvenVanCaekenberghe.13' message 'added ZnAWSS3Client>>#uploadFile:withMd5:inBucket:' id '118e82ea-340e-424d-9f65-1bcda5458f85' date '24 November 2011' time '8:47:49 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-AWS-SvenVanCaekenberghe.12' message 'fixed ZnAWSS3Client>>#enforceContentHash' id 'c54536c9-aaa1-4b54-bd83-0307372ddb87' date '23 November 2011' time '8:06:12 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-AWS-SvenVanCaekenberghe.11' message 'changed AWS S3 client to use the virtual bucket style' id '35804904-6724-42ef-a750-fbe35933abb9' date '23 November 2011' time '4:28:27 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-AWS-SvenVanCaekenberghe.10' message 'tracking the renaming of ZnNeoClient -> ZnClient' id '8d5b9649-1fee-41b5-8887-db8131122e5e' date '9 November 2011' time '9:25:41 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-AWS-SvenVanCaekenberghe.9' message 'rewrote ZnAWSS3Client to use ZnNeoClient internally' id 'eafb3833-3d74-44ed-995b-499f3e902710' date '17 September 2011' time '2:07:19 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-AWS-SvenVanCaekenberghe.7' message 'now using ZnUtils class>>#encodeBase64:' id 'be0018d4-037d-45e8-b7e6-72c9bbe79d96' date '21 March 2011' time '8:55 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-AWS-SvenVanCaekenberghe.6' message 'added ZnAWSS3Key>>#asResource and ZnAWSS3Key>>#asUrl; added ZnAWSS3Key class>>#bucket:key: and ZnAWSS3Key class>>#fromAssociation:' id 'cf548b23-80c7-443e-a2c3-735679036b79' date '8 January 2011' time '5:21:36 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-AWS-SvenVanCaekenberghe.5' message 'added ZnAWSS3Client>>#keysIn:query: to specify optional URI query fields' id '4c83d2aa-d318-4407-8a6b-7bf9c447a62e' date '5 January 2011' time '9:08:18 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-AWS-SvenVanCaekenberghe.4' message 'added comments to all public methods' id 'a9438ed3-f3c4-46f9-85c7-d749ea6cdb97' date '5 January 2011' time '8:18:46 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-AWS-SvenVanCaekenberghe.3' message 'added ZnAWSS3Client>>#at:put:headers: to allow setting custom headers (such as x-amz-* headers); implemented adding x-amz-* headers to the canonical string for authorization' id 'b2e778b7-8c9d-4bb5-883c-9f0fd8304bb0' date '5 January 2011' time '8:04:08 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-AWS-SvenVanCaekenberghe.2' message 'implemented MD5 integrity checking for GET and PUT operations' id '9fd785c9-c343-4e92-b04f-3378ca4a83d4' date '5 January 2011' time '5:10:03 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-AWS-SvenVanCaekenberghe.1' message 'first working proof of concept of an Amazon Web Services (AWS) Simple Storage Service (S3) Client; this package depends on Zinc HTTP Components and XML Support ' id '05a32ed6-1e74-4821-81eb-12c61761d0c5' date '5 January 2011' time '4:14:45 pm' author 'SvenVanCaekenberghe' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Zinc-AWS.package/properties.json b/repository/Zinc-AWS.package/properties.json new file mode 100644 index 00000000..f037444a --- /dev/null +++ b/repository/Zinc-AWS.package/properties.json @@ -0,0 +1,2 @@ +{ + } diff --git a/repository/Zinc-FileSystem-Legacy.package/.filetree b/repository/Zinc-FileSystem-Legacy.package/.filetree new file mode 100644 index 00000000..8998102c --- /dev/null +++ b/repository/Zinc-FileSystem-Legacy.package/.filetree @@ -0,0 +1,4 @@ +{ + "noMethodMetaData" : true, + "separateMethodMetaAndSource" : false, + "useCypressPropertiesFile" : true } diff --git a/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/README.md b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/README.md new file mode 100644 index 00000000..e5fb3672 --- /dev/null +++ b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/README.md @@ -0,0 +1,4 @@ +I am ZnFileSystemUtils. +I help is abstracting over API differences pre and post the introduction of FileSystem in Pharo 2.0 + +Part of Zinc HTTP Components. \ No newline at end of file diff --git a/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/baseNameFor..st b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/baseNameFor..st new file mode 100644 index 00000000..a5f812d7 --- /dev/null +++ b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/baseNameFor..st @@ -0,0 +1,3 @@ +paths +baseNameFor: fileName + ^ (FileDirectory root directoryEntryFor: fileName) name \ No newline at end of file diff --git a/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/defaultDirectory.st b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/defaultDirectory.st new file mode 100644 index 00000000..9693a6da --- /dev/null +++ b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/defaultDirectory.st @@ -0,0 +1,3 @@ +defaults +defaultDirectory + ^ FileDirectory default \ No newline at end of file diff --git a/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/defaultDirectoryPath.st b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/defaultDirectoryPath.st new file mode 100644 index 00000000..4bc25bd9 --- /dev/null +++ b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/defaultDirectoryPath.st @@ -0,0 +1,3 @@ +defaults +defaultDirectoryPath + ^ FileDirectory default fullName \ No newline at end of file diff --git a/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/delete..st b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/delete..st new file mode 100644 index 00000000..45f9bce6 --- /dev/null +++ b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/delete..st @@ -0,0 +1,3 @@ +paths +delete: path + ^ FileDirectory default deleteFileNamed: path \ No newline at end of file diff --git a/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/deleteIfExists..st b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/deleteIfExists..st new file mode 100644 index 00000000..4527da63 --- /dev/null +++ b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/deleteIfExists..st @@ -0,0 +1,5 @@ +paths +deleteIfExists: path + ^ (self exists: path) + ifTrue: [ self delete: path. true ] + ifFalse: [ false ] \ No newline at end of file diff --git a/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/downloadPathTo.for..st b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/downloadPathTo.for..st new file mode 100644 index 00000000..79348f85 --- /dev/null +++ b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/downloadPathTo.for..st @@ -0,0 +1,11 @@ +paths +downloadPathTo: directoryOrFileName for: baseName + | downloadPath | + downloadPath := FileDirectory on: directoryOrFileName. + ^ (downloadPath exists and: [ downloadPath directoryEntry isDirectory ]) + ifTrue: [ + baseName ifNil: [ + self error: 'Not enough information to construct a download path' ]. + (downloadPath / baseName) pathName ] + ifFalse: [ + directoryOrFileName ] \ No newline at end of file diff --git a/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/exists..st b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/exists..st new file mode 100644 index 00000000..05e6c862 --- /dev/null +++ b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/exists..st @@ -0,0 +1,3 @@ +paths +exists: path + ^ FileDirectory default fileExists: path \ No newline at end of file diff --git a/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/extensionFor..st b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/extensionFor..st new file mode 100644 index 00000000..6aa4002f --- /dev/null +++ b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/extensionFor..st @@ -0,0 +1,3 @@ +paths +extensionFor: fileName + ^ FileDirectory extensionFor: fileName \ No newline at end of file diff --git a/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/fileNamed.do..st b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/fileNamed.do..st new file mode 100644 index 00000000..55cbbe89 --- /dev/null +++ b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/fileNamed.do..st @@ -0,0 +1,5 @@ +streams +fileNamed: fileName do: block + ^ FileStream + fileNamed: fileName + do: block \ No newline at end of file diff --git a/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/fileSizeFor..st b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/fileSizeFor..st new file mode 100644 index 00000000..5a9edc6b --- /dev/null +++ b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/fileSizeFor..st @@ -0,0 +1,3 @@ +queries +fileSizeFor: fileName + ^ (FileDirectory root directoryEntryFor: fileName) fileSize \ No newline at end of file diff --git a/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/fileStreamFor..st b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/fileStreamFor..st new file mode 100644 index 00000000..41f60add --- /dev/null +++ b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/fileStreamFor..st @@ -0,0 +1,3 @@ +streams +fileStreamFor: fileName + ^ FileStream fileNamed: fileName \ No newline at end of file diff --git a/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/fullNameFor..st b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/fullNameFor..st new file mode 100644 index 00000000..b2d84eeb --- /dev/null +++ b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/fullNameFor..st @@ -0,0 +1,3 @@ +paths +fullNameFor: fileName + ^ (FileDirectory default / fileName) fullName \ No newline at end of file diff --git a/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/modificationTimeFor..st b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/modificationTimeFor..st new file mode 100644 index 00000000..92b4c5b6 --- /dev/null +++ b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/modificationTimeFor..st @@ -0,0 +1,3 @@ +queries +modificationTimeFor: path + ^ (FileDirectory default directoryEntryFor: path) modificationDateAndTime \ No newline at end of file diff --git a/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/newFileNamed.do..st b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/newFileNamed.do..st new file mode 100644 index 00000000..7946f8ee --- /dev/null +++ b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/newFileNamed.do..st @@ -0,0 +1,5 @@ +streams +newFileNamed: fileName do: block + ^ FileStream + newFileNamed: fileName + do: block \ No newline at end of file diff --git a/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/oldFileNamed.do..st b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/oldFileNamed.do..st new file mode 100644 index 00000000..85232c76 --- /dev/null +++ b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/oldFileNamed.do..st @@ -0,0 +1,5 @@ +streams +oldFileNamed: fileName do: block + ^ FileStream + oldFileNamed: fileName + do: block \ No newline at end of file diff --git a/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/oldFileStreamFor..st b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/oldFileStreamFor..st new file mode 100644 index 00000000..468684cc --- /dev/null +++ b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/class/oldFileStreamFor..st @@ -0,0 +1,3 @@ +streams +oldFileStreamFor: fileName + ^ FileStream oldFileNamed: fileName \ No newline at end of file diff --git a/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/methodProperties.json b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/methodProperties.json new file mode 100644 index 00000000..ed051ccd --- /dev/null +++ b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/methodProperties.json @@ -0,0 +1,20 @@ +{ + "class" : { + "baseNameFor:" : "SvenVanCaekenberghe 7/2/2012 16:10", + "defaultDirectory" : "SvenVanCaekenberghe 7/3/2012 00:37", + "defaultDirectoryPath" : "SvenVanCaekenberghe 7/2/2012 22:36", + "delete:" : "SvenVanCaekenberghe 7/2/2012 16:44", + "deleteIfExists:" : "SvenVanCaekenberghe 7/2/2012 16:57", + "downloadPathTo:for:" : "SvenVanCaekenberghe 7/20/2012 13:06", + "exists:" : "SvenVanCaekenberghe 7/2/2012 16:43", + "extensionFor:" : "SvenVanCaekenberghe 7/2/2012 16:01", + "fileNamed:do:" : "SvenVanCaekenberghe 7/2/2012 16:23", + "fileSizeFor:" : "SvenVanCaekenberghe 7/2/2012 16:08", + "fileStreamFor:" : "SvenVanCaekenberghe 7/2/2012 16:13", + "fullNameFor:" : "SvenVanCaekenberghe 7/3/2012 00:34", + "modificationTimeFor:" : "SvenVanCaekenberghe 7/3/2012 00:40", + "newFileNamed:do:" : "SvenVanCaekenberghe 7/3/2012 00:32", + "oldFileNamed:do:" : "SvenVanCaekenberghe 7/2/2012 22:33", + "oldFileStreamFor:" : "SvenVanCaekenberghe 7/2/2012 16:13" }, + "instance" : { + } } diff --git a/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/properties.json b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/properties.json new file mode 100644 index 00000000..7c9821ec --- /dev/null +++ b/repository/Zinc-FileSystem-Legacy.package/ZnFileSystemUtils.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Zinc-FileSystem-Legacy", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "ZnFileSystemUtils", + "pools" : [ + ], + "super" : "Object", + "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/README.md b/repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/README.md similarity index 100% rename from repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/README.md rename to repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/README.md diff --git a/repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/class/defaultMimeTypeExpirations.st b/repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/class/defaultMimeTypeExpirations.st similarity index 100% rename from repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/class/defaultMimeTypeExpirations.st rename to repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/class/defaultMimeTypeExpirations.st diff --git a/repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/instance/actualFilenameFor..st b/repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/instance/actualFilenameFor..st similarity index 100% rename from repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/instance/actualFilenameFor..st rename to repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/instance/actualFilenameFor..st diff --git a/repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/instance/directory..st b/repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/instance/directory..st similarity index 100% rename from repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/instance/directory..st rename to repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/instance/directory..st diff --git a/repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/instance/directory.st b/repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/instance/directory.st similarity index 100% rename from repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/instance/directory.st rename to repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/instance/directory.st diff --git a/repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/instance/directoryRedirectFor..st b/repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/instance/directoryRedirectFor..st similarity index 100% rename from repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/instance/directoryRedirectFor..st rename to repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/instance/directoryRedirectFor..st diff --git a/repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/instance/expirationDateFor..st b/repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/instance/expirationDateFor..st similarity index 100% rename from repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/instance/expirationDateFor..st rename to repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/instance/expirationDateFor..st diff --git a/repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/instance/handleRequest..st b/repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/instance/handleRequest..st similarity index 100% rename from repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/instance/handleRequest..st rename to repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/instance/handleRequest..st diff --git a/repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/instance/indexFileIn..st b/repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/instance/indexFileIn..st similarity index 100% rename from repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/instance/indexFileIn..st rename to repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/instance/indexFileIn..st diff --git a/repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/instance/maxAgeFor..st b/repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/instance/maxAgeFor..st similarity index 100% rename from repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/instance/maxAgeFor..st rename to repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/instance/maxAgeFor..st diff --git a/repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/instance/mimeTypeExpirations..st b/repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/instance/mimeTypeExpirations..st similarity index 100% rename from repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/instance/mimeTypeExpirations..st rename to repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/instance/mimeTypeExpirations..st diff --git a/repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/instance/mimeTypeExpirations.st b/repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/instance/mimeTypeExpirations.st similarity index 100% rename from repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/instance/mimeTypeExpirations.st rename to repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/instance/mimeTypeExpirations.st diff --git a/repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/instance/prefix..st b/repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/instance/prefix..st similarity index 100% rename from repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/instance/prefix..st rename to repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/instance/prefix..st diff --git a/repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/instance/prefix.st b/repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/instance/prefix.st similarity index 100% rename from repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/instance/prefix.st rename to repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/instance/prefix.st diff --git a/repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/instance/prefixFromString..st b/repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/instance/prefixFromString..st similarity index 100% rename from repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/instance/prefixFromString..st rename to repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/instance/prefixFromString..st diff --git a/repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/instance/redirectNeededFor.actualFilename..st b/repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/instance/redirectNeededFor.actualFilename..st similarity index 100% rename from repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/instance/redirectNeededFor.actualFilename..st rename to repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/instance/redirectNeededFor.actualFilename..st diff --git a/repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/instance/responseForFile.fromRequest..st b/repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/instance/responseForFile.fromRequest..st similarity index 100% rename from repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/instance/responseForFile.fromRequest..st rename to repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/instance/responseForFile.fromRequest..st diff --git a/repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/methodProperties.json b/repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/methodProperties.json new file mode 100644 index 00000000..8c13210d --- /dev/null +++ b/repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/methodProperties.json @@ -0,0 +1,19 @@ +{ + "class" : { + "defaultMimeTypeExpirations" : "SvenVanCaekenberghe 5/14/2012 10:26" }, + "instance" : { + "actualFilenameFor:" : "SvenVanCaekenberghe 5/15/2012 11:02", + "directory" : "SvenVanCaekenberghe 4/26/2011 11:06", + "directory:" : "SvenVanCaekenberghe 4/26/2011 11:07", + "directoryRedirectFor:" : "SvenVanCaekenberghe 4/26/2011 12:35", + "expirationDateFor:" : "SvenVanCaekenberghe 5/14/2012 10:30", + "handleRequest:" : "PaulDeBruicker 5/12/2012 09:56", + "indexFileIn:" : "SvenVanCaekenberghe 8/18/2011 14:25", + "maxAgeFor:" : "SvenVanCaekenberghe 5/14/2012 09:41", + "mimeTypeExpirations" : "SvenVanCaekenberghe 5/14/2012 09:39", + "mimeTypeExpirations:" : "SvenVanCaekenberghe 5/14/2012 09:39", + "prefix" : "SvenVanCaekenberghe 4/26/2011 12:46", + "prefix:" : "SvenVanCaekenberghe 4/26/2011 11:08", + "prefixFromString:" : "SvenVanCaekenberghe 4/26/2011 11:09", + "redirectNeededFor:actualFilename:" : "SvenVanCaekenberghe 4/26/2011 13:11", + "responseForFile:fromRequest:" : "SvenVanCaekenberghe 5/14/2012 09:53" } } diff --git a/repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/properties.json b/repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/properties.json similarity index 73% rename from repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/properties.json rename to repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/properties.json index 75f9c1d5..6baea232 100644 --- a/repository/Zinc-HTTP.package/ZnStaticFileServerDelegate.class/properties.json +++ b/repository/Zinc-FileSystem-Legacy.package/ZnStaticFileServerDelegate.class/properties.json @@ -1,8 +1,7 @@ { - "category" : "Zinc-HTTP-Client-Server", + "category" : "Zinc-FileSystem-Legacy", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 4/26/2011 12:48", @@ -14,5 +13,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-FileSystem-Legacy.package/monticello.meta/categories.st b/repository/Zinc-FileSystem-Legacy.package/monticello.meta/categories.st new file mode 100644 index 00000000..84501ea5 --- /dev/null +++ b/repository/Zinc-FileSystem-Legacy.package/monticello.meta/categories.st @@ -0,0 +1 @@ +SystemOrganization addCategory: #'Zinc-FileSystem-Legacy'! diff --git a/repository/Zinc-FileSystem-Legacy.package/monticello.meta/initializers.st b/repository/Zinc-FileSystem-Legacy.package/monticello.meta/initializers.st new file mode 100644 index 00000000..e69de29b diff --git a/repository/Zinc-FileSystem-Legacy.package/monticello.meta/package b/repository/Zinc-FileSystem-Legacy.package/monticello.meta/package new file mode 100644 index 00000000..8996e66b --- /dev/null +++ b/repository/Zinc-FileSystem-Legacy.package/monticello.meta/package @@ -0,0 +1 @@ +(name 'Zinc-FileSystem-Legacy') \ No newline at end of file diff --git a/repository/Zinc-FileSystem-Legacy.package/monticello.meta/version b/repository/Zinc-FileSystem-Legacy.package/monticello.meta/version new file mode 100644 index 00000000..67fccac9 --- /dev/null +++ b/repository/Zinc-FileSystem-Legacy.package/monticello.meta/version @@ -0,0 +1 @@ +(name 'Zinc-FileSystem-Legacy-SvenVanCaekenberghe.2' message 'fixed a logic problem in ZnFileSystemUtils class>>#downloadPathTo:for:' id '30263aa4-76ea-4db1-8c10-9fd5eae0e1fb' date '20 July 2012' time '1:14:58 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-FileSystem-Legacy-SvenVanCaekenberghe.1' message 'introduction of the Zinc-FileSystem-Legacy package (including the new ZnFileSystemUtils class) to deal with pre/post FIleSystem introduction in Pharo 2.0 - this is the old code' id '207f349a-f8a3-41da-b78b-8ae9107259a8' date '3 July 2012' time '1:48:48.041 pm' author 'SvenVanCaekenberghe' ancestors () stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Zinc-FileSystem-Legacy.package/properties.json b/repository/Zinc-FileSystem-Legacy.package/properties.json new file mode 100644 index 00000000..f037444a --- /dev/null +++ b/repository/Zinc-FileSystem-Legacy.package/properties.json @@ -0,0 +1,2 @@ +{ + } diff --git a/repository/Zinc-FileSystem.package/.filetree b/repository/Zinc-FileSystem.package/.filetree new file mode 100644 index 00000000..8998102c --- /dev/null +++ b/repository/Zinc-FileSystem.package/.filetree @@ -0,0 +1,4 @@ +{ + "noMethodMetaData" : true, + "separateMethodMetaAndSource" : false, + "useCypressPropertiesFile" : true } diff --git a/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/README.md b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/README.md new file mode 100644 index 00000000..e5fb3672 --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/README.md @@ -0,0 +1,4 @@ +I am ZnFileSystemUtils. +I help is abstracting over API differences pre and post the introduction of FileSystem in Pharo 2.0 + +Part of Zinc HTTP Components. \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/baseNameFor..st b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/baseNameFor..st new file mode 100644 index 00000000..dd653b08 --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/baseNameFor..st @@ -0,0 +1,3 @@ +paths +baseNameFor: fileName + ^ fileName asFileReference basename \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/defaultDirectory.st b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/defaultDirectory.st new file mode 100644 index 00000000..372d2c48 --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/defaultDirectory.st @@ -0,0 +1,3 @@ +defaults +defaultDirectory + ^ FileSystem disk workingDirectory \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/defaultDirectoryPath.st b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/defaultDirectoryPath.st new file mode 100644 index 00000000..ad86a30e --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/defaultDirectoryPath.st @@ -0,0 +1,3 @@ +defaults +defaultDirectoryPath + ^ self defaultDirectory fullName \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/delete..st b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/delete..st new file mode 100644 index 00000000..b5bc2c16 --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/delete..st @@ -0,0 +1,3 @@ +paths +delete: path + ^ path asFileReference delete \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/deleteIfExists..st b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/deleteIfExists..st new file mode 100644 index 00000000..4527da63 --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/deleteIfExists..st @@ -0,0 +1,5 @@ +paths +deleteIfExists: path + ^ (self exists: path) + ifTrue: [ self delete: path. true ] + ifFalse: [ false ] \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/downloadPathTo.for..st b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/downloadPathTo.for..st new file mode 100644 index 00000000..1508ccfe --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/downloadPathTo.for..st @@ -0,0 +1,12 @@ +paths +downloadPathTo: directoryOrFileName for: baseName + | downloadPath | + downloadPath := directoryOrFileName asFileReference. + ^ downloadPath isDirectory + ifTrue: [ + baseName ifNil: [ + self error: 'Not enough information to construct a download path' ]. + (downloadPath / baseName) fullName ] + ifFalse: [ + directoryOrFileName ] + \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/exists..st b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/exists..st new file mode 100644 index 00000000..a2780af8 --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/exists..st @@ -0,0 +1,3 @@ +paths +exists: path + ^ path asFileReference exists \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/extensionFor..st b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/extensionFor..st new file mode 100644 index 00000000..179619ca --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/extensionFor..st @@ -0,0 +1,3 @@ +paths +extensionFor: fileName + ^ fileName asFileReference extension \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/fileNamed.do..st b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/fileNamed.do..st new file mode 100644 index 00000000..92146559 --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/fileNamed.do..st @@ -0,0 +1,4 @@ +streams +fileNamed: fileName do: block + ^ fileName asFileReference + fileStreamDo: block \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/fileSizeFor..st b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/fileSizeFor..st new file mode 100644 index 00000000..b071dece --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/fileSizeFor..st @@ -0,0 +1,3 @@ +queries +fileSizeFor: fileName + ^ fileName asFileReference entry size \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/fileStreamFor..st b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/fileStreamFor..st new file mode 100644 index 00000000..ad42f2c2 --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/fileStreamFor..st @@ -0,0 +1,4 @@ +streams +fileStreamFor: fileName + ^ fileName asFileReference + writeStream \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/fullNameFor..st b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/fullNameFor..st new file mode 100644 index 00000000..8c1ec154 --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/fullNameFor..st @@ -0,0 +1,3 @@ +paths +fullNameFor: fileName + ^ fileName asFileReference fullName \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/modificationTimeFor..st b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/modificationTimeFor..st new file mode 100644 index 00000000..72ceeb25 --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/modificationTimeFor..st @@ -0,0 +1,3 @@ +queries +modificationTimeFor: path + ^ path asFileReference entry modificationTime \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/newFileNamed.do..st b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/newFileNamed.do..st new file mode 100644 index 00000000..7bc851d7 --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/newFileNamed.do..st @@ -0,0 +1,5 @@ +streams +newFileNamed: fileName do: block + ^ fileName asFileReference + writeStreamDo: block + ifPresent: [ self error: fileName asString, ' already exists' ] \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/oldFileNamed.do..st b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/oldFileNamed.do..st new file mode 100644 index 00000000..0ddf6922 --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/oldFileNamed.do..st @@ -0,0 +1,5 @@ +streams +oldFileNamed: fileName do: block + ^ fileName asFileReference + readStreamDo: block + ifAbsent: [ self error: fileName asString, ' does not exists' ] \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/oldFileStreamFor..st b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/oldFileStreamFor..st new file mode 100644 index 00000000..d2d8318d --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/class/oldFileStreamFor..st @@ -0,0 +1,4 @@ +streams +oldFileStreamFor: fileName + ^fileName asFileReference + readStreamIfAbsent: [ self error: fileName asString, ' does not exists' ] \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/methodProperties.json b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/methodProperties.json new file mode 100644 index 00000000..8bb6545c --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/methodProperties.json @@ -0,0 +1,20 @@ +{ + "class" : { + "baseNameFor:" : "SvenVanCaekenberghe 7/3/2012 15:07", + "defaultDirectory" : "SvenVanCaekenberghe 7/3/2012 15:09", + "defaultDirectoryPath" : "SvenVanCaekenberghe 7/3/2012 15:09", + "delete:" : "SvenVanCaekenberghe 7/3/2012 15:10", + "deleteIfExists:" : "SvenVanCaekenberghe 7/2/2012 16:57", + "downloadPathTo:for:" : "SvenVanCaekenberghe 7/20/2012 11:53", + "exists:" : "SvenVanCaekenberghe 7/3/2012 15:10", + "extensionFor:" : "SvenVanCaekenberghe 7/3/2012 15:11", + "fileNamed:do:" : "SvenVanCaekenberghe 7/3/2012 16:12", + "fileSizeFor:" : "SvenVanCaekenberghe 7/3/2012 15:12", + "fileStreamFor:" : "SvenVanCaekenberghe 7/3/2012 16:12", + "fullNameFor:" : "SvenVanCaekenberghe 7/3/2012 15:14", + "modificationTimeFor:" : "SvenVanCaekenberghe 7/3/2012 15:15", + "newFileNamed:do:" : "SvenVanCaekenberghe 7/3/2012 16:12", + "oldFileNamed:do:" : "SvenVanCaekenberghe 7/3/2012 16:13", + "oldFileStreamFor:" : "SvenVanCaekenberghe 7/3/2012 16:13" }, + "instance" : { + } } diff --git a/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/properties.json b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/properties.json new file mode 100644 index 00000000..05027005 --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnFileSystemUtils.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Zinc-FileSystem", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "ZnFileSystemUtils", + "pools" : [ + ], + "super" : "Object", + "type" : "normal" } diff --git a/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/README.md b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/README.md new file mode 100644 index 00000000..94495287 --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/README.md @@ -0,0 +1,14 @@ +I am ZnStaticFileServerDelegate. +I am a simple proof of concept implementation of a web server serving static files. +I handle urls with an optional prefix as requests for files in a directory. +I serve index.html or index.htm when a directory is requested and these files exist. +I do a redirect when a path that is not does not end with a / refers to directory. +I function as a delegate for ZnServer. + +ZnServer startDefaultOn: 1701. +ZnServer default delegate: ((ZnStaticFileServerDelegate new) + prefixFromString: 'apple/macosx'; + directory: '/Library/WebServer/Documents' asDirectory; + yourself). + +Part of Zinc HTTP Components. \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/class/defaultMimeTypeExpirations.st b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/class/defaultMimeTypeExpirations.st new file mode 100644 index 00000000..c5fd5f39 --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/class/defaultMimeTypeExpirations.st @@ -0,0 +1,16 @@ +accessing +defaultMimeTypeExpirations + "Return a default dictionary mapping ZnMimeTypes to their expiration time in seconds. + Missing entries will have no expiration time." + + | dict | + dict := Dictionary new. + dict at: ZnMimeType textCss put: 30 days asSeconds. + dict at: ZnMimeType textJavascript put: 30 days asSeconds. + dict at: ZnMimeType textPlain put: 30 days asSeconds. + dict at: ZnMimeType textHtml put: 30 days asSeconds. + dict at: ZnMimeType imageGif put: 30 days asSeconds. + dict at: ZnMimeType imageJpeg put: 30 days asSeconds. + dict at: ZnMimeType imagePng put: 30 days asSeconds. + dict at: ZnMimeType applicationJavascript put: 30 days asSeconds. + ^ dict \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/actualFilenameFor..st b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/actualFilenameFor..st new file mode 100644 index 00000000..c58b9e33 --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/actualFilenameFor..st @@ -0,0 +1,19 @@ +private +actualFilenameFor: uri + | subElements subDir entry | + (uri isEmpty and: [ self prefix isEmpty ]) ifTrue: [ ^ self indexFileIn: self directory ]. + (self prefix isEmpty or: [ uri isEmpty not and: [ uri pathSegments beginsWith: self prefix ] ]) ifFalse: [ ^ nil ]. + subElements := (uri pathSegments allButFirst: self prefix size) reject: [ :each | each = #/ ]. + subDir := subElements allButLast inject: self directory into: [ :parent :sub | | file | + (file := parent / sub) exists + ifTrue: [ file ] + ifFalse: [ ^ nil ] ]. + subElements isEmpty + ifTrue: [ entry := subDir entry ] + ifFalse: [ | file | + (file := subDir / subElements last) exists + ifTrue: [ entry := file entry ] + ifFalse: [ ^ nil ] ]. + ^ entry isDirectory + ifTrue: [ self indexFileIn: entry reference ] + ifFalse: [ entry reference fullName ] \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/directory..st b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/directory..st new file mode 100644 index 00000000..0900aa72 --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/directory..st @@ -0,0 +1,5 @@ +accessing +directory: fileDirectory + "Set the FileDirectory whose files I should be serving" + + directory := fileDirectory \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/directory.st b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/directory.st new file mode 100644 index 00000000..6b120357 --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/directory.st @@ -0,0 +1,5 @@ +accessing +directory + "The FileDirectory whose files I am serving" + + ^ directory \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/directoryRedirectFor..st b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/directoryRedirectFor..st new file mode 100644 index 00000000..bb13b209 --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/directoryRedirectFor..st @@ -0,0 +1,5 @@ +private +directoryRedirectFor: uri + | directoryUri | + directoryUri := uri copy addPathSegment: #/. + ^ ZnResponse redirect: directoryUri \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/expirationDateFor..st b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/expirationDateFor..st new file mode 100644 index 00000000..68605a9a --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/expirationDateFor..st @@ -0,0 +1,5 @@ +private +expirationDateFor: aMimeType + | expiration | + expiration := self mimeTypeExpirations at: aMimeType ifAbsent: [ ^ nil ]. + ^ ZnUtils httpDate: (DateAndTime now asUTC + expiration seconds) \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/handleRequest..st b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/handleRequest..st new file mode 100644 index 00000000..945c2af2 --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/handleRequest..st @@ -0,0 +1,14 @@ +public +handleRequest: request + "Server delegate entry point" + + | actualFilename | + (#(#GET #HEAD) includes: request method) + ifFalse: [ ^ ZnResponse methodNotAllowed: request ]. + actualFilename := self actualFilenameFor: request uri. + ^ actualFilename notNil + ifTrue: [ + (self redirectNeededFor: request uri actualFilename: actualFilename) + ifTrue: [ self directoryRedirectFor: request uri ] + ifFalse: [ self responseForFile: actualFilename fromRequest: request ] ] + ifFalse: [ ZnResponse notFound: request uri ] \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/indexFileIn..st b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/indexFileIn..st new file mode 100644 index 00000000..553f00f1 --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/indexFileIn..st @@ -0,0 +1,7 @@ +private +indexFileIn: fileDirectory + #( 'index.html' 'index.htm' ) do: [ :each | | file | + (file := fileDirectory / each) exists + ifTrue: [ + ^ file fullName ] ]. + ^ nil diff --git a/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/maxAgeFor..st b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/maxAgeFor..st new file mode 100644 index 00000000..33b6cbeb --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/maxAgeFor..st @@ -0,0 +1,5 @@ +private +maxAgeFor: aMimeType + | expiration | + expiration := self mimeTypeExpirations at: aMimeType ifAbsent: [ ^ nil ]. + ^ 'max-age=', expiration asString \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/mimeTypeExpirations..st b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/mimeTypeExpirations..st new file mode 100644 index 00000000..36c519c2 --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/mimeTypeExpirations..st @@ -0,0 +1,6 @@ +accessing +mimeTypeExpirations: aDictionary + "Set the mapping of ZnMimeTypes to their expiration time in seconds to aDictionary. + Missing entries will have no expiration time." + + mimeTypeExpirations := aDictionary \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/mimeTypeExpirations.st b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/mimeTypeExpirations.st new file mode 100644 index 00000000..38534b2e --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/mimeTypeExpirations.st @@ -0,0 +1,6 @@ +accessing +mimeTypeExpirations + "Return a dictionary mapping ZnMimeTypes to their expiration time in seconds. + Missing entries will have no expiration time." + + ^ mimeTypeExpirations ifNil: [ mimeTypeExpirations := Dictionary new ] \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/prefix..st b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/prefix..st new file mode 100644 index 00000000..5526e215 --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/prefix..st @@ -0,0 +1,5 @@ +accessing +prefix: orderedCollection + "Set the path prefix under which I should be serving files to orderedCollection containing path elements" + + prefix := orderedCollection \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/prefix.st b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/prefix.st new file mode 100644 index 00000000..07ed298b --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/prefix.st @@ -0,0 +1,5 @@ +accessing +prefix + "The path prefix collection under which I am serving files" + + ^ prefix ifNil: [ prefix := #() ] \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/prefixFromString..st b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/prefixFromString..st new file mode 100644 index 00000000..d85b711d --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/prefixFromString..st @@ -0,0 +1,6 @@ +accessing +prefixFromString: string + "Set the path prefix under which I should be serving files to string, + interpreting each /-separated token as a path element" + + self prefix: (string findTokens: '/') \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/redirectNeededFor.actualFilename..st b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/redirectNeededFor.actualFilename..st new file mode 100644 index 00000000..5703917f --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/redirectNeededFor.actualFilename..st @@ -0,0 +1,4 @@ +private +redirectNeededFor: uri actualFilename: actualFilename + uri isDirectory ifTrue: [ ^ false ]. + ^ (actualFilename endsWith: uri lastPathSegment) not \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/responseForFile.fromRequest..st b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/responseForFile.fromRequest..st new file mode 100644 index 00000000..c8089a0b --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/instance/responseForFile.fromRequest..st @@ -0,0 +1,27 @@ +private +responseForFile: filename fromRequest: aRequest + | file entry size time mimeType fileStream entity response modified | + file := filename asFileReference. + entry := file entry. + size := entry size. + time := entry modificationTime. + modified := true. + aRequest headers + at: 'If-Modified-Since' + ifPresent: [ modified := time > (ZnUtils parseHttpDate: (aRequest headers at: 'If-Modified-Since')) ]. + modified + ifTrue: [ + mimeType := ZnMimeType forFilenameExtension: file extension. + fileStream := file readStream. + mimeType isBinary + ifTrue: [ fileStream binary ]. + (entity := ZnStreamingEntity type: mimeType length: size) + stream: fileStream. + (response := ZnResponse ok: entity) + headers at: 'Modification-Date' put: (ZnUtils httpDate: time). + (self maxAgeFor: mimeType) + ifNotNil: [ :maxAge | response headers at: 'Cache-Control' put: maxAge ]. + (self expirationDateFor: mimeType) + ifNotNil: [ :expirationDate | response headers at: 'Expires' put: expirationDate ] ] + ifFalse: [ response := ZnResponse notModified ]. + ^ response \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/methodProperties.json b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/methodProperties.json new file mode 100644 index 00000000..a91b42b9 --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/methodProperties.json @@ -0,0 +1,19 @@ +{ + "class" : { + "defaultMimeTypeExpirations" : "SvenVanCaekenberghe 5/14/2012 10:26" }, + "instance" : { + "actualFilenameFor:" : "SvenVanCaekenberghe 7/3/2012 16:38", + "directory" : "SvenVanCaekenberghe 4/26/2011 11:06", + "directory:" : "SvenVanCaekenberghe 4/26/2011 11:07", + "directoryRedirectFor:" : "SvenVanCaekenberghe 4/26/2011 12:35", + "expirationDateFor:" : "SvenVanCaekenberghe 5/14/2012 10:30", + "handleRequest:" : "PaulDeBruicker 5/12/2012 09:56", + "indexFileIn:" : "SvenVanCaekenberghe 7/3/2012 14:43", + "maxAgeFor:" : "SvenVanCaekenberghe 5/14/2012 09:41", + "mimeTypeExpirations" : "SvenVanCaekenberghe 5/14/2012 09:39", + "mimeTypeExpirations:" : "SvenVanCaekenberghe 5/14/2012 09:39", + "prefix" : "SvenVanCaekenberghe 4/26/2011 12:46", + "prefix:" : "SvenVanCaekenberghe 4/26/2011 11:08", + "prefixFromString:" : "SvenVanCaekenberghe 4/26/2011 11:09", + "redirectNeededFor:actualFilename:" : "SvenVanCaekenberghe 4/26/2011 13:11", + "responseForFile:fromRequest:" : "SvenVanCaekenberghe 7/3/2012 14:56" } } diff --git a/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/properties.json b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/properties.json new file mode 100644 index 00000000..8e5d5e19 --- /dev/null +++ b/repository/Zinc-FileSystem.package/ZnStaticFileServerDelegate.class/properties.json @@ -0,0 +1,16 @@ +{ + "category" : "Zinc-FileSystem", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "prefix", + "directory", + "mimeTypeExpirations" ], + "name" : "ZnStaticFileServerDelegate", + "pools" : [ + ], + "super" : "Object", + "type" : "normal" } diff --git a/repository/Zinc-FileSystem.package/monticello.meta/categories.st b/repository/Zinc-FileSystem.package/monticello.meta/categories.st new file mode 100644 index 00000000..807b246a --- /dev/null +++ b/repository/Zinc-FileSystem.package/monticello.meta/categories.st @@ -0,0 +1 @@ +SystemOrganization addCategory: #'Zinc-FileSystem'! diff --git a/repository/Zinc-FileSystem.package/monticello.meta/initializers.st b/repository/Zinc-FileSystem.package/monticello.meta/initializers.st new file mode 100644 index 00000000..e69de29b diff --git a/repository/Zinc-FileSystem.package/monticello.meta/package b/repository/Zinc-FileSystem.package/monticello.meta/package new file mode 100644 index 00000000..406075c4 --- /dev/null +++ b/repository/Zinc-FileSystem.package/monticello.meta/package @@ -0,0 +1 @@ +(name 'Zinc-FileSystem') \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/monticello.meta/version b/repository/Zinc-FileSystem.package/monticello.meta/version new file mode 100644 index 00000000..b1a28b41 --- /dev/null +++ b/repository/Zinc-FileSystem.package/monticello.meta/version @@ -0,0 +1 @@ +(name 'Zinc-FileSystem-SvenVanCaekenberghe.4' message 'fixed a logic problem in ZnFileSystemUtils class>>#downloadPathTo:for:' id '89d4336a-deb2-4d29-ae1a-cad2c0ac7e3c' date '20 July 2012' time '1:08:51.891 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-FileSystem-MarcusDenker.3' message 'ScriptLoader new addHomeRepositoryToAllPackages. Compiler recompileAll.' id '1eed2077-f0ae-4a4d-8f23-f22fcdee2ec5' date '5 July 2012' time '9:05:03.53 am' author 'MarcusDenker' ancestors ((name 'Zinc-FileSystem-SeanDeNigris.2' message '* Remove empty FileSystem-Legacy category' id '15a3ad74-95f8-426f-b252-203a63ee86fe' date '5 July 2012' time '1:00:40.15 am' author 'SeanDeNigris' ancestors ((name 'Zinc-FileSystem-SvenVanCaekenberghe.1' message 'introduction of the Zinc-FileSystem package (including the new ZnFileSystemUtils class) to deal with pre/post FIleSystem introduction in Pharo 2.0 - this is the new code' id '86bb1c9c-e744-4d9f-a31d-3a31f82a3775' date '3 July 2012' time '4:50:07.683 pm' author 'SvenVanCaekenberghe' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Zinc-FileSystem.package/properties.json b/repository/Zinc-FileSystem.package/properties.json new file mode 100644 index 00000000..f037444a --- /dev/null +++ b/repository/Zinc-FileSystem.package/properties.json @@ -0,0 +1,2 @@ +{ + } diff --git a/repository/Zinc-HTTP.package/HierarchicalUrl.extension/methodProperties.json b/repository/Zinc-HTTP.package/HierarchicalUrl.extension/methodProperties.json new file mode 100644 index 00000000..ae73eb88 --- /dev/null +++ b/repository/Zinc-HTTP.package/HierarchicalUrl.extension/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "asZnUrl" : "SvenVanCaekenberghe 8/18/2011 14:18" } } diff --git a/repository/Zinc-HTTP.package/MIMEType.extension/methodProperties.json b/repository/Zinc-HTTP.package/MIMEType.extension/methodProperties.json new file mode 100644 index 00000000..cc05ce9e --- /dev/null +++ b/repository/Zinc-HTTP.package/MIMEType.extension/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "asZnMimeType" : "SvenVanCaekenberghe 1/4/2011 19:54" } } diff --git a/repository/Zinc-HTTP.package/String.extension/methodProperties.json b/repository/Zinc-HTTP.package/String.extension/methodProperties.json new file mode 100644 index 00000000..5e84871a --- /dev/null +++ b/repository/Zinc-HTTP.package/String.extension/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "asZnMimeType" : "SvenVanCaekenberghe 1/4/2011 19:47", + "asZnUrl" : "SvenVanCaekenberghe 1/4/2011 13:03" } } diff --git a/repository/Zinc-HTTP.package/ZnApplicationFormUrlEncodedEntity.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnApplicationFormUrlEncodedEntity.class/methodProperties.json new file mode 100644 index 00000000..7d1f1aa5 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnApplicationFormUrlEncodedEntity.class/methodProperties.json @@ -0,0 +1,23 @@ +{ + "class" : { + "designatedMimeType" : "SvenVanCaekenberghe 9/11/2010 20:41", + "withAll:" : "SvenVanCaekenberghe 9/13/2010 22:23" }, + "instance" : { + "add:" : "SvenVanCaekenberghe 8/16/2011 23:26", + "addAll:" : "SvenVanCaekenberghe 9/13/2010 22:23", + "at:" : "SvenVanCaekenberghe 9/11/2010 21:07", + "at:add:" : "SvenVanCaekenberghe 1/12/2011 11:23", + "at:ifAbsent:" : "SvenVanCaekenberghe 9/12/2010 10:23", + "at:put:" : "SvenVanCaekenberghe 9/12/2010 10:23", + "computeRepresentation" : "SvenVanCaekenberghe 9/12/2010 10:19", + "contentLength" : "SvenVanCaekenberghe 9/12/2010 10:22", + "contents" : "SvenVanCaekenberghe 9/17/2010 16:19", + "fields" : "SvenVanCaekenberghe 9/11/2010 21:00", + "fieldsDo:" : "SvenVanCaekenberghe 1/31/2011 12:16", + "initialize" : "SvenVanCaekenberghe 1/31/2011 12:15", + "invalidateRepresentation" : "SvenVanCaekenberghe 9/12/2010 10:17", + "isEmpty" : "SvenVanCaekenberghe 12/4/2010 12:41", + "printContentsOn:" : "SvenVanCaekenberghe 8/18/2011 14:34", + "readFrom:" : "SvenVanCaekenberghe 8/18/2011 14:44", + "writeOn:" : "SvenVanCaekenberghe 9/12/2010 10:22", + "writeRepresentationOn:" : "NorbertHartl 12/6/2011 17:40" } } diff --git a/repository/Zinc-HTTP.package/ZnApplicationFormUrlEncodedEntity.class/properties.json b/repository/Zinc-HTTP.package/ZnApplicationFormUrlEncodedEntity.class/properties.json index ee6d8846..d8d98312 100644 --- a/repository/Zinc-HTTP.package/ZnApplicationFormUrlEncodedEntity.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnApplicationFormUrlEncodedEntity.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Core", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 1/18/2011 11:04", @@ -13,5 +12,4 @@ "pools" : [ ], "super" : "ZnEntity", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnBasicAuthenticator.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnBasicAuthenticator.class/methodProperties.json new file mode 100644 index 00000000..292be5b8 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnBasicAuthenticator.class/methodProperties.json @@ -0,0 +1,16 @@ +{ + "class" : { + "defaultRealm" : "SvenVanCaekenberghe 8/18/2011 14:19", + "new" : "SvenVanCaekenberghe 9/30/2010 15:36", + "username:password:" : "SvenVanCaekenberghe 9/30/2010 15:36", + "username:password:realm:" : "MattKennedy 9/30/2010 15:55" }, + "instance" : { + "atUsername:putPassword:" : "MattKennedy 9/30/2010 17:19", + "authHeader" : "SvenVanCaekenberghe 8/18/2011 14:18", + "authenticateRequest:do:" : "MattKennedy 9/30/2010 15:56", + "initialize" : "SvenVanCaekenberghe 9/30/2010 15:37", + "isRequestAuthenticated:" : "SvenVanCaekenberghe 2/23/2012 22:13", + "realm" : "SvenVanCaekenberghe 8/18/2011 14:02", + "realm:" : "MattKennedy 9/30/2010 15:51", + "removeAll" : "SvenVanCaekenberghe 9/30/2010 15:41", + "removeUsername:" : "SvenVanCaekenberghe 9/30/2010 15:41" } } diff --git a/repository/Zinc-HTTP.package/ZnBasicAuthenticator.class/properties.json b/repository/Zinc-HTTP.package/ZnBasicAuthenticator.class/properties.json index 4ddf66c1..03cfeafb 100644 --- a/repository/Zinc-HTTP.package/ZnBasicAuthenticator.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnBasicAuthenticator.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Support", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 9/30/2010 15:37", @@ -13,5 +12,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnBasicCredential.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnBasicCredential.class/methodProperties.json new file mode 100644 index 00000000..268923db --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnBasicCredential.class/methodProperties.json @@ -0,0 +1,10 @@ +{ + "class" : { + "authName" : "SvenVanCaekenberghe 8/18/2011 14:21" }, + "instance" : { + "authTokenForUrl:method:" : "SvenVanCaekenberghe 8/18/2011 14:21", + "isComplete" : "SvenVanCaekenberghe 8/18/2011 14:21", + "password" : "MattKennedy 9/28/2010 14:27", + "password:" : "MattKennedy 9/28/2010 14:27", + "username" : "MattKennedy 9/28/2010 14:27", + "username:" : "MattKennedy 9/28/2010 14:27" } } diff --git a/repository/Zinc-HTTP.package/ZnBasicCredential.class/properties.json b/repository/Zinc-HTTP.package/ZnBasicCredential.class/properties.json index 6c2f619e..999a666b 100644 --- a/repository/Zinc-HTTP.package/ZnBasicCredential.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnBasicCredential.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Support", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 12/6/2010 12:58", @@ -13,5 +12,4 @@ "pools" : [ ], "super" : "ZnCredential", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnBivalentWriteStream.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnBivalentWriteStream.class/methodProperties.json new file mode 100644 index 00000000..640b4a09 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnBivalentWriteStream.class/methodProperties.json @@ -0,0 +1,13 @@ +{ + "class" : { + "on:" : "SvenVanCaekenberghe 8/18/2011 14:44" }, + "instance" : { + "close" : "SvenVanCaekenberghe 10/4/2010 20:07", + "flush" : "SvenVanCaekenberghe 4/4/2012 16:06", + "isBinary" : "SvenVanCaekenberghe 1/4/2011 20:54", + "next:putAll:startingAt:" : "SvenVanCaekenberghe 1/4/2011 20:46", + "nextPut:" : "SvenVanCaekenberghe 12/3/2010 20:54", + "nextPutAll:" : "SvenVanCaekenberghe 12/3/2010 20:54", + "on:" : "SvenVanCaekenberghe 10/4/2010 20:07", + "printOn:" : "SvenVanCaekenberghe 10/4/2010 20:08", + "space" : "SvenVanCaekenberghe 10/4/2010 20:12" } } diff --git a/repository/Zinc-HTTP.package/ZnBivalentWriteStream.class/properties.json b/repository/Zinc-HTTP.package/ZnBivalentWriteStream.class/properties.json index b8e452e9..87912fc1 100644 --- a/repository/Zinc-HTTP.package/ZnBivalentWriteStream.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnBivalentWriteStream.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Streaming", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 12/6/2010 12:50", @@ -13,5 +12,4 @@ "pools" : [ ], "super" : "Stream", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnBufferedWriteStream.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnBufferedWriteStream.class/methodProperties.json new file mode 100644 index 00000000..a90561fa --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnBufferedWriteStream.class/methodProperties.json @@ -0,0 +1,19 @@ +{ + "class" : { + "on:" : "SvenVanCaekenberghe 12/7/2010 21:20", + "on:do:" : "SvenVanCaekenberghe 12/9/2010 10:19" }, + "instance" : { + "buffer" : "SvenVanCaekenberghe 12/8/2010 10:15", + "bufferFreeSize" : "SvenVanCaekenberghe 12/7/2010 23:42", + "bufferSize" : "SvenVanCaekenberghe 12/8/2010 10:08", + "close" : "SvenVanCaekenberghe 12/7/2010 21:22", + "defaultBufferSize" : "SvenVanCaekenberghe 12/7/2010 21:24", + "flush" : "SvenVanCaekenberghe 12/7/2010 21:23", + "flushBuffer" : "SvenVanCaekenberghe 12/7/2010 23:48", + "flushBufferIfFull" : "SvenVanCaekenberghe 12/7/2010 23:39", + "nextPut:" : "SvenVanCaekenberghe 12/8/2010 10:16", + "nextPutAll:" : "SvenVanCaekenberghe 1/4/2011 20:44", + "on:" : "SvenVanCaekenberghe 12/7/2010 21:30", + "printOn:" : "SvenVanCaekenberghe 12/7/2010 21:19", + "sizeBuffer:" : "SvenVanCaekenberghe 12/7/2010 21:28", + "space" : "SvenVanCaekenberghe 12/7/2010 21:20" } } diff --git a/repository/Zinc-HTTP.package/ZnBufferedWriteStream.class/properties.json b/repository/Zinc-HTTP.package/ZnBufferedWriteStream.class/properties.json index ff34d1a4..076b36ff 100644 --- a/repository/Zinc-HTTP.package/ZnBufferedWriteStream.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnBufferedWriteStream.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Streaming", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 12/8/2010 10:10", @@ -14,5 +13,4 @@ "pools" : [ ], "super" : "Stream", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnByteArrayEntity.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnByteArrayEntity.class/methodProperties.json new file mode 100644 index 00000000..51a648ca --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnByteArrayEntity.class/methodProperties.json @@ -0,0 +1,13 @@ +{ + "class" : { + "bytes:" : "SvenVanCaekenberghe 9/12/2010 11:13", + "designatedMimeType" : "SvenVanCaekenberghe 9/11/2010 17:22" }, + "instance" : { + "bytes" : "SvenVanCaekenberghe 9/7/2010 15:12", + "bytes:" : "SvenVanCaekenberghe 9/7/2010 15:12", + "contents" : "SvenVanCaekenberghe 9/13/2010 22:05", + "isEmpty" : "SvenVanCaekenberghe 5/1/2011 17:53", + "printContentsOn:" : "SvenVanCaekenberghe 12/14/2010 11:20", + "readFrom:" : "SvenVanCaekenberghe 1/31/2012 13:32", + "readStream" : "SvenVanCaekenberghe 9/7/2010 19:27", + "writeOn:" : "SvenVanCaekenberghe 9/7/2010 15:12" } } diff --git a/repository/Zinc-HTTP.package/ZnByteArrayEntity.class/properties.json b/repository/Zinc-HTTP.package/ZnByteArrayEntity.class/properties.json index 67144955..911173cd 100644 --- a/repository/Zinc-HTTP.package/ZnByteArrayEntity.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnByteArrayEntity.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Core", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 1/18/2011 11:04", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "ZnEntity", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnByteEncoder.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnByteEncoder.class/methodProperties.json new file mode 100644 index 00000000..53528716 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnByteEncoder.class/methodProperties.json @@ -0,0 +1,13 @@ +{ + "class" : { + "handlesEncoding:" : "SvenVanCaekenberghe 1/25/2011 13:02", + "initialize" : "SvenVanCaekenberghe 1/25/2011 12:26", + "initializeByteTextConverters" : "SvenVanCaekenberghe 5/3/2012 11:34", + "initializeEncoder:using:" : "SvenVanCaekenberghe 1/25/2011 12:47", + "newForEncoding:" : "SvenVanCaekenberghe 1/25/2011 12:44" }, + "instance" : { + "byteToUnicode:" : "SvenVanCaekenberghe 1/25/2011 12:31", + "encodedByteCountFor:" : "SvenVanCaekenberghe 1/25/2011 12:19", + "nextFromStream:" : "SvenVanCaekenberghe 1/25/2011 13:22", + "nextPut:toStream:" : "SvenVanCaekenberghe 1/25/2011 13:13", + "unicodeToByte:" : "SvenVanCaekenberghe 1/25/2011 12:31" } } diff --git a/repository/Zinc-HTTP.package/ZnByteEncoder.class/properties.json b/repository/Zinc-HTTP.package/ZnByteEncoder.class/properties.json index 64a608f8..45bdfcc3 100644 --- a/repository/Zinc-HTTP.package/ZnByteEncoder.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnByteEncoder.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Streaming", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ "ByteTextConverters" ], "commentStamp" : "SvenVanCaekenberghe 1/25/2011 11:02", @@ -13,5 +12,4 @@ "pools" : [ ], "super" : "ZnCharacterEncoder", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnCharacterEncoder.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnCharacterEncoder.class/methodProperties.json new file mode 100644 index 00000000..8c9e169e --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnCharacterEncoder.class/methodProperties.json @@ -0,0 +1,13 @@ +{ + "class" : { + "handlesEncoding:" : "SvenVanCaekenberghe 1/25/2011 11:07", + "newForEncoding:" : "SvenVanCaekenberghe 1/25/2011 13:27" }, + "instance" : { + "=" : "SvenVanCaekenberghe 12/14/2010 11:56", + "decodeBytes:" : "SvenVanCaekenberghe 5/2/2012 16:12", + "encodeString:" : "SvenVanCaekenberghe 5/2/2012 16:10", + "encodedByteCountFor:" : "SvenVanCaekenberghe 11/29/2010 21:17", + "encodedByteCountForString:" : "SvenVanCaekenberghe 5/2/2012 16:36", + "hash" : "SvenVanCaekenberghe 4/20/2011 12:19", + "nextFromStream:" : "SvenVanCaekenberghe 11/29/2010 21:16", + "nextPut:toStream:" : "SvenVanCaekenberghe 11/29/2010 21:16" } } diff --git a/repository/Zinc-HTTP.package/ZnCharacterEncoder.class/properties.json b/repository/Zinc-HTTP.package/ZnCharacterEncoder.class/properties.json index e62437a7..384ff166 100644 --- a/repository/Zinc-HTTP.package/ZnCharacterEncoder.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnCharacterEncoder.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Streaming", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 12/6/2010 12:52", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnCharacterReadStream.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnCharacterReadStream.class/methodProperties.json new file mode 100644 index 00000000..c170e7a6 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnCharacterReadStream.class/methodProperties.json @@ -0,0 +1,25 @@ +{ + "class" : { + "defaultEncoder" : "SvenVanCaekenberghe 5/3/2012 14:43", + "on:" : "SvenVanCaekenberghe 5/3/2012 14:40", + "on:encoding:" : "SvenVanCaekenberghe 5/3/2012 15:13" }, + "instance" : { + "atEnd" : "SvenVanCaekenberghe 5/3/2012 21:29", + "close" : "SvenVanCaekenberghe 5/3/2012 14:39", + "collectionSpecies" : "SvenVanCaekenberghe 5/3/2012 15:09", + "contents" : "SvenVanCaekenberghe 5/3/2012 15:12", + "encoder" : "SvenVanCaekenberghe 5/3/2012 14:42", + "encoder:" : "SvenVanCaekenberghe 5/3/2012 14:41", + "encoding:" : "SvenVanCaekenberghe 5/3/2012 14:40", + "isBinary" : "SvenVanCaekenberghe 5/3/2012 15:07", + "next" : "SvenVanCaekenberghe 5/3/2012 15:46", + "next:" : "SvenVanCaekenberghe 5/3/2012 15:18", + "next:into:" : "SvenVanCaekenberghe 5/3/2012 15:18", + "next:into:startingAt:" : "SvenVanCaekenberghe 5/3/2012 15:19", + "on:" : "SvenVanCaekenberghe 5/3/2012 14:40", + "peek" : "SvenVanCaekenberghe 5/3/2012 15:35", + "readInto:startingAt:count:" : "SvenVanCaekenberghe 5/3/2012 15:57", + "skip:" : "SvenVanCaekenberghe 5/3/2012 15:11", + "upTo:" : "SvenVanCaekenberghe 5/3/2012 15:17", + "upToEnd" : "SvenVanCaekenberghe 5/3/2012 15:11", + "wrappedStream" : "SvenVanCaekenberghe 5/3/2012 14:41" } } diff --git a/repository/Zinc-HTTP.package/ZnCharacterReadStream.class/properties.json b/repository/Zinc-HTTP.package/ZnCharacterReadStream.class/properties.json index d11028f9..62c67eb6 100644 --- a/repository/Zinc-HTTP.package/ZnCharacterReadStream.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnCharacterReadStream.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Streaming", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 5/3/2012 21:31", @@ -14,5 +13,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnCharacterWriteStream.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnCharacterWriteStream.class/methodProperties.json new file mode 100644 index 00000000..82a88dd2 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnCharacterWriteStream.class/methodProperties.json @@ -0,0 +1,20 @@ +{ + "class" : { + "defaultEncoder" : "SvenVanCaekenberghe 5/3/2012 15:50", + "on:" : "SvenVanCaekenberghe 5/3/2012 15:51", + "on:encoding:" : "SvenVanCaekenberghe 5/3/2012 15:51" }, + "instance" : { + "<<" : "SvenVanCaekenberghe 5/3/2012 15:59", + "close" : "SvenVanCaekenberghe 5/3/2012 15:51", + "encoder" : "SvenVanCaekenberghe 5/3/2012 18:47", + "encoder:" : "SvenVanCaekenberghe 5/3/2012 15:51", + "encoding:" : "SvenVanCaekenberghe 5/3/2012 15:51", + "flush" : "SvenVanCaekenberghe 5/3/2012 15:52", + "isBinary" : "SvenVanCaekenberghe 5/3/2012 15:52", + "next:putAll:" : "SvenVanCaekenberghe 5/3/2012 15:54", + "next:putAll:startingAt:" : "SvenVanCaekenberghe 5/3/2012 15:57", + "nextPut:" : "SvenVanCaekenberghe 5/3/2012 15:56", + "nextPutAll:" : "SvenVanCaekenberghe 5/3/2012 15:56", + "on:" : "SvenVanCaekenberghe 5/3/2012 15:51", + "space" : "SvenVanCaekenberghe 5/3/2012 15:52", + "wrappedStream" : "SvenVanCaekenberghe 5/3/2012 18:47" } } diff --git a/repository/Zinc-HTTP.package/ZnCharacterWriteStream.class/properties.json b/repository/Zinc-HTTP.package/ZnCharacterWriteStream.class/properties.json index ae21e25e..8e90aed8 100644 --- a/repository/Zinc-HTTP.package/ZnCharacterWriteStream.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnCharacterWriteStream.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Streaming", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 5/3/2012 15:50", @@ -13,5 +12,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnChunkedReadStream.class/instance/match..st b/repository/Zinc-HTTP.package/ZnChunkedReadStream.class/instance/match..st index 1956aa79..67d695f4 100644 --- a/repository/Zinc-HTTP.package/ZnChunkedReadStream.class/instance/match..st +++ b/repository/Zinc-HTTP.package/ZnChunkedReadStream.class/instance/match..st @@ -1,4 +1,4 @@ -as yet unclassified +accessing match: subCollection "Try to read and match the elements of subCollection. If successful return true and leave the me positioned after the match. diff --git a/repository/Zinc-HTTP.package/ZnChunkedReadStream.class/instance/readInto.startingAt.count..st b/repository/Zinc-HTTP.package/ZnChunkedReadStream.class/instance/readInto.startingAt.count..st index 7aecaa35..516970ab 100644 --- a/repository/Zinc-HTTP.package/ZnChunkedReadStream.class/instance/readInto.startingAt.count..st +++ b/repository/Zinc-HTTP.package/ZnChunkedReadStream.class/instance/readInto.startingAt.count..st @@ -3,11 +3,16 @@ readInto: collection startingAt: offset count: requestedCount "Read requestedCount elements into collection starting at offset. Return the actual number of elements read." - | read | + | read toRead | read := 0. [ read < requestedCount and: [ self atEnd not] ] whileTrue: [ self ensureChunkOrAtEnd. - collection replaceFrom: read + 1 to: read + limit with: chunk startingAt: 1. - read := read + limit. - position := position + limit ]. + toRead := (limit - position) min: (requestedCount - read). + collection + replaceFrom: offset + read + to: offset + read + toRead - 1 + with: chunk + startingAt: position + 1. + read := read + toRead. + position := position + toRead ]. ^ read \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnChunkedReadStream.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnChunkedReadStream.class/methodProperties.json new file mode 100644 index 00000000..9d904036 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnChunkedReadStream.class/methodProperties.json @@ -0,0 +1,32 @@ +{ + "class" : { + "new" : "SvenVanCaekenberghe 9/26/2010 14:10", + "on:" : "SvenVanCaekenberghe 9/26/2010 19:43" }, + "instance" : { + "atEnd" : "SvenVanCaekenberghe 9/26/2010 19:57", + "binary" : "SvenVanCaekenberghe 9/27/2010 08:11", + "collectionSpecies" : "SvenVanCaekenberghe 9/26/2010 19:45", + "contents" : "SvenVanCaekenberghe 5/2/2012 16:02", + "ensureChunkBufferOfSize:" : "SvenVanCaekenberghe 5/19/2011 12:39", + "ensureChunkOrAtEnd" : "SvenVanCaekenberghe 5/19/2011 12:45", + "extraHeaders" : "SvenVanCaekenberghe 9/26/2010 14:21", + "getExtraHeaders" : "SvenVanCaekenberghe 9/26/2010 17:08", + "getNextChunk" : "SvenVanCaekenberghe 5/19/2011 12:45", + "getNextChunkSize" : "SvenVanCaekenberghe 9/27/2010 19:26", + "initialize" : "SvenVanCaekenberghe 9/26/2010 14:11", + "isBinary" : "SvenVanCaekenberghe 9/26/2010 19:45", + "match:" : "SvenVanCaekenberghe 5/2/2012 16:06", + "next" : "SvenVanCaekenberghe 9/26/2010 19:57", + "next:" : "SvenVanCaekenberghe 1/31/2012 21:11", + "next:into:" : "SvenVanCaekenberghe 1/31/2012 21:11", + "next:into:startingAt:" : "SvenVanCaekenberghe 1/31/2012 21:11", + "on:" : "SvenVanCaekenberghe 9/26/2010 14:13", + "peek" : "SvenVanCaekenberghe 5/19/2011 12:36", + "position" : "SvenVanCaekenberghe 9/27/2010 15:30", + "printOn:" : "SvenVanCaekenberghe 9/26/2010 14:12", + "readInto:startingAt:count:" : "SvenVanCaekenberghe 8/2/2012 11:05", + "reset" : "SvenVanCaekenberghe 9/26/2010 14:12", + "skip:" : "SvenVanCaekenberghe 9/26/2010 17:10", + "totalSize" : "SvenVanCaekenberghe 9/26/2010 14:20", + "upTo:" : "SvenVanCaekenberghe 1/31/2012 13:15", + "upToEnd" : "SvenVanCaekenberghe 1/31/2012 12:33" } } diff --git a/repository/Zinc-HTTP.package/ZnChunkedReadStream.class/properties.json b/repository/Zinc-HTTP.package/ZnChunkedReadStream.class/properties.json index a5ca458d..fc23d04a 100644 --- a/repository/Zinc-HTTP.package/ZnChunkedReadStream.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnChunkedReadStream.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Streaming", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 1/18/2011 11:01", @@ -18,5 +17,4 @@ "pools" : [ ], "super" : "Stream", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnClient.class/instance/connection.st b/repository/Zinc-HTTP.package/ZnClient.class/instance/connection.st new file mode 100644 index 00000000..44b3d23b --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnClient.class/instance/connection.st @@ -0,0 +1,5 @@ +accessing +connection + "Return the socket stream connection that I am currently using" + + ^ connection \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnClient.class/instance/connectionReuseTimeout..st b/repository/Zinc-HTTP.package/ZnClient.class/instance/connectionReuseTimeout..st index 7a7a3f2c..32bd78a3 100644 --- a/repository/Zinc-HTTP.package/ZnClient.class/instance/connectionReuseTimeout..st +++ b/repository/Zinc-HTTP.package/ZnClient.class/instance/connectionReuseTimeout..st @@ -3,4 +3,4 @@ connectionReuseTimeout: seconds "Set the timeout used to determine if I should try to reuse an open connection to seconds." - ^ self optionAt: #connectionReuseTimeout put: seconds \ No newline at end of file + self optionAt: #connectionReuseTimeout put: seconds \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnClient.class/instance/contentReader..st b/repository/Zinc-HTTP.package/ZnClient.class/instance/contentReader..st index 5bbe9760..a2170dcd 100644 --- a/repository/Zinc-HTTP.package/ZnClient.class/instance/contentReader..st +++ b/repository/Zinc-HTTP.package/ZnClient.class/instance/contentReader..st @@ -5,4 +5,4 @@ contentReader: object as used by #contents to object. Can be used to parse incoming data." - ^ self optionAt: #contentReader put: object \ No newline at end of file + self optionAt: #contentReader put: object \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnClient.class/instance/contentWriter..st b/repository/Zinc-HTTP.package/ZnClient.class/instance/contentWriter..st index ab1cab4d..86444109 100644 --- a/repository/Zinc-HTTP.package/ZnClient.class/instance/contentWriter..st +++ b/repository/Zinc-HTTP.package/ZnClient.class/instance/contentWriter..st @@ -5,4 +5,4 @@ contentWriter: object as used by #contents:. Defaults to nil. Can be used to format data to be uploaded." - ^ self optionAt: #contentWriter put: object \ No newline at end of file + self optionAt: #contentWriter put: object \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnClient.class/instance/downloadEntityTo..st b/repository/Zinc-HTTP.package/ZnClient.class/instance/downloadEntityTo..st index af71d40d..9162df5c 100644 --- a/repository/Zinc-HTTP.package/ZnClient.class/instance/downloadEntityTo..st +++ b/repository/Zinc-HTTP.package/ZnClient.class/instance/downloadEntityTo..st @@ -6,12 +6,12 @@ downloadEntityTo: path | target | self entity ifNil: [ ^ self ]. - target := FileDirectory on: path. - target := target exists - ifTrue: [ (target / self request uri lastPathSegment) pathName ] - ifFalse: [ path ]. - FileStream - fileNamed: target - do: [ :fileStream | + target := ZnFileSystemUtils + downloadPathTo: path + for: self request uri lastPathSegment. + ZnFileSystemUtils + newFileNamed: target + do: [ :fileStream | fileStream binary. - self entity writeOn: fileStream ] \ No newline at end of file + self withProgressDo: [ + self entity writeOn: fileStream ] ] \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnClient.class/instance/execute.st b/repository/Zinc-HTTP.package/ZnClient.class/instance/execute.st index 666c4adf..05a8f9c5 100644 --- a/repository/Zinc-HTTP.package/ZnClient.class/instance/execute.st +++ b/repository/Zinc-HTTP.package/ZnClient.class/instance/execute.st @@ -6,6 +6,7 @@ execute | initialMilliseconds result | initialMilliseconds := Time millisecondClockValue. self prepareRequest. - result := self executeWithTimeout. + self withProgressDo: [ + result := self executeWithTimeout ]. self logRequestResponseStarted: initialMilliseconds. ^ result \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnClient.class/instance/executeRequestResponse.st b/repository/Zinc-HTTP.package/ZnClient.class/instance/executeRequestResponse.st index e744497e..d85e73ca 100644 --- a/repository/Zinc-HTTP.package/ZnClient.class/instance/executeRequestResponse.st +++ b/repository/Zinc-HTTP.package/ZnClient.class/instance/executeRequestResponse.st @@ -1,10 +1,10 @@ private protocol executeRequestResponse self logRequest. - self signalProgress ifTrue: [ HTTPProgress signal: 'Writing request' ]. + ZnSignalProgress enabled ifTrue: [ HTTPProgress signal: 'Writing request' ]. request writeOn: connection. connection flush. - self signalProgress ifTrue: [ HTTPProgress signal: 'Reading response' ]. + ZnSignalProgress enabled ifTrue: [ HTTPProgress signal: 'Reading response' ]. response := request method = #HEAD ifTrue: [ ZnResponse readHeaderFrom: connection ] ifFalse: [ diff --git a/repository/Zinc-HTTP.package/ZnClient.class/instance/followRedirects..st b/repository/Zinc-HTTP.package/ZnClient.class/instance/followRedirects..st index 1424eae8..5bef093e 100644 --- a/repository/Zinc-HTTP.package/ZnClient.class/instance/followRedirects..st +++ b/repository/Zinc-HTTP.package/ZnClient.class/instance/followRedirects..st @@ -4,4 +4,4 @@ followRedirects: boolean This is still subject to #maxNumberOfRedirects. Defaults to true. When set to false, redirects will be returned as normal responses." - ^ self optionAt: #followRedirects put: boolean \ No newline at end of file + self optionAt: #followRedirects put: boolean \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnClient.class/instance/optionAt.put..st b/repository/Zinc-HTTP.package/ZnClient.class/instance/optionAt.put..st index 3176512b..b1166be3 100644 --- a/repository/Zinc-HTTP.package/ZnClient.class/instance/optionAt.put..st +++ b/repository/Zinc-HTTP.package/ZnClient.class/instance/optionAt.put..st @@ -4,4 +4,4 @@ optionAt: key put: value This is a generic interface, see my options protocol for specific usages." options ifNil: [ options := Dictionary new ]. - ^ options at: key put: value \ No newline at end of file + options at: key put: value \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnClient.class/instance/retryDelay..st b/repository/Zinc-HTTP.package/ZnClient.class/instance/retryDelay..st index bfc4a7cb..89e8d943 100644 --- a/repository/Zinc-HTTP.package/ZnClient.class/instance/retryDelay..st +++ b/repository/Zinc-HTTP.package/ZnClient.class/instance/retryDelay..st @@ -3,4 +3,4 @@ retryDelay: seconds "Set the delay before I will delay retrying a failed request to seconds, provided I do retry requests." - ^ self optionAt: #retryDelay put: seconds \ No newline at end of file + self optionAt: #retryDelay put: seconds \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnClient.class/instance/streaming..st b/repository/Zinc-HTTP.package/ZnClient.class/instance/streaming..st index 8c87742e..dfe2d76a 100644 --- a/repository/Zinc-HTTP.package/ZnClient.class/instance/streaming..st +++ b/repository/Zinc-HTTP.package/ZnClient.class/instance/streaming..st @@ -3,4 +3,4 @@ streaming: boolean "Set whether I will return streaming response objects (see ZnStreamingEntity) to boolean. If true, my users are responsible for actually reading the incoming response entity data stream." - ^ self optionAt: #streaming put: boolean \ No newline at end of file + self optionAt: #streaming put: boolean \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnClient.class/instance/timeout..st b/repository/Zinc-HTTP.package/ZnClient.class/instance/timeout..st index 6480a600..0d73f23e 100644 --- a/repository/Zinc-HTTP.package/ZnClient.class/instance/timeout..st +++ b/repository/Zinc-HTTP.package/ZnClient.class/instance/timeout..st @@ -3,4 +3,4 @@ timeout: seconds "Set the timeout for network socket stream operations like connecting, reading and writing to seconds." - ^ self optionAt: #timeout put: seconds \ No newline at end of file + self optionAt: #timeout put: seconds \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnClient.class/instance/uploadEntityFrom..st b/repository/Zinc-HTTP.package/ZnClient.class/instance/uploadEntityFrom..st index d82cdf37..b6110859 100644 --- a/repository/Zinc-HTTP.package/ZnClient.class/instance/uploadEntityFrom..st +++ b/repository/Zinc-HTTP.package/ZnClient.class/instance/uploadEntityFrom..st @@ -7,8 +7,8 @@ uploadEntityFrom: path You can then use #put or #post to actually do an upload." | stream type length | - stream := FileStream fileNamed: path. + stream := ZnFileSystemUtils fileStreamFor: path. stream binary. - type := ZnMimeType forFilenameExtension: (FileDirectory extensionFor: path). - length := (FileDirectory root directoryEntryFor: path) fileSize. + type := ZnMimeType forFilenameExtension: (ZnFileSystemUtils extensionFor: path). + length := ZnFileSystemUtils fileSizeFor: path. self entity: (ZnStreamingEntity readFrom: stream usingType: type andLength: length) \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnClient.class/instance/withProgressDo..st b/repository/Zinc-HTTP.package/ZnClient.class/instance/withProgressDo..st new file mode 100644 index 00000000..5e2bc9c0 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnClient.class/instance/withProgressDo..st @@ -0,0 +1,9 @@ +private +withProgressDo: block + ^ ZnSignalProgress value + ifNil: [ + ZnSignalProgress + value: self signalProgress + during: [ ^ block value ] ] + ifNotNil: [ + block value ] \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnClient.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnClient.class/methodProperties.json new file mode 100644 index 00000000..6874078f --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnClient.class/methodProperties.json @@ -0,0 +1,122 @@ +{ + "class" : { + }, + "instance" : { + "accept:" : "SvenVanCaekenberghe 11/8/2011 16:55", + "addPart:" : "SvenVanCaekenberghe 11/8/2011 17:18", + "addPath:" : "SvenVanCaekenberghe 11/8/2011 17:03", + "addPathSegment:" : "SvenVanCaekenberghe 11/8/2011 17:03", + "applicationFormUrlEncodedEntity" : "SvenVanCaekenberghe 11/8/2011 17:30", + "beOneShot" : "SvenVanCaekenberghe 11/8/2011 19:34", + "canReuseConnection" : "SvenVanCaekenberghe 9/17/2011 11:49", + "cleanupConnection" : "SvenVanCaekenberghe 8/18/2011 14:10", + "close" : "SvenVanCaekenberghe 2/29/2012 16:40", + "connection" : "SvenVanCaekenberghe 7/19/2012 15:43", + "connectionReuseTimeout" : "SvenVanCaekenberghe 11/8/2011 19:36", + "connectionReuseTimeout:" : "SvenVanCaekenberghe 5/30/2012 21:30", + "contentReader" : "SvenVanCaekenberghe 11/8/2011 19:41", + "contentReader:" : "SvenVanCaekenberghe 5/30/2012 21:30", + "contentType:" : "SvenVanCaekenberghe 5/9/2012 09:21", + "contentWriter" : "SvenVanCaekenberghe 11/8/2011 19:42", + "contentWriter:" : "SvenVanCaekenberghe 5/30/2012 21:31", + "contents" : "SvenVanCaekenberghe 11/8/2011 20:56", + "contents:" : "SvenVanCaekenberghe 11/8/2011 17:13", + "debugPolicy" : "SvenVanCaekenberghe 8/18/2011 15:07", + "delete" : "SvenVanCaekenberghe 11/8/2011 19:13", + "delete:" : "SvenVanCaekenberghe 11/8/2011 19:04", + "dontFollowRedirects" : "SvenVanCaekenberghe 11/23/2011 16:59", + "downloadEntityTo:" : "SvenVanCaekenberghe 7/12/2012 21:46", + "downloadTo:" : "SvenVanCaekenberghe 5/10/2012 22:21", + "enforceAcceptContentType" : "SvenVanCaekenberghe 11/8/2011 20:27", + "enforceAcceptContentType:" : "SvenVanCaekenberghe 11/8/2011 20:27", + "enforceHttpSuccess" : "SvenVanCaekenberghe 11/8/2011 20:27", + "enforceHttpSuccess:" : "SvenVanCaekenberghe 11/8/2011 20:28", + "entity" : "SvenVanCaekenberghe 11/8/2011 18:58", + "entity:" : "SvenVanCaekenberghe 11/8/2011 17:14", + "exceptionSetForIfFail" : "SvenVanCaekenberghe 12/20/2011 14:11", + "execute" : "SvenVanCaekenberghe 7/12/2012 21:08", + "executeRequestResponse" : "SvenVanCaekenberghe 7/12/2012 21:53", + "executeWithRedirectsRemaining:" : "SvenVanCaekenberghe 11/23/2011 17:01", + "executeWithRetriesRemaining:" : "SvenVanCaekenberghe 9/19/2011 10:52", + "executeWithTimeout" : "SvenVanCaekenberghe 12/20/2011 14:07", + "followRedirects" : "SvenVanCaekenberghe 11/23/2011 16:58", + "followRedirects:" : "SvenVanCaekenberghe 5/30/2012 21:31", + "formAdd:" : "SvenVanCaekenberghe 11/8/2011 17:19", + "formAddAll:" : "SvenVanCaekenberghe 11/8/2011 17:20", + "formAt:add:" : "SvenVanCaekenberghe 11/8/2011 17:26", + "formAt:put:" : "SvenVanCaekenberghe 11/8/2011 17:21", + "get" : "SvenVanCaekenberghe 11/8/2011 19:13", + "get:" : "SvenVanCaekenberghe 11/8/2011 19:04", + "getConnectionAndExecute" : "SvenVanCaekenberghe 10/4/2011 13:33", + "handleResponse" : "SvenVanCaekenberghe 12/20/2011 12:52", + "handleRetry" : "SvenVanCaekenberghe 8/18/2011 11:38", + "head" : "SvenVanCaekenberghe 11/8/2011 19:13", + "head:" : "SvenVanCaekenberghe 11/8/2011 19:05", + "headerAddAll:" : "SvenVanCaekenberghe 11/8/2011 17:23", + "headerAt:add:" : "SvenVanCaekenberghe 11/8/2011 17:25", + "headerAt:put:" : "SvenVanCaekenberghe 11/8/2011 17:24", + "host:" : "SvenVanCaekenberghe 11/8/2011 17:26", + "http" : "SvenVanCaekenberghe 11/8/2011 17:27", + "https" : "SvenVanCaekenberghe 11/8/2011 17:27", + "ifFail:" : "SvenVanCaekenberghe 11/8/2011 20:29", + "ifFailBlock" : "SvenVanCaekenberghe 11/8/2011 20:30", + "initialize" : "SvenVanCaekenberghe 7/27/2011 14:58", + "interactivePolicy" : "SvenVanCaekenberghe 8/19/2011 16:57", + "isConnected" : "SvenVanCaekenberghe 11/8/2011 19:14", + "isContentTypeAcceptable" : "SvenVanCaekenberghe 11/8/2011 19:17", + "isOneShot" : "SvenVanCaekenberghe 11/8/2011 20:30", + "isRedirect" : "SvenVanCaekenberghe 11/23/2011 17:17", + "isSuccess" : "SvenVanCaekenberghe 11/8/2011 19:17", + "log" : "SvenVanCaekenberghe 10/4/2011 12:35", + "logRequest" : "SvenVanCaekenberghe 2/29/2012 19:10", + "logRequestResponseStarted:" : "SvenVanCaekenberghe 11/8/2011 19:08", + "logResponse" : "SvenVanCaekenberghe 2/29/2012 19:11", + "logToTranscript" : "SvenVanCaekenberghe 10/4/2011 12:35", + "maxNumberOfRedirects" : "SvenVanCaekenberghe 11/23/2011 17:23", + "maxNumberOfRedirects:" : "SvenVanCaekenberghe 11/23/2011 17:23", + "method:" : "SvenVanCaekenberghe 11/8/2011 17:28", + "multiPartFormDataEntity" : "SvenVanCaekenberghe 11/8/2011 17:30", + "noteIgnoringExceptionOnReusedConnection" : "SvenVanCaekenberghe 10/4/2011 12:43", + "noteRedirect" : "SvenVanCaekenberghe 10/4/2011 12:43", + "noteRetrying" : "SvenVanCaekenberghe 10/4/2011 12:43", + "numberOfRetries" : "SvenVanCaekenberghe 11/8/2011 20:31", + "numberOfRetries:" : "SvenVanCaekenberghe 11/8/2011 20:31", + "optionAt:ifAbsent:" : "SvenVanCaekenberghe 11/8/2011 16:53", + "optionAt:put:" : "SvenVanCaekenberghe 5/30/2012 21:30", + "path:" : "SvenVanCaekenberghe 11/8/2011 17:43", + "port:" : "SvenVanCaekenberghe 11/8/2011 17:32", + "post" : "SvenVanCaekenberghe 11/8/2011 19:13", + "post:contents:" : "SvenVanCaekenberghe 11/8/2011 19:12", + "prepareRedirect" : "SvenVanCaekenberghe 2/29/2012 16:43", + "prepareRequest" : "SvenVanCaekenberghe 9/23/2011 14:30", + "put" : "SvenVanCaekenberghe 11/8/2011 19:14", + "put:contents:" : "SvenVanCaekenberghe 11/8/2011 19:12", + "queryAddAll:" : "SvenVanCaekenberghe 11/8/2011 17:36", + "queryAt:put:" : "SvenVanCaekenberghe 11/8/2011 17:36", + "receiveCookies" : "SvenVanCaekenberghe 2/29/2012 19:07", + "redirectUrl" : "SvenVanCaekenberghe 9/19/2011 09:46", + "request" : "SvenVanCaekenberghe 11/8/2011 17:33", + "request:" : "SvenVanCaekenberghe 11/8/2011 17:34", + "resetCookies" : "SvenVanCaekenberghe 2/29/2012 17:40", + "resetRequestIfNeeded" : "SvenVanCaekenberghe 9/23/2011 14:53", + "response" : "SvenVanCaekenberghe 11/8/2011 18:58", + "retryDelay" : "SvenVanCaekenberghe 11/8/2011 20:33", + "retryDelay:" : "SvenVanCaekenberghe 5/30/2012 21:31", + "sendCookies" : "SvenVanCaekenberghe 2/29/2012 19:51", + "session" : "SvenVanCaekenberghe 11/8/2011 16:54", + "setBasicAuthenticationUsername:password:" : "SvenVanCaekenberghe 11/8/2011 17:35", + "setIfModifiedSince:" : "SvenVanCaekenberghe 5/10/2012 22:39", + "signalProgress" : "SvenVanCaekenberghe 11/8/2011 20:44", + "signalProgress:" : "SvenVanCaekenberghe 11/8/2011 20:45", + "stopLogging" : "SvenVanCaekenberghe 10/4/2011 12:35", + "streaming" : "SvenVanCaekenberghe 11/8/2011 20:58", + "streaming:" : "SvenVanCaekenberghe 5/30/2012 21:31", + "systemPolicy" : "SvenVanCaekenberghe 8/18/2011 20:27", + "timeout" : "SvenVanCaekenberghe 12/14/2011 14:03", + "timeout:" : "SvenVanCaekenberghe 5/30/2012 21:31", + "uploadEntityFrom:" : "SvenVanCaekenberghe 7/2/2012 16:19", + "url:" : "SvenVanCaekenberghe 11/8/2011 17:42", + "username:password:" : "SvenVanCaekenberghe 11/8/2011 17:35", + "validateConnectionForHost:port:" : "SvenVanCaekenberghe 8/12/2011 13:23", + "withProgressDo:" : "SvenVanCaekenberghe 7/12/2012 21:06", + "withTimeoutDo:" : "SvenVanCaekenberghe 8/19/2011 16:55" } } diff --git a/repository/Zinc-HTTP.package/ZnClient.class/properties.json b/repository/Zinc-HTTP.package/ZnClient.class/properties.json index a66e7cf2..c5128642 100644 --- a/repository/Zinc-HTTP.package/ZnClient.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnClient.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Client-Server", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 11/8/2011 22:31", @@ -19,5 +18,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnClientOld.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnClientOld.class/methodProperties.json new file mode 100644 index 00000000..9105cb43 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnClientOld.class/methodProperties.json @@ -0,0 +1,17 @@ +{ + "class" : { + "delete:" : "SvenVanCaekenberghe 3/4/2012 10:20", + "delete:username:password:" : "SvenVanCaekenberghe 3/4/2012 10:21", + "get:" : "SvenVanCaekenberghe 3/4/2012 10:21", + "get:username:password:" : "SvenVanCaekenberghe 3/4/2012 10:21", + "getGif:" : "SvenVanCaekenberghe 3/4/2012 10:21", + "getJpeg:" : "SvenVanCaekenberghe 3/4/2012 10:21", + "getPng:" : "SvenVanCaekenberghe 3/4/2012 10:21", + "head:" : "SvenVanCaekenberghe 3/4/2012 10:21", + "head:username:password:" : "SvenVanCaekenberghe 3/4/2012 10:21", + "post:data:" : "SvenVanCaekenberghe 3/4/2012 10:21", + "post:data:username:password:" : "SvenVanCaekenberghe 3/4/2012 10:21", + "put:data:" : "SvenVanCaekenberghe 3/4/2012 10:21", + "put:data:username:password:" : "SvenVanCaekenberghe 3/4/2012 10:21" }, + "instance" : { + } } diff --git a/repository/Zinc-HTTP.package/ZnClientOld.class/properties.json b/repository/Zinc-HTTP.package/ZnClientOld.class/properties.json index caf98e82..8e976db8 100644 --- a/repository/Zinc-HTTP.package/ZnClientOld.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnClientOld.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Deprecated", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 11/8/2011 22:12", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnConnectionTimeout.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnConnectionTimeout.class/methodProperties.json new file mode 100644 index 00000000..0e4a6622 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnConnectionTimeout.class/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + } } diff --git a/repository/Zinc-HTTP.package/ZnConnectionTimeout.class/properties.json b/repository/Zinc-HTTP.package/ZnConnectionTimeout.class/properties.json index 602129a6..4ec7dfef 100644 --- a/repository/Zinc-HTTP.package/ZnConnectionTimeout.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnConnectionTimeout.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Support", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 5/9/2012 20:54", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "DynamicVariable", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnConstants.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnConstants.class/methodProperties.json new file mode 100644 index 00000000..a758d478 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnConstants.class/methodProperties.json @@ -0,0 +1,25 @@ +{ + "class" : { + "defaultHTTPVersion" : "SvenVanCaekenberghe 9/6/2010 15:18", + "defaultServerString" : "SvenVanCaekenberghe 3/31/2011 08:54", + "defaultUserAgent" : "SvenVanCaekenberghe 9/14/2010 10:49", + "faviconBytes" : "PaulDeBruicker 4/10/2011 11:54", + "frameworkLicense" : "SvenVanCaekenberghe 9/14/2010 10:36", + "frameworkMCVersion" : "SvenVanCaekenberghe 9/17/2010 17:12", + "frameworkName" : "SvenVanCaekenberghe 9/14/2010 10:35", + "frameworkNameAndVersion" : "SvenVanCaekenberghe 9/14/2010 10:47", + "frameworkVersion" : "SvenVanCaekenberghe 3/31/2011 08:58", + "httpStatusCodes" : "SvenVanCaekenberghe 9/6/2010 15:53", + "initialize" : "SvenVanCaekenberghe 9/6/2010 15:51", + "initializeHTTPStatusCodes" : "SvenVanCaekenberghe 9/6/2010 16:22", + "knownHTTPMethods" : "SvenVanCaekenberghe 12/11/2011 18:07", + "knownHTTPVersions" : "SvenVanCaekenberghe 9/6/2010 15:22", + "maximumEntitySize" : "SvenVanCaekenberghe 1/31/2012 13:42", + "maximumEntitySize:" : "SvenVanCaekenberghe 1/31/2012 12:17", + "maximumLineLength" : "SvenVanCaekenberghe 1/2/2012 17:45", + "maximumNumberOfDictionaryEntries" : "SvenVanCaekenberghe 1/2/2012 17:54", + "remoteAddressHeader" : "SvenVanCaekenberghe 9/9/2010 20:19", + "standardHtmlDocType" : "SvenVanCaekenberghe 8/18/2011 14:19", + "welcomePageHtml" : "SvenVanCaekenberghe 5/11/2012 14:43" }, + "instance" : { + } } diff --git a/repository/Zinc-HTTP.package/ZnConstants.class/properties.json b/repository/Zinc-HTTP.package/ZnConstants.class/properties.json index ac5a0655..5fcfdd00 100644 --- a/repository/Zinc-HTTP.package/ZnConstants.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnConstants.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Support", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ "HTTPStatusCodes", "MaximumEntitySize" ], @@ -13,5 +12,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnCookie.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnCookie.class/methodProperties.json new file mode 100644 index 00000000..6c367bd6 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnCookie.class/methodProperties.json @@ -0,0 +1,38 @@ +{ + "class" : { + "fromString:" : "SvenVanCaekenberghe 8/30/2011 19:46", + "fromString:for:" : "SvenVanCaekenberghe 8/30/2011 19:46", + "name:value:" : "SvenVanCaekenberghe 8/30/2011 22:23" }, + "instance" : { + "=" : "SvenVanCaekenberghe 8/18/2011 14:05", + "defaultDomain:" : "SvenVanCaekenberghe 8/30/2011 19:45", + "domain" : "SvenVanCaekenberghe 8/18/2011 14:04", + "domain:" : "MattKennedy 9/27/2010 20:25", + "expires" : "SvenVanCaekenberghe 8/18/2011 14:04", + "expires:" : "MattKennedy 9/27/2010 20:26", + "expiresTimeStamp" : "SvenVanCaekenberghe 9/13/2011 11:29", + "extraAttributes" : "SvenVanCaekenberghe 8/18/2011 14:17", + "fromString:" : "SvenVanCaekenberghe 1/8/2012 14:16", + "fullString" : "SvenVanCaekenberghe 8/30/2011 21:43", + "hash" : "SvenVanCaekenberghe 8/30/2011 20:02", + "httponly" : "SvenVanCaekenberghe 8/18/2011 14:03", + "httponly:" : "MattKennedy 9/27/2010 20:28", + "initialize" : "MattKennedy 9/27/2010 20:21", + "isExpired" : "SvenVanCaekenberghe 8/18/2011 14:05", + "isInDomain:" : "SvenVanCaekenberghe 8/18/2011 14:19", + "isInPath:" : "SvenVanCaekenberghe 8/18/2011 14:19", + "maxage" : "SvenVanCaekenberghe 8/18/2011 14:19", + "name" : "SvenVanCaekenberghe 8/18/2011 14:19", + "name:" : "MattKennedy 9/27/2010 20:23", + "nameValueString" : "SvenVanCaekenberghe 8/30/2011 21:42", + "path" : "SvenVanCaekenberghe 8/18/2011 14:04", + "path:" : "MattKennedy 9/28/2010 10:08", + "printOn:" : "SvenVanCaekenberghe 8/30/2011 21:43", + "readAttribute:" : "SvenVanCaekenberghe 1/8/2012 14:16", + "secure" : "SvenVanCaekenberghe 8/18/2011 14:05", + "secure:" : "MattKennedy 9/27/2010 20:28", + "value" : "SvenVanCaekenberghe 8/18/2011 14:05", + "value:" : "MattKennedy 9/27/2010 20:23", + "writeExtraAttributesOn:" : "SvenVanCaekenberghe 8/30/2011 20:03", + "writeNameAndValueOn:" : "SvenVanCaekenberghe 8/18/2011 14:37", + "writeOn:" : "SvenVanCaekenberghe 8/30/2011 21:32" } } diff --git a/repository/Zinc-HTTP.package/ZnCookie.class/properties.json b/repository/Zinc-HTTP.package/ZnCookie.class/properties.json index 81fddaf8..e6f85f8f 100644 --- a/repository/Zinc-HTTP.package/ZnCookie.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnCookie.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Support", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 12/7/2010 00:01", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnCookieJar.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnCookieJar.class/methodProperties.json new file mode 100644 index 00000000..4f9569cd --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnCookieJar.class/methodProperties.json @@ -0,0 +1,11 @@ +{ + "class" : { + }, + "instance" : { + "add:" : "SvenVanCaekenberghe 8/18/2011 14:18", + "cookieAt:forUrl:" : "SvenVanCaekenberghe 8/18/2011 14:07", + "cookies" : "SvenVanCaekenberghe 8/18/2011 14:07", + "cookiesForUrl:" : "SvenVanCaekenberghe 8/18/2011 14:06", + "remove:" : "SvenVanCaekenberghe 8/18/2011 14:06", + "removeAll" : "SvenVanCaekenberghe 2/29/2012 17:39", + "removeIfExpired:" : "SvenVanCaekenberghe 8/18/2011 14:07" } } diff --git a/repository/Zinc-HTTP.package/ZnCookieJar.class/properties.json b/repository/Zinc-HTTP.package/ZnCookieJar.class/properties.json index 5ddd2b00..fdcfdae8 100644 --- a/repository/Zinc-HTTP.package/ZnCookieJar.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnCookieJar.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Support", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 12/7/2010 00:01", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnCredential.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnCredential.class/methodProperties.json new file mode 100644 index 00000000..cc3098d6 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnCredential.class/methodProperties.json @@ -0,0 +1,15 @@ +{ + "class" : { + "authName" : "MattKennedy 9/28/2010 17:28", + "findHandlerFor:" : "SvenVanCaekenberghe 8/18/2011 14:09", + "findRealmFor:" : "SvenVanCaekenberghe 8/18/2011 14:21" }, + "instance" : { + "authToken" : "SvenVanCaekenberghe 8/18/2011 14:20", + "authTokenForUrl:method:" : "MattKennedy 9/29/2010 13:48", + "domain" : "MattKennedy 9/28/2010 14:27", + "domain:" : "MattKennedy 9/28/2010 14:27", + "isComplete" : "SvenVanCaekenberghe 8/18/2011 14:20", + "linkToAuthRequest:" : "MattKennedy 9/29/2010 16:10", + "realm" : "SvenVanCaekenberghe 8/18/2011 14:07", + "realm:" : "MattKennedy 9/28/2010 14:27", + "setAuthorizationHeader:for:method:" : "MattKennedy 9/29/2010 13:42" } } diff --git a/repository/Zinc-HTTP.package/ZnCredential.class/properties.json b/repository/Zinc-HTTP.package/ZnCredential.class/properties.json index eaacb5cf..58296330 100644 --- a/repository/Zinc-HTTP.package/ZnCredential.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnCredential.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Support", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 12/6/2010 12:56", @@ -13,5 +12,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnDefaultServerDelegate.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnDefaultServerDelegate.class/methodProperties.json new file mode 100644 index 00000000..d65ff236 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnDefaultServerDelegate.class/methodProperties.json @@ -0,0 +1,24 @@ +{ + "class" : { + "new" : "SvenVanCaekenberghe 12/10/2010 15:17" }, + "instance" : { + "bytes:" : "SvenVanCaekenberghe 8/18/2011 14:09", + "dwbench:" : "SvenVanCaekenberghe 12/14/2010 10:30", + "echoRequest:" : "SvenVanCaekenberghe 7/14/2011 09:36", + "favicon:" : "SvenVanCaekenberghe 12/14/2010 10:39", + "generateDWBench" : "SvenVanCaekenberghe 3/18/2012 19:08", + "generateEchoRequestString:" : "SvenVanCaekenberghe 9/19/2011 10:30", + "generateHelp" : "SvenVanCaekenberghe 8/11/2011 10:11", + "generateStatus" : "SvenVanCaekenberghe 3/1/2012 13:55", + "generateUnicodeTest" : "SvenVanCaekenberghe 8/11/2011 10:12", + "handleRequest:" : "PaulDeBruicker 4/19/2012 16:02", + "help:" : "SvenVanCaekenberghe 3/31/2011 09:17", + "initialize" : "SvenVanCaekenberghe 4/28/2011 22:09", + "prefixMap" : "SvenVanCaekenberghe 4/26/2011 13:28", + "processes" : "SvenVanCaekenberghe 3/31/2011 09:46", + "random:" : "SvenVanCaekenberghe 1/4/2011 14:52", + "status:" : "SvenVanCaekenberghe 3/31/2011 09:18", + "systemVersionInfo" : "SvenVanCaekenberghe 3/1/2012 13:55", + "unicode:" : "SvenVanCaekenberghe 12/14/2010 10:40", + "vmStats" : "SvenVanCaekenberghe 3/1/2012 13:54", + "welcome:" : "SvenVanCaekenberghe 12/14/2010 10:39" } } diff --git a/repository/Zinc-HTTP.package/ZnDefaultServerDelegate.class/properties.json b/repository/Zinc-HTTP.package/ZnDefaultServerDelegate.class/properties.json index ce7cdb58..9d01a9c9 100644 --- a/repository/Zinc-HTTP.package/ZnDefaultServerDelegate.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnDefaultServerDelegate.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Client-Server", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 8/18/2011 14:46", @@ -13,5 +12,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnDigestAuthenticator.class/class/parseAuthRequest..st b/repository/Zinc-HTTP.package/ZnDigestAuthenticator.class/class/parseAuthRequest..st index b08aeef6..82b20623 100644 --- a/repository/Zinc-HTTP.package/ZnDigestAuthenticator.class/class/parseAuthRequest..st +++ b/repository/Zinc-HTTP.package/ZnDigestAuthenticator.class/class/parseAuthRequest..st @@ -1,13 +1,14 @@ accessing -parseAuthRequest: aHeader +parseAuthRequest: headerValue | data dict | dict := Dictionary new. - data := aHeader copyFrom: 8 to: aHeader size. + "Chops off the ' Digest ' scheme name, a bit too brittle." + data := headerValue copyFrom: 8 to: headerValue size. (data subStrings: ',') do: [ :fragment | | tokens i key value | tokens := fragment trimBoth. i := tokens indexOf: $=. (i > 0) ifTrue: [ key := tokens copyFrom: 1 to: i - 1. value := tokens copyFrom: i + 1 to: tokens size. - dict at: key put: (value copyFrom: 2 to: value size - 1) ] ]. + dict at: key put: (value trimBoth: [ :char | char = $" ]) ] ]. ^ dict \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnDigestAuthenticator.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnDigestAuthenticator.class/methodProperties.json new file mode 100644 index 00000000..92cb6908 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnDigestAuthenticator.class/methodProperties.json @@ -0,0 +1,13 @@ +{ + "class" : { + "hasMD5Support" : "SvenVanCaekenberghe 8/18/2011 14:19", + "md5Hash:" : "SvenVanCaekenberghe 8/18/2011 14:27", + "parseAuthRequest:" : "SvenVanCaekenberghe 5/22/2012 10:21" }, + "instance" : { + "a1for:" : "SvenVanCaekenberghe 8/18/2011 14:03", + "a2forUrl:method:" : "SvenVanCaekenberghe 8/18/2011 14:18", + "authHeader" : "SvenVanCaekenberghe 8/18/2011 14:18", + "createNonce" : "SvenVanCaekenberghe 8/18/2011 14:18", + "createOpaque" : "SvenVanCaekenberghe 8/18/2011 14:18", + "isRequestAuthenticated:" : "SvenVanCaekenberghe 8/18/2011 14:18", + "nonces" : "SvenVanCaekenberghe 8/18/2011 14:18" } } diff --git a/repository/Zinc-HTTP.package/ZnDigestAuthenticator.class/properties.json b/repository/Zinc-HTTP.package/ZnDigestAuthenticator.class/properties.json index 7fc046b0..1f19f6f7 100644 --- a/repository/Zinc-HTTP.package/ZnDigestAuthenticator.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnDigestAuthenticator.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Support", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 12/6/2010 12:47", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "ZnBasicAuthenticator", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnDigestCredential.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnDigestCredential.class/methodProperties.json new file mode 100644 index 00000000..bcf7dc43 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnDigestCredential.class/methodProperties.json @@ -0,0 +1,17 @@ +{ + "class" : { + "authName" : "SvenVanCaekenberghe 8/18/2011 14:21" }, + "instance" : { + "a1" : "SvenVanCaekenberghe 8/18/2011 14:21", + "a2ForUrl:method:" : "SvenVanCaekenberghe 8/18/2011 14:21", + "authTokenForUrl:method:" : "SvenVanCaekenberghe 8/18/2011 14:37", + "isComplete" : "SvenVanCaekenberghe 8/18/2011 14:21", + "linkToAuthRequest:" : "SvenVanCaekenberghe 8/18/2011 14:08", + "nonce" : "MattKennedy 9/28/2010 14:48", + "nonce:" : "MattKennedy 9/28/2010 14:48", + "opaque" : "MattKennedy 9/28/2010 14:48", + "opaque:" : "MattKennedy 9/28/2010 14:48", + "parseAuthRequest:" : "SvenVanCaekenberghe 8/18/2011 14:21", + "responseForUrl:method:" : "SvenVanCaekenberghe 8/18/2011 14:21", + "setAuthorizationHeader:for:method:" : "MattKennedy 9/29/2010 16:28", + "uriPathFrom:" : "SvenVanCaekenberghe 8/18/2011 14:08" } } diff --git a/repository/Zinc-HTTP.package/ZnDigestCredential.class/properties.json b/repository/Zinc-HTTP.package/ZnDigestCredential.class/properties.json index dc1ae2b2..96c4a5b4 100644 --- a/repository/Zinc-HTTP.package/ZnDigestCredential.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnDigestCredential.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Support", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 12/6/2010 12:59", @@ -13,5 +12,4 @@ "pools" : [ ], "super" : "ZnBasicCredential", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnDispatcherDelegate.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnDispatcherDelegate.class/methodProperties.json new file mode 100644 index 00000000..06b74ebc --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnDispatcherDelegate.class/methodProperties.json @@ -0,0 +1,7 @@ +{ + "class" : { + }, + "instance" : { + "dispatcherDictionary" : "NickAger 5/9/2011 16:25", + "handleRequest:" : "SvenVanCaekenberghe 8/18/2011 14:16", + "map:to:" : "NickAger 5/9/2011 16:19" } } diff --git a/repository/Zinc-HTTP.package/ZnDispatcherDelegate.class/properties.json b/repository/Zinc-HTTP.package/ZnDispatcherDelegate.class/properties.json index 04379f3b..eda1f871 100644 --- a/repository/Zinc-HTTP.package/ZnDispatcherDelegate.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnDispatcherDelegate.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Client-Server", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 5/15/2012 16:03", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnEasy.class/class/getGif..st b/repository/Zinc-HTTP.package/ZnEasy.class/class/getGif..st index 15b535d6..dc21bda0 100644 --- a/repository/Zinc-HTTP.package/ZnEasy.class/class/getGif..st +++ b/repository/Zinc-HTTP.package/ZnEasy.class/class/getGif..st @@ -1,6 +1,6 @@ operations getGif: urlObject - "self getGif: 'http://homepage.mac.com/svc/ADayAtTheBeach/calculator.gif'." + "self getGif: 'http://zn.stfx.eu/zn/Hot-Air-Balloon.gif'." ^ self getImageOfType: ZnMimeType imageGif diff --git a/repository/Zinc-HTTP.package/ZnEasy.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnEasy.class/methodProperties.json new file mode 100644 index 00000000..483d2e22 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnEasy.class/methodProperties.json @@ -0,0 +1,19 @@ +{ + "class" : { + "client" : "SvenVanCaekenberghe 11/8/2011 22:16", + "delete:" : "SvenVanCaekenberghe 9/15/2011 16:24", + "delete:username:password:" : "SvenVanCaekenberghe 9/15/2011 16:24", + "get:" : "SvenVanCaekenberghe 9/15/2011 16:24", + "get:username:password:" : "SvenVanCaekenberghe 9/15/2011 16:24", + "getGif:" : "SvenVanCaekenberghe 7/4/2012 17:56", + "getImageOfType:usingParser:fromUrl:" : "SvenVanCaekenberghe 9/15/2011 16:24", + "getJpeg:" : "SvenVanCaekenberghe 5/9/2012 22:17", + "getPng:" : "SvenVanCaekenberghe 5/9/2012 22:17", + "head:" : "SvenVanCaekenberghe 9/15/2011 16:24", + "head:username:password:" : "SvenVanCaekenberghe 9/15/2011 16:24", + "post:data:" : "SvenVanCaekenberghe 9/15/2011 16:24", + "post:data:username:password:" : "SvenVanCaekenberghe 9/15/2011 16:24", + "put:data:" : "SvenVanCaekenberghe 9/15/2011 16:24", + "put:data:username:password:" : "SvenVanCaekenberghe 9/15/2011 16:24" }, + "instance" : { + } } diff --git a/repository/Zinc-HTTP.package/ZnEasy.class/properties.json b/repository/Zinc-HTTP.package/ZnEasy.class/properties.json index 14a790f4..0b888e51 100644 --- a/repository/Zinc-HTTP.package/ZnEasy.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnEasy.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Client-Server", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 4/21/2012 11:13", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnEntity.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnEntity.class/methodProperties.json new file mode 100644 index 00000000..2d1d3a9a --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnEntity.class/methodProperties.json @@ -0,0 +1,32 @@ +{ + "class" : { + "byteArrayEntityClass" : "SvenVanCaekenberghe 12/3/2010 13:57", + "bytes:" : "SvenVanCaekenberghe 12/3/2010 14:00", + "concreteSubclassForType:binary:" : "SvenVanCaekenberghe 4/7/2012 17:35", + "designatedMimeType" : "SvenVanCaekenberghe 9/11/2010 17:22", + "html:" : "SvenVanCaekenberghe 12/3/2010 14:01", + "new" : "SvenVanCaekenberghe 9/17/2010 17:07", + "readBinaryFrom:usingType:andLength:" : "SvenVanCaekenberghe 4/7/2012 17:38", + "readFrom:usingType:andLength:" : "SvenVanCaekenberghe 4/7/2012 17:36", + "stringEntityClass" : "SvenVanCaekenberghe 12/6/2010 13:48", + "text:" : "SvenVanCaekenberghe 12/3/2010 14:01", + "type:" : "SvenVanCaekenberghe 9/25/2010 22:16", + "type:length:" : "SvenVanCaekenberghe 9/12/2010 11:06", + "with:" : "SvenVanCaekenberghe 12/3/2010 14:02", + "with:type:" : "SvenVanCaekenberghe 9/17/2010 20:39", + "xml:" : "SvenVanCaekenberghe 12/11/2011 18:12" }, + "instance" : { + "close" : "SvenVanCaekenberghe 8/18/2011 12:50", + "contentLength" : "SvenVanCaekenberghe 9/25/2010 22:17", + "contentLength:" : "SvenVanCaekenberghe 9/6/2010 21:57", + "contentType" : "SvenVanCaekenberghe 9/6/2010 21:57", + "contentType:" : "SvenVanCaekenberghe 1/4/2011 19:57", + "contents" : "SvenVanCaekenberghe 9/13/2010 22:04", + "hasContentLength" : "SvenVanCaekenberghe 12/14/2010 11:25", + "hasContentType" : "SvenVanCaekenberghe 12/14/2010 11:26", + "isEmpty" : "SvenVanCaekenberghe 5/1/2011 17:51", + "printContentTypeAndLengthOn:" : "SvenVanCaekenberghe 12/14/2010 11:19", + "printContentsOn:" : "SvenVanCaekenberghe 12/14/2010 10:56", + "printOn:" : "SvenVanCaekenberghe 12/4/2010 12:24", + "readFrom:" : "SvenVanCaekenberghe 9/6/2010 22:02", + "writeOn:" : "SvenVanCaekenberghe 9/6/2010 21:30" } } diff --git a/repository/Zinc-HTTP.package/ZnEntity.class/properties.json b/repository/Zinc-HTTP.package/ZnEntity.class/properties.json index d1d722eb..d544659f 100644 --- a/repository/Zinc-HTTP.package/ZnEntity.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnEntity.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Core", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 1/18/2011 11:03", @@ -13,5 +12,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnEntityReader.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnEntityReader.class/methodProperties.json new file mode 100644 index 00000000..3a561fdd --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnEntityReader.class/methodProperties.json @@ -0,0 +1,24 @@ +{ + "class" : { + }, + "instance" : { + "allowReadingUpToEnd" : "SvenVanCaekenberghe 10/3/2010 16:07", + "allowsReadingUpToEnd" : "SvenVanCaekenberghe 10/3/2010 16:07", + "binary" : "SvenVanCaekenberghe 4/7/2012 16:37", + "canReadContent" : "SvenVanCaekenberghe 4/20/2011 12:39", + "contentLength" : "SvenVanCaekenberghe 9/25/2010 23:10", + "contentType" : "SvenVanCaekenberghe 9/25/2010 23:11", + "hasContentLength" : "SvenVanCaekenberghe 9/25/2010 22:35", + "headers" : "SvenVanCaekenberghe 9/25/2010 22:23", + "headers:" : "SvenVanCaekenberghe 9/25/2010 22:22", + "isBinary" : "SvenVanCaekenberghe 4/7/2012 16:37", + "isChunked" : "SvenVanCaekenberghe 9/26/2010 13:10", + "isGzipped" : "SvenVanCaekenberghe 9/27/2010 13:55", + "isIdentityEncoded" : "SvenVanCaekenberghe 9/27/2010 16:45", + "isStreaming" : "SvenVanCaekenberghe 9/25/2010 23:03", + "readEntity" : "SvenVanCaekenberghe 5/1/2011 17:50", + "readEntityFromStream" : "SvenVanCaekenberghe 4/7/2012 16:33", + "readFrom:usingType:andLength:" : "SvenVanCaekenberghe 4/7/2012 16:42", + "stream" : "SvenVanCaekenberghe 9/25/2010 22:23", + "stream:" : "SvenVanCaekenberghe 9/25/2010 22:22", + "streaming" : "SvenVanCaekenberghe 9/25/2010 22:31" } } diff --git a/repository/Zinc-HTTP.package/ZnEntityReader.class/properties.json b/repository/Zinc-HTTP.package/ZnEntityReader.class/properties.json index eafe0110..2999199d 100644 --- a/repository/Zinc-HTTP.package/ZnEntityReader.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnEntityReader.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Streaming", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 4/7/2012 16:37", @@ -16,5 +15,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnEntityTooLarge.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnEntityTooLarge.class/methodProperties.json new file mode 100644 index 00000000..da8df1dd --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnEntityTooLarge.class/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "isResumable" : "SvenVanCaekenberghe 1/31/2012 12:35" } } diff --git a/repository/Zinc-HTTP.package/ZnEntityTooLarge.class/properties.json b/repository/Zinc-HTTP.package/ZnEntityTooLarge.class/properties.json index a9193043..3f027574 100644 --- a/repository/Zinc-HTTP.package/ZnEntityTooLarge.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnEntityTooLarge.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Exceptions", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 1/31/2012 12:35", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "Error", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnExtendedFixedClient.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnExtendedFixedClient.class/methodProperties.json new file mode 100644 index 00000000..859275f9 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnExtendedFixedClient.class/methodProperties.json @@ -0,0 +1,10 @@ +{ + "class" : { + }, + "instance" : { + "newConnection" : "SvenVanCaekenberghe 3/29/2011 14:05", + "newConnectionHook:" : "SvenVanCaekenberghe 3/29/2011 14:03", + "postProcessHook:" : "SvenVanCaekenberghe 3/29/2011 14:03", + "postProcessResponse:" : "SvenVanCaekenberghe 3/29/2011 14:05", + "preProcessHook:" : "SvenVanCaekenberghe 3/29/2011 14:03", + "preProcessRequest:" : "SvenVanCaekenberghe 3/29/2011 14:05" } } diff --git a/repository/Zinc-HTTP.package/ZnExtendedFixedClient.class/properties.json b/repository/Zinc-HTTP.package/ZnExtendedFixedClient.class/properties.json index b04004b8..5bdcc883 100644 --- a/repository/Zinc-HTTP.package/ZnExtendedFixedClient.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnExtendedFixedClient.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Deprecated", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 10/4/2011 19:02", @@ -14,5 +13,4 @@ "pools" : [ ], "super" : "ZnFixedClient", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnFileLogger.class/instance/open.st b/repository/Zinc-HTTP.package/ZnFileLogger.class/instance/open.st index 991a9d81..3b7bbb1e 100644 --- a/repository/Zinc-HTTP.package/ZnFileLogger.class/instance/open.st +++ b/repository/Zinc-HTTP.package/ZnFileLogger.class/instance/open.st @@ -2,7 +2,7 @@ initialize-release open | fileStream | self close. - fileStream := FileStream fileNamed: self pathName. + fileStream := ZnFileSystemUtils fileStreamFor: self pathName. fileStream setToEnd. self stream: fileStream. self event: (ZnLogEvent info: 'Opening ', self printString) \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnFileLogger.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnFileLogger.class/methodProperties.json new file mode 100644 index 00000000..58920061 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnFileLogger.class/methodProperties.json @@ -0,0 +1,13 @@ +{ + "class" : { + "onFileNamed:" : "SvenVanCaekenberghe 3/29/2011 12:32" }, + "instance" : { + "close" : "SvenVanCaekenberghe 4/20/2011 12:21", + "event:" : "SvenVanCaekenberghe 3/29/2011 12:04", + "initializeOn:" : "SvenVanCaekenberghe 3/29/2011 12:34", + "open" : "SvenVanCaekenberghe 7/2/2012 16:13", + "pathName" : "SvenVanCaekenberghe 3/29/2011 12:33", + "pathName:" : "SvenVanCaekenberghe 3/29/2011 12:33", + "printOn:" : "SvenVanCaekenberghe 3/29/2011 12:44", + "stream" : "SvenVanCaekenberghe 3/29/2011 12:03", + "stream:" : "SvenVanCaekenberghe 3/29/2011 12:35" } } diff --git a/repository/Zinc-HTTP.package/ZnFileLogger.class/properties.json b/repository/Zinc-HTTP.package/ZnFileLogger.class/properties.json index 37f84381..17238314 100644 --- a/repository/Zinc-HTTP.package/ZnFileLogger.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnFileLogger.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Logging", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 3/29/2011 09:37", @@ -13,5 +12,4 @@ "pools" : [ ], "super" : "ZnLogListener", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnFixedClient.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnFixedClient.class/methodProperties.json new file mode 100644 index 00000000..83c52bb7 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnFixedClient.class/methodProperties.json @@ -0,0 +1,36 @@ +{ + "class" : { + "host:" : "SvenVanCaekenberghe 8/18/2011 14:40", + "host:port:" : "SvenVanCaekenberghe 8/18/2011 14:40", + "new" : "SvenVanCaekenberghe 3/4/2012 10:32", + "scheme:host:" : "SvenVanCaekenberghe 8/18/2011 14:40", + "scheme:host:port:" : "SvenVanCaekenberghe 8/18/2011 14:40" }, + "instance" : { + "baseUrl" : "SvenVanCaekenberghe 5/9/2011 10:11", + "close" : "SvenVanCaekenberghe 4/20/2011 12:10", + "connection" : "SvenVanCaekenberghe 3/28/2011 15:10", + "delete:" : "SvenVanCaekenberghe 9/25/2010 22:05", + "executeRequest:" : "SvenVanCaekenberghe 4/20/2011 12:38", + "executeRequestOnce:" : "SvenVanCaekenberghe 3/29/2011 14:23", + "executeRequestOnceIgnoringErrors:" : "SvenVanCaekenberghe 6/17/2011 15:36", + "fixedUrl:" : "SvenVanCaekenberghe 5/9/2011 10:02", + "get:" : "SvenVanCaekenberghe 9/25/2010 20:41", + "host" : "SvenVanCaekenberghe 9/25/2010 20:06", + "host:" : "SvenVanCaekenberghe 8/18/2011 14:40", + "isConnected" : "SvenVanCaekenberghe 3/28/2011 15:07", + "isConnectionReusable" : "SvenVanCaekenberghe 3/28/2011 15:12", + "log" : "SvenVanCaekenberghe 3/29/2011 14:05", + "logRequest:response:started:" : "SvenVanCaekenberghe 3/29/2011 14:16", + "logToTranscript" : "SvenVanCaekenberghe 3/29/2011 15:40", + "maxKeepAlive" : "SvenVanCaekenberghe 3/28/2011 15:09", + "newConnection" : "SvenVanCaekenberghe 5/9/2011 10:11", + "port" : "SvenVanCaekenberghe 5/9/2011 10:06", + "port:" : "SvenVanCaekenberghe 9/25/2010 20:07", + "post:data:" : "SvenVanCaekenberghe 9/25/2010 22:05", + "postProcessResponse:" : "SvenVanCaekenberghe 3/29/2011 14:04", + "preProcessRequest:" : "SvenVanCaekenberghe 3/29/2011 14:04", + "printOn:" : "SvenVanCaekenberghe 9/25/2010 20:53", + "put:data:" : "SvenVanCaekenberghe 9/25/2010 22:06", + "scheme" : "SvenVanCaekenberghe 5/9/2011 10:01", + "scheme:" : "SvenVanCaekenberghe 5/9/2011 10:01", + "username:password:" : "SvenVanCaekenberghe 9/25/2010 21:02" } } diff --git a/repository/Zinc-HTTP.package/ZnFixedClient.class/properties.json b/repository/Zinc-HTTP.package/ZnFixedClient.class/properties.json index 72609a34..5f1e39e4 100644 --- a/repository/Zinc-HTTP.package/ZnFixedClient.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnFixedClient.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Deprecated", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 10/4/2011 19:02", @@ -19,5 +18,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnHTTPSocketFacade.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnHTTPSocketFacade.class/methodProperties.json new file mode 100644 index 00000000..3f09275d --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnHTTPSocketFacade.class/methodProperties.json @@ -0,0 +1,31 @@ +{ + "class" : { + "client" : "SvenVanCaekenberghe 11/8/2011 22:16", + "constructMultiPartFormDataEntity:" : "SvenVanCaekenberghe 2/7/2011 09:34", + "execute:on:" : "SvenVanCaekenberghe 8/18/2011 21:30", + "extendHeaders:with:" : "SvenVanCaekenberghe 9/13/2010 21:47", + "extendUrl:withArguments:" : "SvenVanCaekenberghe 4/30/2011 13:57", + "httpGet:" : "SvenVanCaekenberghe 9/14/2010 08:17", + "httpGet:accept:" : "SvenVanCaekenberghe 9/20/2011 13:14", + "httpGet:args:accept:" : "SvenVanCaekenberghe 9/14/2010 08:17", + "httpGet:args:accept:request:" : "SvenVanCaekenberghe 8/19/2011 11:17", + "httpGet:args:user:passwd:" : "SvenVanCaekenberghe 8/19/2011 11:18", + "httpGetDocument:" : "SvenVanCaekenberghe 9/14/2010 08:17", + "httpGetDocument:accept:" : "SvenVanCaekenberghe 9/20/2011 13:39", + "httpGetDocument:args:" : "SvenVanCaekenberghe 9/14/2010 08:18", + "httpGetDocument:args:accept:" : "SvenVanCaekenberghe 9/20/2011 13:39", + "httpGetDocument:args:accept:request:" : "SvenVanCaekenberghe 8/19/2011 11:19", + "httpGif:" : "SvenVanCaekenberghe 9/15/2011 16:28", + "httpJpeg:" : "SvenVanCaekenberghe 9/15/2011 16:28", + "httpPng:" : "SvenVanCaekenberghe 9/15/2011 16:28", + "httpPost:args:accept:" : "SvenVanCaekenberghe 8/19/2011 11:28", + "httpPost:args:user:passwd:" : "SvenVanCaekenberghe 8/19/2011 11:34", + "httpPostDocument:args:" : "SvenVanCaekenberghe 9/17/2010 20:05", + "httpPostDocument:args:accept:" : "SvenVanCaekenberghe 9/17/2010 20:05", + "httpPostDocument:args:accept:request:" : "SvenVanCaekenberghe 8/19/2011 11:26", + "httpPostMultipart:args:accept:request:" : "SvenVanCaekenberghe 8/19/2011 11:24", + "httpPut:to:user:passwd:" : "SvenVanCaekenberghe 8/19/2011 11:22", + "mimeDocumentOrErrorStringFrom:uri:" : "SvenVanCaekenberghe 5/17/2011 21:33", + "streamOrErrorStringFrom:uri:" : "SvenVanCaekenberghe 9/17/2010 20:42" }, + "instance" : { + } } diff --git a/repository/Zinc-HTTP.package/ZnHTTPSocketFacade.class/properties.json b/repository/Zinc-HTTP.package/ZnHTTPSocketFacade.class/properties.json index ea730e0f..a68ce15d 100644 --- a/repository/Zinc-HTTP.package/ZnHTTPSocketFacade.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnHTTPSocketFacade.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Client-Server", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnHeaders.class/instance/extendHeaderAt.from..st b/repository/Zinc-HTTP.package/ZnHeaders.class/instance/extendHeaderAt.from..st new file mode 100644 index 00000000..5b1bca74 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnHeaders.class/instance/extendHeaderAt.from..st @@ -0,0 +1,7 @@ +private +extendHeaderAt: key from: line + "The value of a continuation header line is concatenated, + keeping the whitespace, but without the CRLF" + + self at: key put: (self at: key), line + \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnHeaders.class/instance/readFrom..st b/repository/Zinc-HTTP.package/ZnHeaders.class/instance/readFrom..st index 1fdf51e7..438567d9 100644 --- a/repository/Zinc-HTTP.package/ZnHeaders.class/instance/readFrom..st +++ b/repository/Zinc-HTTP.package/ZnHeaders.class/instance/readFrom..st @@ -2,5 +2,9 @@ initialize-release readFrom: stream | line reader | reader := ZnLineReader on: stream. - [ (line := reader nextLine) isEmpty ] whileFalse: [ - self readOneHeaderFrom: line readStream ] \ No newline at end of file + [ (line := reader nextLine) isEmpty ] whileFalse: [ | key | + key := self readOneHeaderFrom: line readStream. + "Continuation header lines start with a space or tab" + [ stream atEnd not and: [ ' ' includes: stream peek ] ] + whileTrue: [ + self extendHeaderAt: key from: reader nextLine ] ] \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnHeaders.class/instance/readOneHeaderFrom..st b/repository/Zinc-HTTP.package/ZnHeaders.class/instance/readOneHeaderFrom..st index f2014a8c..15bf776d 100644 --- a/repository/Zinc-HTTP.package/ZnHeaders.class/instance/readOneHeaderFrom..st +++ b/repository/Zinc-HTTP.package/ZnHeaders.class/instance/readOneHeaderFrom..st @@ -4,4 +4,5 @@ readOneHeaderFrom: stream key := stream upTo: $:. [ stream peek == Character space ] whileTrue: [ stream next ]. value := stream upToEnd. - self at: key add: value \ No newline at end of file + self at: key add: value. + ^ key \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnHeaders.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnHeaders.class/methodProperties.json new file mode 100644 index 00000000..af59a912 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnHeaders.class/methodProperties.json @@ -0,0 +1,35 @@ +{ + "class" : { + "defaultRequestHeaders" : "SvenVanCaekenberghe 9/6/2010 21:12", + "defaultResponseHeaders" : "SvenVanCaekenberghe 3/31/2011 08:54", + "readFrom:" : "SvenVanCaekenberghe 9/6/2010 17:07", + "requestHeadersFor:" : "SvenVanCaekenberghe 7/27/2011 14:41", + "withAll:" : "SvenVanCaekenberghe 9/13/2010 21:45" }, + "instance" : { + "acceptEntityDescription:" : "SvenVanCaekenberghe 9/19/2011 10:08", + "addAll:" : "SvenVanCaekenberghe 1/12/2011 11:25", + "at:" : "SvenVanCaekenberghe 9/10/2010 20:25", + "at:add:" : "SvenVanCaekenberghe 1/2/2012 17:27", + "at:ifAbsent:" : "SvenVanCaekenberghe 9/21/2010 12:16", + "at:ifPresent:" : "PaulDeBruicker 5/12/2012 10:02", + "at:put:" : "SvenVanCaekenberghe 9/10/2010 20:26", + "at:put:ifPresentMerge:" : "SvenVanCaekenberghe 9/10/2010 20:49", + "contentLength" : "SvenVanCaekenberghe 9/20/2011 13:48", + "contentType" : "SvenVanCaekenberghe 9/10/2010 20:27", + "extendHeaderAt:from:" : "SvenVanCaekenberghe 5/22/2012 10:44", + "hasContentLength" : "SvenVanCaekenberghe 9/21/2010 12:12", + "hasContentType" : "SvenVanCaekenberghe 9/21/2010 12:11", + "headers" : "SvenVanCaekenberghe 1/2/2012 17:24", + "headersDo:" : "SvenVanCaekenberghe 9/21/2010 12:14", + "includesKey:" : "SvenVanCaekenberghe 9/21/2010 12:13", + "isDescribingEntity" : "SvenVanCaekenberghe 9/10/2010 20:29", + "isEmpty" : "SvenVanCaekenberghe 9/6/2010 17:09", + "keysAndValuesDo:" : "SvenVanCaekenberghe 9/26/2010 18:13", + "normalizeHeaderKey:" : "SvenVanCaekenberghe 9/10/2010 20:04", + "printOn:" : "SvenVanCaekenberghe 9/20/2010 17:20", + "readFrom:" : "SvenVanCaekenberghe 5/22/2012 10:42", + "readOneHeaderFrom:" : "SvenVanCaekenberghe 5/22/2012 10:27", + "removeKey:" : "SvenVanCaekenberghe 9/14/2010 13:36", + "removeKey:ifAbsent:" : "SvenVanCaekenberghe 9/21/2010 12:16", + "request:" : "SvenVanCaekenberghe 8/12/2011 13:08", + "writeOn:" : "SvenVanCaekenberghe 12/3/2010 20:39" } } diff --git a/repository/Zinc-HTTP.package/ZnHeaders.class/properties.json b/repository/Zinc-HTTP.package/ZnHeaders.class/properties.json index 80225213..b103977d 100644 --- a/repository/Zinc-HTTP.package/ZnHeaders.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnHeaders.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Core", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 1/18/2011 10:57", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnHttpClient.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnHttpClient.class/methodProperties.json new file mode 100644 index 00000000..3d391d9f --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnHttpClient.class/methodProperties.json @@ -0,0 +1,32 @@ +{ + "class" : { + }, + "instance" : { + "auth:password:" : "MattKennedy 10/1/2010 20:36", + "contentLength" : "SvenVanCaekenberghe 8/18/2011 14:24", + "contentType" : "SvenVanCaekenberghe 8/18/2011 14:24", + "cookieAt:" : "SvenVanCaekenberghe 8/18/2011 14:24", + "delete" : "SvenVanCaekenberghe 1/12/2011 13:29", + "digestAuth:password:" : "MattKennedy 10/1/2010 20:36", + "get" : "SvenVanCaekenberghe 1/20/2011 20:36", + "head" : "SvenVanCaekenberghe 1/20/2011 20:36", + "headerAt:add:" : "SvenVanCaekenberghe 1/12/2011 11:27", + "headerAt:put:" : "MattKennedy 10/1/2010 20:17", + "headers" : "SvenVanCaekenberghe 1/12/2011 11:27", + "headers:" : "MattKennedy 10/1/2010 20:10", + "isAuthenticationRequired" : "SvenVanCaekenberghe 8/18/2011 14:24", + "linkCredentials" : "SvenVanCaekenberghe 8/18/2011 14:13", + "parameterAt:" : "SvenVanCaekenberghe 8/18/2011 14:24", + "parameterAt:add:" : "SvenVanCaekenberghe 1/12/2011 11:28", + "parameterAt:put:" : "MattKennedy 10/1/2010 20:15", + "params" : "SvenVanCaekenberghe 1/12/2011 11:27", + "params:" : "MattKennedy 10/1/2010 20:10", + "post" : "SvenVanCaekenberghe 1/12/2011 13:30", + "put" : "SvenVanCaekenberghe 1/12/2011 13:30", + "resetParameters" : "SvenVanCaekenberghe 1/12/2011 10:16", + "sendMethod:" : "SvenVanCaekenberghe 8/18/2011 14:14", + "status" : "SvenVanCaekenberghe 8/18/2011 14:24", + "url" : "MattKennedy 10/1/2010 20:10", + "url:" : "SvenVanCaekenberghe 1/4/2011 14:19", + "userAgent" : "SvenVanCaekenberghe 8/18/2011 14:24", + "userAgent:" : "MattKennedy 10/1/2010 20:12" } } diff --git a/repository/Zinc-HTTP.package/ZnHttpClient.class/properties.json b/repository/Zinc-HTTP.package/ZnHttpClient.class/properties.json index 8feb5839..9f75efcc 100644 --- a/repository/Zinc-HTTP.package/ZnHttpClient.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnHttpClient.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Deprecated", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 10/4/2011 19:02", @@ -14,5 +13,4 @@ "pools" : [ ], "super" : "ZnUserAgent", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnHttpUnsuccessful.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnHttpUnsuccessful.class/methodProperties.json new file mode 100644 index 00000000..db4dc254 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnHttpUnsuccessful.class/methodProperties.json @@ -0,0 +1,8 @@ +{ + "class" : { + "response:" : "SvenVanCaekenberghe 12/20/2011 12:51" }, + "instance" : { + "messageText" : "SvenVanCaekenberghe 12/20/2011 12:53", + "response" : "SvenVanCaekenberghe 12/20/2011 12:50", + "response:" : "SvenVanCaekenberghe 12/20/2011 12:50", + "standardMessageText" : "SvenVanCaekenberghe 12/20/2011 12:56" } } diff --git a/repository/Zinc-HTTP.package/ZnHttpUnsuccessful.class/properties.json b/repository/Zinc-HTTP.package/ZnHttpUnsuccessful.class/properties.json index 4fca7b04..fade4259 100644 --- a/repository/Zinc-HTTP.package/ZnHttpUnsuccessful.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnHttpUnsuccessful.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Exceptions", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 12/20/2011 12:52", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "Error", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnLimitedReadStream.class/instance/nextInto..st b/repository/Zinc-HTTP.package/ZnLimitedReadStream.class/instance/nextInto..st new file mode 100644 index 00000000..07232803 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnLimitedReadStream.class/instance/nextInto..st @@ -0,0 +1,8 @@ +accessing +nextInto: collection + "Read the next elements of the receiver into collection, + returning a copy if less elements are available" + + ^ self + next: collection size + into: collection \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnLimitedReadStream.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnLimitedReadStream.class/methodProperties.json new file mode 100644 index 00000000..269b01f2 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnLimitedReadStream.class/methodProperties.json @@ -0,0 +1,26 @@ +{ + "class" : { + "on:limit:" : "SvenVanCaekenberghe 9/15/2010 11:15" }, + "instance" : { + "ascii" : "SvenVanCaekenberghe 9/15/2010 13:38", + "atEnd" : "SvenVanCaekenberghe 1/31/2012 20:03", + "binary" : "SvenVanCaekenberghe 9/15/2010 13:36", + "collectionSpecies" : "SvenVanCaekenberghe 9/15/2010 19:34", + "contents" : "SvenVanCaekenberghe 5/2/2012 16:02", + "contentsOfEntireFile" : "SvenVanCaekenberghe 9/15/2010 20:17", + "isBinary" : "SvenVanCaekenberghe 9/17/2010 20:06", + "match:" : "SvenVanCaekenberghe 5/2/2012 15:55", + "next" : "SvenVanCaekenberghe 2/21/2011 23:19", + "next:" : "SvenVanCaekenberghe 1/31/2012 20:14", + "next:into:" : "SvenVanCaekenberghe 1/31/2012 20:11", + "next:into:startingAt:" : "SvenVanCaekenberghe 1/31/2012 20:14", + "nextInto:" : "SvenVanCaekenberghe 8/1/2012 13:35", + "on:limit:" : "SvenVanCaekenberghe 9/27/2010 13:06", + "peek" : "SvenVanCaekenberghe 12/4/2011 18:43", + "position" : "SvenVanCaekenberghe 9/27/2010 13:09", + "printOn:" : "SvenVanCaekenberghe 9/15/2010 12:50", + "readInto:startingAt:count:" : "SvenVanCaekenberghe 1/31/2012 21:06", + "reset" : "SvenVanCaekenberghe 9/26/2010 17:20", + "skip:" : "SvenVanCaekenberghe 9/15/2010 20:03", + "upTo:" : "SvenVanCaekenberghe 1/31/2012 20:02", + "upToEnd" : "SvenVanCaekenberghe 1/31/2012 21:07" } } diff --git a/repository/Zinc-HTTP.package/ZnLimitedReadStream.class/properties.json b/repository/Zinc-HTTP.package/ZnLimitedReadStream.class/properties.json index 9d67bdaf..9f404615 100644 --- a/repository/Zinc-HTTP.package/ZnLimitedReadStream.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnLimitedReadStream.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Streaming", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 1/18/2011 11:02", @@ -15,5 +14,4 @@ "pools" : [ ], "super" : "Stream", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnLineReader.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnLineReader.class/methodProperties.json new file mode 100644 index 00000000..8adc583e --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnLineReader.class/methodProperties.json @@ -0,0 +1,11 @@ +{ + "class" : { + "on:" : "SvenVanCaekenberghe 9/27/2010 17:15" }, + "instance" : { + "growBuffer" : "SvenVanCaekenberghe 2/28/2011 14:36", + "limit:" : "SvenVanCaekenberghe 9/27/2010 17:30", + "nextLine" : "SvenVanCaekenberghe 9/27/2010 19:05", + "on:" : "SvenVanCaekenberghe 1/2/2012 17:51", + "processNext" : "SvenVanCaekenberghe 9/12/2011 14:07", + "reset" : "SvenVanCaekenberghe 9/27/2010 17:29", + "store:" : "SvenVanCaekenberghe 9/27/2010 18:43" } } diff --git a/repository/Zinc-HTTP.package/ZnLineReader.class/properties.json b/repository/Zinc-HTTP.package/ZnLineReader.class/properties.json index 18aea207..18278afc 100644 --- a/repository/Zinc-HTTP.package/ZnLineReader.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnLineReader.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Streaming", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 9/27/2010 17:31", @@ -15,5 +14,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnLineTooLong.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnLineTooLong.class/methodProperties.json new file mode 100644 index 00000000..bfdfcf09 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnLineTooLong.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + "limit:" : "SvenVanCaekenberghe 2/28/2011 14:34" }, + "instance" : { + "limit" : "SvenVanCaekenberghe 2/28/2011 14:32", + "limit:" : "SvenVanCaekenberghe 2/28/2011 14:32" } } diff --git a/repository/Zinc-HTTP.package/ZnLineTooLong.class/properties.json b/repository/Zinc-HTTP.package/ZnLineTooLong.class/properties.json index b13d2de8..574811f8 100644 --- a/repository/Zinc-HTTP.package/ZnLineTooLong.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnLineTooLong.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Exceptions", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 2/28/2011 14:15", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "ZnParseError", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnLogEvent.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnLogEvent.class/methodProperties.json new file mode 100644 index 00000000..17cbd51d --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnLogEvent.class/methodProperties.json @@ -0,0 +1,17 @@ +{ + "class" : { + "category:message:" : "SvenVanCaekenberghe 3/28/2011 22:07", + "debug:" : "SvenVanCaekenberghe 3/28/2011 22:08", + "info:" : "SvenVanCaekenberghe 3/28/2011 22:08", + "transaction:" : "SvenVanCaekenberghe 3/29/2011 09:26" }, + "instance" : { + "category" : "SvenVanCaekenberghe 3/28/2011 22:05", + "category:" : "SvenVanCaekenberghe 3/29/2011 09:51", + "initialize" : "SvenVanCaekenberghe 3/29/2011 12:51", + "message" : "SvenVanCaekenberghe 3/28/2011 22:05", + "message:" : "SvenVanCaekenberghe 3/29/2011 09:50", + "printOn:" : "SvenVanCaekenberghe 3/29/2011 12:51", + "processId" : "SvenVanCaekenberghe 3/29/2011 09:48", + "processId:" : "SvenVanCaekenberghe 3/29/2011 09:48", + "timeStamp" : "SvenVanCaekenberghe 3/28/2011 22:05", + "timeStamp:" : "SvenVanCaekenberghe 3/29/2011 09:49" } } diff --git a/repository/Zinc-HTTP.package/ZnLogEvent.class/properties.json b/repository/Zinc-HTTP.package/ZnLogEvent.class/properties.json index 13a1e504..8eb614c7 100644 --- a/repository/Zinc-HTTP.package/ZnLogEvent.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnLogEvent.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Logging", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 3/29/2011 13:27", @@ -15,5 +14,4 @@ "pools" : [ ], "super" : "Announcement", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnLogListener.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnLogListener.class/methodProperties.json new file mode 100644 index 00000000..4882c4f3 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnLogListener.class/methodProperties.json @@ -0,0 +1,14 @@ +{ + "class" : { + }, + "instance" : { + "acceptEvent:" : "SvenVanCaekenberghe 3/29/2011 10:11", + "allow:" : "SvenVanCaekenberghe 3/29/2011 10:30", + "allowAll" : "SvenVanCaekenberghe 3/29/2011 10:29", + "enabled" : "SvenVanCaekenberghe 3/29/2011 09:38", + "enabled:" : "SvenVanCaekenberghe 3/29/2011 09:38", + "event:" : "SvenVanCaekenberghe 4/20/2011 12:18", + "filter" : "SvenVanCaekenberghe 3/29/2011 10:09", + "filter:" : "SvenVanCaekenberghe 3/29/2011 10:09", + "handleEvent:" : "SvenVanCaekenberghe 3/29/2011 11:46", + "initialize" : "SvenVanCaekenberghe 3/29/2011 11:45" } } diff --git a/repository/Zinc-HTTP.package/ZnLogListener.class/properties.json b/repository/Zinc-HTTP.package/ZnLogListener.class/properties.json index 21f81708..4dceb28a 100644 --- a/repository/Zinc-HTTP.package/ZnLogListener.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnLogListener.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Logging", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 8/18/2011 14:47", @@ -14,5 +13,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnLogSupport.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnLogSupport.class/methodProperties.json new file mode 100644 index 00000000..c66ea69c --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnLogSupport.class/methodProperties.json @@ -0,0 +1,15 @@ +{ + "class" : { + "newEnabled" : "SvenVanCaekenberghe 3/29/2011 11:40" }, + "instance" : { + "addListener:" : "SvenVanCaekenberghe 10/4/2011 12:28", + "announcer" : "SvenVanCaekenberghe 3/28/2011 22:04", + "debug:" : "SvenVanCaekenberghe 3/29/2011 09:50", + "disable" : "SvenVanCaekenberghe 10/4/2011 12:28", + "enable" : "SvenVanCaekenberghe 10/4/2011 12:28", + "enabled" : "SvenVanCaekenberghe 3/29/2011 09:29", + "enabled:" : "SvenVanCaekenberghe 3/29/2011 09:30", + "info:" : "SvenVanCaekenberghe 3/29/2011 09:50", + "initialize" : "SvenVanCaekenberghe 10/4/2011 12:28", + "removeListener:" : "SvenVanCaekenberghe 10/4/2011 12:28", + "transaction:" : "SvenVanCaekenberghe 3/29/2011 09:50" } } diff --git a/repository/Zinc-HTTP.package/ZnLogSupport.class/properties.json b/repository/Zinc-HTTP.package/ZnLogSupport.class/properties.json index aca289cf..96e36a8f 100644 --- a/repository/Zinc-HTTP.package/ZnLogSupport.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnLogSupport.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Logging", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 3/29/2011 11:39", @@ -13,5 +12,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnManagingMultiThreadedServer.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnManagingMultiThreadedServer.class/methodProperties.json new file mode 100644 index 00000000..b6e0894d --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnManagingMultiThreadedServer.class/methodProperties.json @@ -0,0 +1,10 @@ +{ + "class" : { + }, + "instance" : { + "closeConnections" : "SvenVanCaekenberghe 9/5/2011 14:14", + "closeSocketStream:" : "SvenVanCaekenberghe 9/5/2011 14:17", + "connections" : "SvenVanCaekenberghe 9/5/2011 14:14", + "lock" : "SvenVanCaekenberghe 9/5/2011 14:14", + "socketStreamOn:" : "SvenVanCaekenberghe 9/5/2011 14:17", + "stop" : "SvenVanCaekenberghe 9/5/2011 14:14" } } diff --git a/repository/Zinc-HTTP.package/ZnManagingMultiThreadedServer.class/properties.json b/repository/Zinc-HTTP.package/ZnManagingMultiThreadedServer.class/properties.json index 5ec19480..e7fd12be 100644 --- a/repository/Zinc-HTTP.package/ZnManagingMultiThreadedServer.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnManagingMultiThreadedServer.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Client-Server", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 4/7/2012 17:49", @@ -13,5 +12,4 @@ "pools" : [ ], "super" : "ZnMultiThreadedServer", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnMemoryLogger.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnMemoryLogger.class/methodProperties.json new file mode 100644 index 00000000..f0bc26bc --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnMemoryLogger.class/methodProperties.json @@ -0,0 +1,10 @@ +{ + "class" : { + }, + "instance" : { + "clear" : "SvenVanCaekenberghe 3/29/2011 11:06", + "event:" : "SvenVanCaekenberghe 3/29/2011 11:10", + "limit" : "SvenVanCaekenberghe 3/29/2011 11:06", + "limit:" : "SvenVanCaekenberghe 3/29/2011 11:06", + "logEvents" : "SvenVanCaekenberghe 3/29/2011 11:05", + "shrink" : "SvenVanCaekenberghe 3/29/2011 11:15" } } diff --git a/repository/Zinc-HTTP.package/ZnMemoryLogger.class/properties.json b/repository/Zinc-HTTP.package/ZnMemoryLogger.class/properties.json index abcf074c..b1c7593c 100644 --- a/repository/Zinc-HTTP.package/ZnMemoryLogger.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnMemoryLogger.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Logging", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 3/29/2011 09:52", @@ -13,5 +12,4 @@ "pools" : [ ], "super" : "ZnLogListener", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnMessage.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnMessage.class/methodProperties.json new file mode 100644 index 00000000..e22902c1 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnMessage.class/methodProperties.json @@ -0,0 +1,31 @@ +{ + "class" : { + "readBinaryFrom:" : "SvenVanCaekenberghe 4/7/2012 16:41", + "readFrom:" : "SvenVanCaekenberghe 9/21/2010 11:56", + "readHeaderFrom:" : "SvenVanCaekenberghe 9/21/2010 12:18", + "readStreamingFrom:" : "SvenVanCaekenberghe 9/21/2010 11:56" }, + "instance" : { + "clearEntity" : "SvenVanCaekenberghe 5/14/2012 10:37", + "contentLength" : "SvenVanCaekenberghe 9/21/2010 12:17", + "contentType" : "SvenVanCaekenberghe 9/21/2010 12:15", + "contents" : "SvenVanCaekenberghe 9/28/2010 13:03", + "cookies" : "SvenVanCaekenberghe 8/30/2011 22:05", + "entity" : "SvenVanCaekenberghe 9/6/2010 22:34", + "entity:" : "SvenVanCaekenberghe 9/19/2011 10:09", + "entityReaderOn:" : "SvenVanCaekenberghe 5/1/2011 19:02", + "hasEntity" : "SvenVanCaekenberghe 9/21/2010 12:02", + "hasHeaders" : "SvenVanCaekenberghe 12/4/2010 20:32", + "headers" : "SvenVanCaekenberghe 9/6/2010 22:34", + "headers:" : "SvenVanCaekenberghe 9/30/2010 19:53", + "headersDo:" : "SvenVanCaekenberghe 9/21/2010 12:04", + "isConnectionClose" : "SvenVanCaekenberghe 12/14/2010 14:51", + "isConnectionKeepAlive" : "SvenVanCaekenberghe 12/14/2010 14:51", + "readBinaryFrom:" : "SvenVanCaekenberghe 4/7/2012 16:42", + "readEntityFrom:" : "SvenVanCaekenberghe 6/28/2011 10:31", + "readFrom:" : "SvenVanCaekenberghe 6/28/2011 10:31", + "readHeaderFrom:" : "SvenVanCaekenberghe 9/21/2010 11:32", + "readStreamingFrom:" : "SvenVanCaekenberghe 9/27/2010 12:17", + "resetEntity:" : "SvenVanCaekenberghe 9/19/2011 10:26", + "setConnectionClose" : "SvenVanCaekenberghe 9/7/2010 22:32", + "setConnectionKeepAlive" : "SvenVanCaekenberghe 12/14/2010 13:58", + "writeOn:" : "SvenVanCaekenberghe 12/14/2010 11:34" } } diff --git a/repository/Zinc-HTTP.package/ZnMessage.class/properties.json b/repository/Zinc-HTTP.package/ZnMessage.class/properties.json index 8c22553f..b55d6f26 100644 --- a/repository/Zinc-HTTP.package/ZnMessage.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnMessage.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Core", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 12/6/2010 12:46", @@ -13,5 +12,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnMimePart.class/class/fieldName.fileNamed..st b/repository/Zinc-HTTP.package/ZnMimePart.class/class/fieldName.fileNamed..st index 47081291..2af78bf3 100644 --- a/repository/Zinc-HTTP.package/ZnMimePart.class/class/fieldName.fileNamed..st +++ b/repository/Zinc-HTTP.package/ZnMimePart.class/class/fieldName.fileNamed..st @@ -1,12 +1,12 @@ instance creation fieldName: fieldName fileNamed: fileName - | mimeType entry size fileStream entity | - mimeType := ZnMimeType forFilenameExtension: (FileDirectory extensionFor: fileName). - fileStream := FileDirectory root oldFileNamed: fileName. + | mimeType size fileStream entity baseName | + mimeType := ZnMimeType forFilenameExtension: (ZnFileSystemUtils extensionFor: fileName). + fileStream := ZnFileSystemUtils oldFileStreamFor: fileName. mimeType isBinary ifTrue: [ fileStream binary ]. - entry := FileDirectory root directoryEntryFor: fileName. - size := entry fileSize. + size := ZnFileSystemUtils fileSizeFor: fileName. (entity := ZnStreamingEntity type: mimeType length: size) stream: fileStream. - ^ self fieldName: fieldName fileName: entry name entity: entity + baseName := ZnFileSystemUtils baseNameFor: fileName. + ^ self fieldName: fieldName fileName: baseName entity: entity \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnMimePart.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnMimePart.class/methodProperties.json new file mode 100644 index 00000000..a9746612 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnMimePart.class/methodProperties.json @@ -0,0 +1,29 @@ +{ + "class" : { + "fieldName:entity:" : "SvenVanCaekenberghe 8/16/2011 23:28", + "fieldName:fileName:entity:" : "SvenVanCaekenberghe 1/31/2011 20:13", + "fieldName:fileNamed:" : "SvenVanCaekenberghe 7/2/2012 16:10", + "fieldName:value:" : "SvenVanCaekenberghe 1/29/2012 19:27", + "readFrom:" : "SvenVanCaekenberghe 9/30/2010 19:57" }, + "instance" : { + "contentDisposition" : "SvenVanCaekenberghe 10/3/2010 16:12", + "contentDispositionValues" : "SvenVanCaekenberghe 10/6/2010 09:30", + "contentLength" : "SvenVanCaekenberghe 9/30/2010 19:53", + "contentType" : "SvenVanCaekenberghe 9/30/2010 19:53", + "contents" : "SvenVanCaekenberghe 9/30/2010 19:53", + "detectContentDispositionValue:" : "SvenVanCaekenberghe 10/5/2010 17:01", + "entity" : "SvenVanCaekenberghe 9/30/2010 19:53", + "entity:" : "SvenVanCaekenberghe 9/19/2011 10:09", + "entityReaderOn:" : "SvenVanCaekenberghe 10/3/2010 16:10", + "fieldName" : "SvenVanCaekenberghe 10/5/2010 17:03", + "fieldValue" : "SvenVanCaekenberghe 10/4/2010 18:54", + "fieldValueString" : "SvenVanCaekenberghe 7/29/2011 14:17", + "fileName" : "SvenVanCaekenberghe 10/5/2010 17:01", + "hasEntity" : "SvenVanCaekenberghe 9/30/2010 19:53", + "hasHeaders" : "SvenVanCaekenberghe 12/4/2010 13:32", + "headers" : "SvenVanCaekenberghe 9/30/2010 19:53", + "headers:" : "SvenVanCaekenberghe 9/30/2010 19:53", + "headersDo:" : "SvenVanCaekenberghe 9/30/2010 19:53", + "readFrom:" : "SvenVanCaekenberghe 9/30/2010 19:54", + "setContentDisposition:" : "SvenVanCaekenberghe 10/4/2010 18:49", + "writeOn:" : "SvenVanCaekenberghe 9/30/2010 19:54" } } diff --git a/repository/Zinc-HTTP.package/ZnMimePart.class/properties.json b/repository/Zinc-HTTP.package/ZnMimePart.class/properties.json index 9c7cb008..02064971 100644 --- a/repository/Zinc-HTTP.package/ZnMimePart.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnMimePart.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Core", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 10/5/2010 19:20", @@ -13,5 +12,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnMimeType.class/class/applicationPdf.st b/repository/Zinc-HTTP.package/ZnMimeType.class/class/applicationPdf.st new file mode 100644 index 00000000..e313ef74 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnMimeType.class/class/applicationPdf.st @@ -0,0 +1,3 @@ +convenience +applicationPdf + ^ self predefinedInstanceAt: #applicationPdf \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnMimeType.class/class/initializeExtensionsMap.st b/repository/Zinc-HTTP.package/ZnMimeType.class/class/initializeExtensionsMap.st index 5a20bf2d..b6918733 100644 --- a/repository/Zinc-HTTP.package/ZnMimeType.class/class/initializeExtensionsMap.st +++ b/repository/Zinc-HTTP.package/ZnMimeType.class/class/initializeExtensionsMap.st @@ -14,4 +14,5 @@ initializeExtensionsMap at: 'js' put: self applicationJavascript; at: 'xml' put: self applicationXml; at: 'css' put: self textCss; + at: 'pdf' put: self applicationPdf; yourself \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnMimeType.class/class/initializeMimeTypes.st b/repository/Zinc-HTTP.package/ZnMimeType.class/class/initializeMimeTypes.st index 9870f050..5d995678 100644 --- a/repository/Zinc-HTTP.package/ZnMimeType.class/class/initializeMimeTypes.st +++ b/repository/Zinc-HTTP.package/ZnMimeType.class/class/initializeMimeTypes.st @@ -7,6 +7,7 @@ initializeMimeTypes at: #applicationJavascript put: (self main: 'application' sub: 'javascript'); at: #applicationJson put: (self main: 'application' sub: 'json'); at: #applicationXml put: (self main: 'application' sub: 'xml'); + at: #applicationPdf put: (self main: 'application' sub: 'pdf'); at: #applicationFormUrlEncoded put: (self main: 'application' sub: 'x-www-form-urlencoded'); at: #imageGif put: (self main: 'image' sub: 'gif'); at: #imageJpeg put: (self main: 'image' sub: 'jpeg'); diff --git a/repository/Zinc-HTTP.package/ZnMimeType.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnMimeType.class/methodProperties.json new file mode 100644 index 00000000..8dc7f1b3 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnMimeType.class/methodProperties.json @@ -0,0 +1,53 @@ +{ + "class" : { + "any" : "SvenVanCaekenberghe 12/6/2011 19:59", + "applicationFormUrlEncoded" : "SvenVanCaekenberghe 12/6/2011 19:59", + "applicationJavascript" : "SvenVanCaekenberghe 12/6/2011 19:59", + "applicationJson" : "SvenVanCaekenberghe 12/6/2011 19:59", + "applicationOctetStream" : "SvenVanCaekenberghe 12/6/2011 19:59", + "applicationPdf" : "SvenVanCaekenberghe 5/27/2012 18:42", + "applicationXml" : "SvenVanCaekenberghe 12/6/2011 20:00", + "default" : "SvenVanCaekenberghe 9/16/2010 15:48", + "forFilenameExtension:" : "SvenVanCaekenberghe 9/16/2010 20:29", + "fromString:" : "SvenVanCaekenberghe 1/8/2012 14:17", + "imageGif" : "SvenVanCaekenberghe 12/6/2011 20:00", + "imageJpeg" : "SvenVanCaekenberghe 12/6/2011 20:00", + "imagePng" : "SvenVanCaekenberghe 12/6/2011 20:00", + "initialize" : "SvenVanCaekenberghe 9/16/2010 20:27", + "initializeExtensionsMap" : "SvenVanCaekenberghe 5/27/2012 18:42", + "initializeMimeTypes" : "SvenVanCaekenberghe 5/27/2012 18:41", + "main:sub:" : "SvenVanCaekenberghe 8/18/2011 14:22", + "main:sub:parameters:" : "SvenVanCaekenberghe 8/18/2011 14:22", + "multiPartFormData" : "SvenVanCaekenberghe 12/6/2011 20:00", + "predefinedInstanceAt:" : "SvenVanCaekenberghe 12/6/2011 20:43", + "sharedInstanceAt:" : "SvenVanCaekenberghe 12/6/2011 19:58", + "text" : "SvenVanCaekenberghe 12/6/2011 20:00", + "textCss" : "SvenVanCaekenberghe 12/6/2011 20:00", + "textHtml" : "SvenVanCaekenberghe 12/6/2011 20:00", + "textJavascript" : "SvenVanCaekenberghe 12/6/2011 20:01", + "textPlain" : "SvenVanCaekenberghe 12/6/2011 20:01" }, + "instance" : { + "=" : "SvenVanCaekenberghe 8/18/2011 14:22", + "asZnMimeType" : "SvenVanCaekenberghe 1/4/2011 19:47", + "charSet" : "SvenVanCaekenberghe 8/18/2011 14:21", + "charSet:" : "SvenVanCaekenberghe 12/2/2010 11:24", + "clearCharSet" : "SvenVanCaekenberghe 3/6/2012 10:54", + "hash" : "SvenVanCaekenberghe 8/18/2011 14:22", + "isBinary" : "SvenVanCaekenberghe 8/18/2011 14:22", + "isCharSetUTF8" : "SvenVanCaekenberghe 12/2/2010 11:19", + "isNonStandard" : "SvenVanCaekenberghe 8/18/2011 14:22", + "isVendorSpecific" : "SvenVanCaekenberghe 8/18/2011 14:45", + "main" : "SvenVanCaekenberghe 9/7/2010 14:47", + "main:" : "SvenVanCaekenberghe 9/7/2010 14:47", + "matches:" : "SvenVanCaekenberghe 8/18/2011 14:21", + "parameterAt:" : "SvenVanCaekenberghe 3/6/2012 11:00", + "parameterAt:ifAbsent:" : "SvenVanCaekenberghe 3/6/2012 10:53", + "parameterAt:put:" : "SvenVanCaekenberghe 9/7/2010 14:50", + "parameters" : "SvenVanCaekenberghe 12/6/2011 20:40", + "parameters:" : "SvenVanCaekenberghe 9/7/2010 14:47", + "postCopy" : "SvenVanCaekenberghe 12/6/2011 20:41", + "printOn:" : "SvenVanCaekenberghe 9/11/2010 20:49", + "removeParameter:" : "SvenVanCaekenberghe 3/6/2012 10:53", + "setCharSetUTF8" : "SvenVanCaekenberghe 12/2/2010 11:20", + "sub" : "SvenVanCaekenberghe 9/7/2010 14:47", + "sub:" : "SvenVanCaekenberghe 9/7/2010 14:47" } } diff --git a/repository/Zinc-HTTP.package/ZnMimeType.class/properties.json b/repository/Zinc-HTTP.package/ZnMimeType.class/properties.json index da79e079..8cef134a 100644 --- a/repository/Zinc-HTTP.package/ZnMimeType.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnMimeType.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Support", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ "ExtensionsMap", "MimeTypes" ], @@ -15,5 +14,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnMissingHost.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnMissingHost.class/methodProperties.json new file mode 100644 index 00000000..0e4a6622 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnMissingHost.class/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + } } diff --git a/repository/Zinc-HTTP.package/ZnMissingHost.class/properties.json b/repository/Zinc-HTTP.package/ZnMissingHost.class/properties.json index a9c43120..e1848e68 100644 --- a/repository/Zinc-HTTP.package/ZnMissingHost.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnMissingHost.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Exceptions", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 8/11/2011 19:37", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "Error", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnMonticelloServerDelegate.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnMonticelloServerDelegate.class/methodProperties.json new file mode 100644 index 00000000..2588d95d --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnMonticelloServerDelegate.class/methodProperties.json @@ -0,0 +1,13 @@ +{ + "class" : { + }, + "instance" : { + "directory" : "SvenVanCaekenberghe 9/17/2010 10:20", + "directory:" : "SvenVanCaekenberghe 9/17/2010 10:20", + "handleGetMczEntry:" : "SvenVanCaekenberghe 1/4/2011 14:49", + "handleListMczEntries:" : "SvenVanCaekenberghe 8/18/2011 14:25", + "handlePutMczEntry:" : "SvenVanCaekenberghe 1/4/2011 14:49", + "handleRequest:" : "SvenVanCaekenberghe 1/4/2011 13:42", + "isValidMczName:" : "SvenVanCaekenberghe 9/17/2010 10:24", + "mczEntries" : "SvenVanCaekenberghe 9/17/2010 10:21", + "repositoryListing" : "SvenVanCaekenberghe 9/17/2010 11:00" } } diff --git a/repository/Zinc-HTTP.package/ZnMonticelloServerDelegate.class/properties.json b/repository/Zinc-HTTP.package/ZnMonticelloServerDelegate.class/properties.json index 94d1f9f9..e6920545 100644 --- a/repository/Zinc-HTTP.package/ZnMonticelloServerDelegate.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnMonticelloServerDelegate.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Client-Server", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnMultiPartFormDataEntity.class/instance/parse.boundary..st b/repository/Zinc-HTTP.package/ZnMultiPartFormDataEntity.class/instance/parse.boundary..st index 5b7cd47c..df3646bf 100644 --- a/repository/Zinc-HTTP.package/ZnMultiPartFormDataEntity.class/instance/parse.boundary..st +++ b/repository/Zinc-HTTP.package/ZnMultiPartFormDataEntity.class/instance/parse.boundary..st @@ -1,14 +1,15 @@ private parse: bytes boundary: boundary | next start fullBoundary | - fullBoundary := #(45 45) asByteArray , boundary. + fullBoundary := '--' asByteArray, boundary. start := fullBoundary size + 1. next := bytes indexOfSubCollection: fullBoundary startingAt: start ifAbsent: [ bytes size ]. - [ next < (bytes size - 2) ] whileTrue: [ - self addPart: (ZnMimePart readFrom: (bytes copyFrom: start + 2 to: next - 3) readStream). + [ next < (bytes size - 2) ] whileTrue: [ | partReadStream | + partReadStream := ReadStream on: bytes from: start + 2 to: next - 3. + self addPart: (ZnMimePart readFrom: partReadStream). start := next + fullBoundary size. next := bytes indexOfSubCollection: fullBoundary diff --git a/repository/Zinc-HTTP.package/ZnMultiPartFormDataEntity.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnMultiPartFormDataEntity.class/methodProperties.json new file mode 100644 index 00000000..ca921f08 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnMultiPartFormDataEntity.class/methodProperties.json @@ -0,0 +1,24 @@ +{ + "class" : { + "designatedMimeType" : "SvenVanCaekenberghe 9/11/2010 20:42" }, + "instance" : { + "addPart:" : "SvenVanCaekenberghe 1/27/2011 10:29", + "computeRepresentation" : "SvenVanCaekenberghe 10/4/2010 20:11", + "contentLength" : "SvenVanCaekenberghe 1/27/2011 17:11", + "contentType:" : "SvenVanCaekenberghe 1/4/2011 19:58", + "contents" : "SvenVanCaekenberghe 10/4/2010 19:14", + "generateBoundary" : "SvenVanCaekenberghe 1/31/2011 12:13", + "getBoundary" : "SvenVanCaekenberghe 10/5/2010 19:17", + "initialize" : "SvenVanCaekenberghe 10/5/2010 17:17", + "invalidateRepresentation" : "SvenVanCaekenberghe 10/4/2010 19:15", + "isEmpty" : "SvenVanCaekenberghe 12/4/2010 12:43", + "mimeTypeWithBoundary" : "SvenVanCaekenberghe 10/5/2010 17:19", + "parse:boundary:" : "SvenVanCaekenberghe 7/9/2012 16:03", + "partNamed:" : "SvenVanCaekenberghe 10/5/2010 19:12", + "partNamed:ifNone:" : "SvenVanCaekenberghe 10/5/2010 19:18", + "parts" : "SvenVanCaekenberghe 9/30/2010 20:07", + "partsDo:" : "SvenVanCaekenberghe 2/27/2011 20:13", + "printContentsOn:" : "SvenVanCaekenberghe 8/18/2011 14:34", + "readFrom:" : "SvenVanCaekenberghe 1/31/2012 13:33", + "writeOn:" : "SvenVanCaekenberghe 10/5/2010 20:28", + "writeRepresentationOn:" : "SvenVanCaekenberghe 10/5/2010 17:24" } } diff --git a/repository/Zinc-HTTP.package/ZnMultiPartFormDataEntity.class/properties.json b/repository/Zinc-HTTP.package/ZnMultiPartFormDataEntity.class/properties.json index 77dc9bc7..ab7c816e 100644 --- a/repository/Zinc-HTTP.package/ZnMultiPartFormDataEntity.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnMultiPartFormDataEntity.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Core", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 1/18/2011 11:04", @@ -13,5 +12,4 @@ "pools" : [ ], "super" : "ZnEntity", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnMultiThreadedServer.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnMultiThreadedServer.class/methodProperties.json new file mode 100644 index 00000000..867d319a --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnMultiThreadedServer.class/methodProperties.json @@ -0,0 +1,12 @@ +{ + "class" : { + }, + "instance" : { + "closeSocketStream:" : "SvenVanCaekenberghe 9/5/2011 14:15", + "exceptionSet:" : "SvenVanCaekenberghe 10/4/2011 09:46", + "executeRequestResponseLoopOn:" : "SvenVanCaekenberghe 9/4/2011 13:50", + "listenLoop" : "SvenVanCaekenberghe 12/10/2010 16:00", + "readRequestSafely:" : "SvenVanCaekenberghe 2/1/2012 09:00", + "serveConnectionsOn:" : "SvenVanCaekenberghe 9/4/2011 12:38", + "workerProcessName" : "SvenVanCaekenberghe 12/13/2010 16:33", + "writeResponseSafely:on:" : "SvenVanCaekenberghe 10/4/2011 09:41" } } diff --git a/repository/Zinc-HTTP.package/ZnMultiThreadedServer.class/properties.json b/repository/Zinc-HTTP.package/ZnMultiThreadedServer.class/properties.json index 611258f8..fa32a2e4 100644 --- a/repository/Zinc-HTTP.package/ZnMultiThreadedServer.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnMultiThreadedServer.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Client-Server", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 12/15/2010 15:39", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "ZnSingleThreadedServer", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnMultiValueDictionary.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnMultiValueDictionary.class/methodProperties.json new file mode 100644 index 00000000..ae398d27 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnMultiValueDictionary.class/methodProperties.json @@ -0,0 +1,11 @@ +{ + "class" : { + }, + "instance" : { + "add:" : "SvenVanCaekenberghe 1/2/2012 19:44", + "at:add:" : "SvenVanCaekenberghe 1/12/2011 11:19", + "at:put:" : "SvenVanCaekenberghe 1/2/2012 19:40", + "keysAndValuesDo:" : "SvenVanCaekenberghe 1/12/2011 11:10", + "limit" : "SvenVanCaekenberghe 1/2/2012 19:35", + "limit:" : "SvenVanCaekenberghe 1/2/2012 19:35", + "unlimited" : "SvenVanCaekenberghe 1/2/2012 19:36" } } diff --git a/repository/Zinc-HTTP.package/ZnMultiValueDictionary.class/properties.json b/repository/Zinc-HTTP.package/ZnMultiValueDictionary.class/properties.json index eaa4df12..444e3c8b 100644 --- a/repository/Zinc-HTTP.package/ZnMultiValueDictionary.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnMultiValueDictionary.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Support", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 1/2/2012 19:41", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "Dictionary", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnNetworkingUtils.class/instance/streamClassForScheme..st b/repository/Zinc-HTTP.package/ZnNetworkingUtils.class/instance/streamClassForScheme..st index a2fa624a..19796d04 100644 --- a/repository/Zinc-HTTP.package/ZnNetworkingUtils.class/instance/streamClassForScheme..st +++ b/repository/Zinc-HTTP.package/ZnNetworkingUtils.class/instance/streamClassForScheme..st @@ -1,8 +1,8 @@ private streamClassForScheme: scheme - scheme = #http ifTrue: [ + (#(http ws) includes: scheme) ifTrue: [ ^ self socketStreamClass ]. - scheme = #https ifTrue: [ + (#(https wss) includes: scheme) ifTrue: [ ^ self secureSocketStreamClass ifNil: [ self error: 'No secure socket stream class set or available' ] ]. (ZnUnknownScheme scheme: scheme) signal \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnNetworkingUtils.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnNetworkingUtils.class/methodProperties.json new file mode 100644 index 00000000..5b46368a --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnNetworkingUtils.class/methodProperties.json @@ -0,0 +1,41 @@ +{ + "class" : { + "default" : "SvenVanCaekenberghe 5/2/2011 22:08", + "default:" : "SvenVanCaekenberghe 5/2/2011 22:08", + "defaultSocketStreamTimeout" : "SvenVanCaekenberghe 6/18/2011 22:44", + "defaultSocketStreamTimeout:" : "SvenVanCaekenberghe 6/18/2011 22:45", + "initialize" : "SvenVanCaekenberghe 6/19/2011 16:37", + "ipAddressToString:" : "SvenVanCaekenberghe 1/7/2011 19:42", + "listenBacklogSize" : "SvenVanCaekenberghe 3/24/2011 08:05", + "proxyAuthorizationHeaderValueToUrl:" : "SvenVanCaekenberghe 6/16/2011 22:43", + "serverSocketOn:" : "SvenVanCaekenberghe 5/2/2011 22:40", + "serverSocketOn:interface:" : "SvenVanCaekenberghe 3/12/2012 19:22", + "shouldProxyUrl:" : "SvenVanCaekenberghe 6/16/2011 22:41", + "socketBufferSize" : "SvenVanCaekenberghe 3/24/2011 08:05", + "socketStreamOn:" : "SvenVanCaekenberghe 5/2/2011 22:40", + "socketStreamTimeout" : "SvenVanCaekenberghe 8/18/2011 22:19", + "socketStreamToUrl:" : "SvenVanCaekenberghe 5/2/2011 22:40" }, + "instance" : { + "httpProxyPassword" : "SvenVanCaekenberghe 6/16/2011 22:54", + "httpProxyPort" : "SvenVanCaekenberghe 6/16/2011 22:51", + "httpProxyServer" : "SvenVanCaekenberghe 6/16/2011 22:54", + "httpProxyUser" : "MarcoSchmidt 6/17/2011 15:25", + "initialize" : "SvenVanCaekenberghe 11/10/2011 13:43", + "isProxyAuthorizationRequired" : "SvenVanCaekenberghe 6/16/2011 22:55", + "isProxySet" : "SvenVanCaekenberghe 6/16/2011 22:55", + "proxyAuthorizationHeaderValueToUrl:" : "SvenVanCaekenberghe 6/16/2011 22:49", + "secureSocketStreamClass" : "SvenVanCaekenberghe 11/13/2011 21:45", + "secureSocketStreamClass:" : "SvenVanCaekenberghe 11/10/2011 13:43", + "serverSocketOn:" : "SvenVanCaekenberghe 5/2/2011 22:41", + "serverSocketOn:interface:" : "SvenVanCaekenberghe 3/12/2012 19:22", + "setServerSocketOptions:" : "SvenVanCaekenberghe 5/2/2011 22:41", + "setSocketStreamParameters:" : "SvenVanCaekenberghe 5/2/2011 22:42", + "shouldProxyUrl:" : "SvenVanCaekenberghe 6/16/2011 22:38", + "socketStreamClass" : "SvenVanCaekenberghe 11/10/2011 13:47", + "socketStreamClass:" : "SvenVanCaekenberghe 11/10/2011 13:15", + "socketStreamOn:" : "SvenVanCaekenberghe 11/10/2011 13:16", + "socketStreamToHostNamed:port:" : "SvenVanCaekenberghe 8/18/2011 14:41", + "socketStreamToProxy" : "SvenVanCaekenberghe 11/10/2011 13:30", + "socketStreamToUrl:" : "SvenVanCaekenberghe 8/11/2011 19:37", + "socketStreamToUrlDirectly:" : "SvenVanCaekenberghe 11/10/2011 13:30", + "streamClassForScheme:" : "SvenVanCaekenberghe 7/19/2012 16:09" } } diff --git a/repository/Zinc-HTTP.package/ZnNetworkingUtils.class/properties.json b/repository/Zinc-HTTP.package/ZnNetworkingUtils.class/properties.json index f20c275b..98a10e7c 100644 --- a/repository/Zinc-HTTP.package/ZnNetworkingUtils.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnNetworkingUtils.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Support", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ "Default", "DefaultSocketStreamTimeout" ], @@ -14,5 +13,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnNullEncoder.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnNullEncoder.class/methodProperties.json new file mode 100644 index 00000000..3521c186 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnNullEncoder.class/methodProperties.json @@ -0,0 +1,11 @@ +{ + "class" : { + "handlesEncoding:" : "SvenVanCaekenberghe 1/25/2011 11:11", + "newForEncoding:" : "SvenVanCaekenberghe 1/25/2011 11:19" }, + "instance" : { + "decodeBytes:" : "SvenVanCaekenberghe 5/3/2012 11:32", + "encodeString:" : "SvenVanCaekenberghe 5/3/2012 11:32", + "encodedByteCountFor:" : "SvenVanCaekenberghe 11/29/2010 21:17", + "encodedByteCountForString:" : "SvenVanCaekenberghe 5/3/2012 11:32", + "nextFromStream:" : "SvenVanCaekenberghe 1/4/2011 20:52", + "nextPut:toStream:" : "SvenVanCaekenberghe 1/25/2011 12:36" } } diff --git a/repository/Zinc-HTTP.package/ZnNullEncoder.class/properties.json b/repository/Zinc-HTTP.package/ZnNullEncoder.class/properties.json index 9d91184a..5f992dd0 100644 --- a/repository/Zinc-HTTP.package/ZnNullEncoder.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnNullEncoder.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Streaming", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 12/6/2010 12:53", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "ZnCharacterEncoder", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnParseError.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnParseError.class/methodProperties.json new file mode 100644 index 00000000..0e4a6622 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnParseError.class/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + } } diff --git a/repository/Zinc-HTTP.package/ZnParseError.class/properties.json b/repository/Zinc-HTTP.package/ZnParseError.class/properties.json index d26f0612..519df979 100644 --- a/repository/Zinc-HTTP.package/ZnParseError.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnParseError.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Exceptions", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 2/28/2011 14:13", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "Error", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnPercentEncodingWrong.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnPercentEncodingWrong.class/methodProperties.json new file mode 100644 index 00000000..6095658f --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnPercentEncodingWrong.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + "string:" : "SvenVanCaekenberghe 2/28/2011 15:50" }, + "instance" : { + "string" : "SvenVanCaekenberghe 2/28/2011 15:49", + "string:" : "SvenVanCaekenberghe 2/28/2011 15:49" } } diff --git a/repository/Zinc-HTTP.package/ZnPercentEncodingWrong.class/properties.json b/repository/Zinc-HTTP.package/ZnPercentEncodingWrong.class/properties.json index 43c6dad2..8aed506e 100644 --- a/repository/Zinc-HTTP.package/ZnPercentEncodingWrong.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnPercentEncodingWrong.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Exceptions", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 2/28/2011 15:50", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "ZnParseError", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnPortNotANumber.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnPortNotANumber.class/methodProperties.json new file mode 100644 index 00000000..4d423154 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnPortNotANumber.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + "port:" : "SvenVanCaekenberghe 2/28/2011 15:22" }, + "instance" : { + "port" : "SvenVanCaekenberghe 2/28/2011 15:22", + "port:" : "SvenVanCaekenberghe 2/28/2011 15:22" } } diff --git a/repository/Zinc-HTTP.package/ZnPortNotANumber.class/properties.json b/repository/Zinc-HTTP.package/ZnPortNotANumber.class/properties.json index 68ecc1fd..a4c27698 100644 --- a/repository/Zinc-HTTP.package/ZnPortNotANumber.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnPortNotANumber.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Exceptions", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 2/28/2011 15:23", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "ZnParseError", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnRequest.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnRequest.class/methodProperties.json new file mode 100644 index 00000000..5ba11e34 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnRequest.class/methodProperties.json @@ -0,0 +1,33 @@ +{ + "class" : { + "delete:" : "SvenVanCaekenberghe 9/21/2010 11:07", + "empty" : "SvenVanCaekenberghe 7/27/2011 14:57", + "get:" : "SvenVanCaekenberghe 9/21/2010 11:00", + "head:" : "SvenVanCaekenberghe 9/21/2010 11:07", + "method:url:" : "SvenVanCaekenberghe 1/4/2011 14:01", + "post:" : "SvenVanCaekenberghe 9/21/2010 11:08", + "put:" : "SvenVanCaekenberghe 9/21/2010 11:08" }, + "instance" : { + "accept" : "SvenVanCaekenberghe 8/17/2011 16:28", + "authorization" : "SvenVanCaekenberghe 2/23/2012 22:05", + "basicAuthentication" : "SvenVanCaekenberghe 2/23/2012 22:12", + "cookies" : "SvenVanCaekenberghe 8/30/2011 22:41", + "isHttp10" : "SvenVanCaekenberghe 12/14/2010 14:33", + "isHttp11" : "SvenVanCaekenberghe 12/14/2010 14:33", + "method" : "SvenVanCaekenberghe 9/8/2010 10:35", + "method:" : "SvenVanCaekenberghe 7/27/2011 14:45", + "printOn:" : "SvenVanCaekenberghe 12/14/2010 11:00", + "readHeaderFrom:" : "SvenVanCaekenberghe 9/21/2010 11:33", + "requestLine" : "SvenVanCaekenberghe 9/6/2010 21:06", + "requestLine:" : "SvenVanCaekenberghe 9/6/2010 21:06", + "setAccept:" : "SvenVanCaekenberghe 9/7/2010 20:00", + "setAcceptEncodingGzip" : "SvenVanCaekenberghe 9/27/2010 19:28", + "setAuthorization:" : "SvenVanCaekenberghe 2/23/2012 22:04", + "setBasicAuthenticationUsername:password:" : "SvenVanCaekenberghe 2/23/2012 22:05", + "setCookie:" : "SvenVanCaekenberghe 2/29/2012 19:49", + "setIfModifiedSince:" : "SvenVanCaekenberghe 6/28/2011 10:56", + "uri" : "SvenVanCaekenberghe 9/8/2010 10:36", + "url" : "SvenVanCaekenberghe 9/21/2010 21:48", + "url:" : "SvenVanCaekenberghe 7/27/2011 14:44", + "wantsConnectionClose" : "SvenVanCaekenberghe 12/14/2010 14:33", + "writeOn:" : "SvenVanCaekenberghe 12/14/2010 11:36" } } diff --git a/repository/Zinc-HTTP.package/ZnRequest.class/properties.json b/repository/Zinc-HTTP.package/ZnRequest.class/properties.json index cb1cb3c8..8f68ccde 100644 --- a/repository/Zinc-HTTP.package/ZnRequest.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnRequest.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Core", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 1/18/2011 10:58", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "ZnMessage", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnRequestLine.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnRequestLine.class/methodProperties.json new file mode 100644 index 00000000..20d2c299 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnRequestLine.class/methodProperties.json @@ -0,0 +1,19 @@ +{ + "class" : { + "empty" : "SvenVanCaekenberghe 7/27/2011 14:58", + "method:uri:" : "SvenVanCaekenberghe 9/6/2010 15:18", + "readFrom:" : "SvenVanCaekenberghe 9/6/2010 13:50" }, + "instance" : { + "isHttp10" : "SvenVanCaekenberghe 12/14/2010 14:30", + "isHttp11" : "SvenVanCaekenberghe 12/14/2010 14:31", + "method" : "SvenVanCaekenberghe 9/6/2010 13:45", + "method:" : "DamienPollet 8/4/2011 14:04", + "printMethodAndUriOn:" : "SvenVanCaekenberghe 8/18/2011 14:34", + "printOn:" : "SvenVanCaekenberghe 8/18/2011 14:34", + "readFrom:" : "SvenVanCaekenberghe 9/27/2010 19:25", + "uri" : "SvenVanCaekenberghe 9/6/2010 13:45", + "uri:" : "SvenVanCaekenberghe 2/28/2011 14:25", + "uriPathQueryFragment" : "SvenVanCaekenberghe 1/4/2011 13:56", + "version" : "SvenVanCaekenberghe 9/6/2010 13:45", + "version:" : "DamienPollet 8/4/2011 14:04", + "writeOn:" : "SvenVanCaekenberghe 6/16/2011 22:40" } } diff --git a/repository/Zinc-HTTP.package/ZnRequestLine.class/properties.json b/repository/Zinc-HTTP.package/ZnRequestLine.class/properties.json index b857f66a..332c8452 100644 --- a/repository/Zinc-HTTP.package/ZnRequestLine.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnRequestLine.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Core", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "", @@ -14,5 +13,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnResponse.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnResponse.class/methodProperties.json new file mode 100644 index 00000000..f0956b7d --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnResponse.class/methodProperties.json @@ -0,0 +1,37 @@ +{ + "class" : { + "badRequest:" : "NickAger 5/10/2011 09:00", + "created:" : "NickAger 5/10/2011 09:01", + "methodNotAllowed:" : "SvenVanCaekenberghe 8/18/2011 12:44", + "notFound:" : "NickAger 5/10/2011 08:59", + "notModified" : "PaulDeBruicker 5/12/2012 09:54", + "ok:" : "NickAger 5/10/2011 09:01", + "redirect:" : "NickAger 5/10/2011 09:01", + "serverError:" : "NickAger 5/10/2011 09:02", + "unauthorized" : "MattKennedy 9/30/2010 15:46", + "unauthorized:" : "NickAger 5/10/2011 09:03" }, + "instance" : { + "addCookie:" : "SvenVanCaekenberghe 8/30/2011 21:44", + "code" : "SvenVanCaekenberghe 9/16/2010 20:44", + "cookies" : "SvenVanCaekenberghe 8/30/2011 21:53", + "entityReaderOn:" : "SvenVanCaekenberghe 5/1/2011 19:02", + "isAuthenticationRequired" : "SvenVanCaekenberghe 1/12/2011 10:03", + "isCreated" : "SvenVanCaekenberghe 9/14/2011 14:43", + "isError" : "SvenVanCaekenberghe 4/20/2012 10:26", + "isInformational" : "SvenVanCaekenberghe 6/28/2011 10:28", + "isNoContent" : "SvenVanCaekenberghe 6/28/2011 10:27", + "isNotModified" : "SvenVanCaekenberghe 3/21/2011 10:45", + "isRedirect" : "SvenVanCaekenberghe 1/12/2011 10:03", + "isSuccess" : "SvenVanCaekenberghe 9/28/2010 12:38", + "location" : "SvenVanCaekenberghe 1/12/2011 13:31", + "printOn:" : "SvenVanCaekenberghe 12/14/2010 12:54", + "readEntityFrom:" : "SvenVanCaekenberghe 6/28/2011 10:36", + "readHeaderFrom:" : "SvenVanCaekenberghe 9/21/2010 11:34", + "setKeepAliveFor:" : "SvenVanCaekenberghe 12/14/2010 14:34", + "setLocation:" : "SvenVanCaekenberghe 9/17/2010 15:19", + "setWWWAuthenticate:" : "SvenVanCaekenberghe 9/17/2010 15:19", + "status" : "SvenVanCaekenberghe 9/7/2010 18:35", + "statusLine" : "SvenVanCaekenberghe 9/6/2010 22:36", + "statusLine:" : "SvenVanCaekenberghe 9/6/2010 22:36", + "writeOn:" : "SvenVanCaekenberghe 12/14/2010 11:36", + "wwwAuthenticate" : "SvenVanCaekenberghe 1/12/2011 13:28" } } diff --git a/repository/Zinc-HTTP.package/ZnResponse.class/properties.json b/repository/Zinc-HTTP.package/ZnResponse.class/properties.json index d743d489..211ab8a0 100644 --- a/repository/Zinc-HTTP.package/ZnResponse.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnResponse.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Core", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 1/18/2011 10:59", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "ZnMessage", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnServer.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnServer.class/methodProperties.json new file mode 100644 index 00000000..7d1ba51c --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnServer.class/methodProperties.json @@ -0,0 +1,30 @@ +{ + "class" : { + "default" : "SvenVanCaekenberghe 12/22/2011 11:27", + "defaultOn:" : "SvenVanCaekenberghe 12/22/2011 12:03", + "defaultServerClass" : "SvenVanCaekenberghe 3/4/2012 20:05", + "initialize" : "SvenVanCaekenberghe 6/19/2011 12:00", + "managedServers" : "SvenVanCaekenberghe 6/19/2011 12:17", + "on:" : "SvenVanCaekenberghe 12/22/2011 11:28", + "register:" : "SvenVanCaekenberghe 6/19/2011 12:17", + "shutDown" : "SvenVanCaekenberghe 12/22/2011 12:22", + "startDefaultOn:" : "SvenVanCaekenberghe 12/22/2011 12:04", + "startOn:" : "SvenVanCaekenberghe 12/22/2011 11:30", + "startUp" : "SvenVanCaekenberghe 6/19/2011 12:18", + "stopDefault" : "SvenVanCaekenberghe 12/22/2011 11:29", + "unregister:" : "SvenVanCaekenberghe 8/18/2011 14:10" }, + "instance" : { + "bindingAddress" : "SvenVanCaekenberghe 4/13/2012 13:13", + "bindingAddress:" : "SvenVanCaekenberghe 4/13/2012 13:15", + "isListening" : "SvenVanCaekenberghe 12/15/2010 21:22", + "isRunning" : "SvenVanCaekenberghe 12/15/2010 15:26", + "localUrl" : "SvenVanCaekenberghe 3/12/2012 20:34", + "port" : "SvenVanCaekenberghe 12/15/2010 15:25", + "port:" : "SvenVanCaekenberghe 12/15/2010 15:25", + "process" : "SvenVanCaekenberghe 12/15/2010 15:25", + "register" : "SvenVanCaekenberghe 6/19/2011 12:00", + "serverSocket" : "SvenVanCaekenberghe 12/15/2010 15:25", + "start" : "SvenVanCaekenberghe 12/15/2010 15:25", + "stop" : "SvenVanCaekenberghe 12/22/2011 12:19", + "stop:" : "SvenVanCaekenberghe 12/22/2011 12:19", + "unregister" : "SvenVanCaekenberghe 6/19/2011 12:00" } } diff --git a/repository/Zinc-HTTP.package/ZnServer.class/properties.json b/repository/Zinc-HTTP.package/ZnServer.class/properties.json index 80bed997..23c2ae0f 100644 --- a/repository/Zinc-HTTP.package/ZnServer.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnServer.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Client-Server", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ "ManagedServers" ], "commentStamp" : "SvenVanCaekenberghe 12/22/2011 12:01", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnSignalProgress.class/README.md b/repository/Zinc-HTTP.package/ZnSignalProgress.class/README.md new file mode 100644 index 00000000..81992520 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnSignalProgress.class/README.md @@ -0,0 +1,8 @@ +I am ZnSignalProgress. +I am a DynamicVariable and a ProcessSpecificVariable. + +I can be used to indicate that Zn related code down the call stack has to signal HTTPProgress, for example: + +ZnSignalProgress + value: true + during: [ ^ ZnClient new get: 'http://zn.stfx.eu/zn/small.html' ] \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnSignalProgress.class/class/enabled.st b/repository/Zinc-HTTP.package/ZnSignalProgress.class/class/enabled.st new file mode 100644 index 00000000..1a9b1258 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnSignalProgress.class/class/enabled.st @@ -0,0 +1,8 @@ +accessing +enabled + "Answer if HTTPProgress should be signalled. + The default is false." + + ^ self value + ifNil: [ false ] + ifNotNil: [ :value | value ] \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnSignalProgress.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnSignalProgress.class/methodProperties.json new file mode 100644 index 00000000..e0d51fbc --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnSignalProgress.class/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + "enabled" : "SvenVanCaekenberghe 7/12/2012 21:52" }, + "instance" : { + } } diff --git a/repository/Zinc-HTTP.package/ZnSignalProgress.class/properties.json b/repository/Zinc-HTTP.package/ZnSignalProgress.class/properties.json new file mode 100644 index 00000000..b23afe0c --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnSignalProgress.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Zinc-HTTP-Support", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "ZnSignalProgress", + "pools" : [ + ], + "super" : "DynamicVariable", + "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnSingleThreadedServer.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnSingleThreadedServer.class/methodProperties.json new file mode 100644 index 00000000..c195bcec --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnSingleThreadedServer.class/methodProperties.json @@ -0,0 +1,52 @@ +{ + "class" : { + "default" : "SvenVanCaekenberghe 12/22/2011 11:30", + "defaultOn:" : "SvenVanCaekenberghe 12/22/2011 11:59", + "initialize" : "SvenVanCaekenberghe 4/20/2011 12:12", + "on:" : "SvenVanCaekenberghe 12/22/2011 11:34", + "startDefaultOn:" : "SvenVanCaekenberghe 12/22/2011 12:04", + "startOn:" : "SvenVanCaekenberghe 12/22/2011 11:37", + "stopDefault" : "SvenVanCaekenberghe 12/22/2011 11:59" }, + "instance" : { + "acceptWaitTimeout" : "SvenVanCaekenberghe 3/30/2011 19:15", + "authenticateRequest:do:" : "SvenVanCaekenberghe 12/10/2010 13:58", + "authenticator" : "SvenVanCaekenberghe 12/10/2010 13:50", + "authenticator:" : "SvenVanCaekenberghe 12/10/2010 13:48", + "bindingAddress" : "SvenVanCaekenberghe 4/13/2012 13:12", + "bindingAddress:" : "SvenVanCaekenberghe 4/13/2012 13:15", + "closeDelegate" : "SvenVanCaekenberghe 9/27/2011 18:51", + "delegate" : "SvenVanCaekenberghe 12/10/2010 15:32", + "delegate:" : "SvenVanCaekenberghe 12/10/2010 13:48", + "executeOneRequestResponseOn:" : "SvenVanCaekenberghe 3/29/2011 13:05", + "handleRequest:" : "PaulDeBruicker 4/19/2012 16:29", + "initializeServerSocket" : "SvenVanCaekenberghe 3/12/2012 19:26", + "isListening" : "SvenVanCaekenberghe 12/15/2010 21:24", + "isRunning" : "SvenVanCaekenberghe 12/10/2010 13:57", + "lastRequest" : "SvenVanCaekenberghe 12/14/2010 14:13", + "lastResponse" : "SvenVanCaekenberghe 12/14/2010 14:13", + "listenLoop" : "SvenVanCaekenberghe 12/10/2010 16:00", + "log" : "SvenVanCaekenberghe 3/29/2011 13:02", + "logRequest:" : "SvenVanCaekenberghe 3/29/2011 13:00", + "logRequest:response:started:" : "SvenVanCaekenberghe 3/29/2011 13:51", + "logResponse:" : "SvenVanCaekenberghe 3/29/2011 13:00", + "logToStandardOutput" : "SvenVanCaekenberghe 3/4/2012 20:08", + "logToTranscript" : "SvenVanCaekenberghe 3/29/2011 15:40", + "noteAcceptWaitTimedOut" : "SvenVanCaekenberghe 3/30/2011 19:15", + "onRequestRespond:" : "SvenVanCaekenberghe 7/1/2011 14:07", + "periodicTasks" : "SvenVanCaekenberghe 3/30/2011 19:16", + "port" : "SvenVanCaekenberghe 12/10/2010 13:51", + "port:" : "SvenVanCaekenberghe 12/10/2010 13:53", + "printOn:" : "SvenVanCaekenberghe 4/13/2012 13:12", + "process" : "SvenVanCaekenberghe 12/10/2010 13:54", + "readRequest:" : "SvenVanCaekenberghe 4/7/2012 17:53", + "reader" : "SvenVanCaekenberghe 4/7/2012 17:52", + "reader:" : "SvenVanCaekenberghe 4/7/2012 17:53", + "releaseServerSocket" : "SvenVanCaekenberghe 4/20/2011 12:11", + "serveConnectionOn:" : "SvenVanCaekenberghe 11/10/2011 13:18", + "serverProcessName" : "SvenVanCaekenberghe 12/13/2010 16:42", + "serverSocket" : "SvenVanCaekenberghe 12/10/2010 13:54", + "socketStreamOn:" : "SvenVanCaekenberghe 11/10/2011 13:18", + "start" : "SvenVanCaekenberghe 12/22/2011 12:00", + "stop:" : "SvenVanCaekenberghe 12/22/2011 12:20", + "stopLogging" : "SvenVanCaekenberghe 10/4/2011 12:35", + "writeResponse:on:" : "SvenVanCaekenberghe 12/14/2010 14:37" } } diff --git a/repository/Zinc-HTTP.package/ZnSingleThreadedServer.class/properties.json b/repository/Zinc-HTTP.package/ZnSingleThreadedServer.class/properties.json index a3c2af59..03bf59eb 100644 --- a/repository/Zinc-HTTP.package/ZnSingleThreadedServer.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnSingleThreadedServer.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Client-Server", "classinstvars" : [ "Default" ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 12/15/2010 15:38", @@ -21,5 +20,4 @@ "pools" : [ ], "super" : "ZnServer", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnStandardOutputLogger.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnStandardOutputLogger.class/methodProperties.json new file mode 100644 index 00000000..f996f0ee --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnStandardOutputLogger.class/methodProperties.json @@ -0,0 +1,7 @@ +{ + "class" : { + }, + "instance" : { + "event:" : "SvenVanCaekenberghe 3/4/2012 20:03", + "initialize" : "SvenVanCaekenberghe 3/4/2012 20:02", + "stream" : "SvenVanCaekenberghe 3/4/2012 20:04" } } diff --git a/repository/Zinc-HTTP.package/ZnStandardOutputLogger.class/properties.json b/repository/Zinc-HTTP.package/ZnStandardOutputLogger.class/properties.json index e9188ba8..925f964d 100644 --- a/repository/Zinc-HTTP.package/ZnStandardOutputLogger.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnStandardOutputLogger.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Logging", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 3/4/2012 20:02", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "ZnLogListener", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnStatusLine.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnStatusLine.class/methodProperties.json new file mode 100644 index 00000000..3a5ab45a --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnStatusLine.class/methodProperties.json @@ -0,0 +1,29 @@ +{ + "class" : { + "badRequest" : "NickAger 5/10/2011 09:00", + "code:" : "SvenVanCaekenberghe 9/6/2010 15:48", + "created" : "NickAger 5/10/2011 09:05", + "forbidden" : "NickAger 5/10/2011 09:10", + "found" : "NickAger 5/10/2011 09:09", + "internalServerError" : "NickAger 5/10/2011 09:02", + "methodNotAllowed" : "NickAger 5/10/2011 09:09", + "movedPermanently" : "NickAger 5/10/2011 09:09", + "notFound" : "NickAger 5/10/2011 08:59", + "notImplemented" : "NickAger 5/10/2011 09:08", + "notModified" : "NickAger 5/10/2011 09:08", + "ok" : "NickAger 5/10/2011 08:58", + "readFrom:" : "SvenVanCaekenberghe 9/6/2010 15:47", + "redirect" : "NickAger 5/10/2011 09:07", + "seeOther" : "NickAger 5/10/2011 09:07", + "unauthorized" : "NickAger 5/10/2011 09:02" }, + "instance" : { + "code" : "SvenVanCaekenberghe 9/6/2010 15:49", + "code:" : "DamienPollet 8/4/2011 14:04", + "printCodeAndReasonOn:" : "SvenVanCaekenberghe 12/14/2010 10:57", + "printOn:" : "SvenVanCaekenberghe 8/18/2011 14:34", + "readFrom:" : "DamienPollet 8/4/2011 14:04", + "reason" : "SvenVanCaekenberghe 9/20/2010 17:27", + "reason:" : "SvenVanCaekenberghe 9/6/2010 16:29", + "version" : "SvenVanCaekenberghe 9/6/2010 15:46", + "version:" : "DamienPollet 8/4/2011 14:05", + "writeOn:" : "SvenVanCaekenberghe 12/3/2010 20:40" } } diff --git a/repository/Zinc-HTTP.package/ZnStatusLine.class/properties.json b/repository/Zinc-HTTP.package/ZnStatusLine.class/properties.json index ffa1e089..38d564a6 100644 --- a/repository/Zinc-HTTP.package/ZnStatusLine.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnStatusLine.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Core", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "", @@ -14,5 +13,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnStreamingEntity.class/instance/readFrom..st b/repository/Zinc-HTTP.package/ZnStreamingEntity.class/instance/readFrom..st index f39af439..81e12eb3 100644 --- a/repository/Zinc-HTTP.package/ZnStreamingEntity.class/instance/readFrom..st +++ b/repository/Zinc-HTTP.package/ZnStreamingEntity.class/instance/readFrom..st @@ -5,7 +5,4 @@ readFrom: readStream self stream: readStream ] ifFalse: [ | limitedStream | limitedStream := ZnLimitedReadStream on: readStream limit: self contentLength. - self contentType isBinary - ifTrue: [ limitedStream binary ] - ifFalse: [ limitedStream ascii ]. self stream: limitedStream ] \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnStreamingEntity.class/instance/writeOn..st b/repository/Zinc-HTTP.package/ZnStreamingEntity.class/instance/writeOn..st index 0eed3386..09d8842f 100644 --- a/repository/Zinc-HTTP.package/ZnStreamingEntity.class/instance/writeOn..st +++ b/repository/Zinc-HTTP.package/ZnStreamingEntity.class/instance/writeOn..st @@ -1,7 +1,13 @@ writing writeOn: outputStream - ZnUtils - streamFrom: self stream - to: outputStream - size: self contentLength. + (self contentLength isNil or: [ self contentLength = 0 ]) + ifTrue: [ + ZnUtils + streamFrom: self stream + to: outputStream ] + ifFalse: [ + ZnUtils + streamFrom: self stream + to: outputStream + size: self contentLength ]. stream close \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnStreamingEntity.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnStreamingEntity.class/methodProperties.json new file mode 100644 index 00000000..014d2323 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnStreamingEntity.class/methodProperties.json @@ -0,0 +1,14 @@ +{ + "class" : { + "designatedMimeType" : "SvenVanCaekenberghe 9/15/2010 19:23", + "readFrom:usingType:andLength:" : "SvenVanCaekenberghe 9/15/2010 17:13" }, + "instance" : { + "close" : "SvenVanCaekenberghe 8/18/2011 12:51", + "consumeContent" : "SvenVanCaekenberghe 9/15/2010 17:10", + "contents" : "SvenVanCaekenberghe 1/31/2012 12:59", + "isEmpty" : "SvenVanCaekenberghe 5/1/2011 18:25", + "readFrom:" : "SvenVanCaekenberghe 7/13/2012 20:27", + "readStream" : "SvenVanCaekenberghe 9/25/2010 22:14", + "stream" : "SvenVanCaekenberghe 9/15/2010 17:04", + "stream:" : "SvenVanCaekenberghe 9/15/2010 17:04", + "writeOn:" : "SvenVanCaekenberghe 7/20/2012 12:01" } } diff --git a/repository/Zinc-HTTP.package/ZnStreamingEntity.class/properties.json b/repository/Zinc-HTTP.package/ZnStreamingEntity.class/properties.json index 1f6bfa9b..caba1ae9 100644 --- a/repository/Zinc-HTTP.package/ZnStreamingEntity.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnStreamingEntity.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Core", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 8/18/2011 14:48", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "ZnEntity", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnStringEntity.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnStringEntity.class/methodProperties.json new file mode 100644 index 00000000..f9912a89 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnStringEntity.class/methodProperties.json @@ -0,0 +1,24 @@ +{ + "class" : { + "designatedMimeType" : "SvenVanCaekenberghe 12/1/2010 20:58", + "html:" : "SvenVanCaekenberghe 12/2/2010 12:22", + "text:" : "SvenVanCaekenberghe 12/2/2010 12:22", + "xml:" : "SvenVanCaekenberghe 12/11/2011 18:12" }, + "instance" : { + "computeContentLength" : "SvenVanCaekenberghe 5/2/2012 16:19", + "contentLength" : "SvenVanCaekenberghe 1/27/2011 10:26", + "contents" : "SvenVanCaekenberghe 12/1/2010 20:57", + "encoder" : "SvenVanCaekenberghe 12/14/2010 11:59", + "encoder:" : "SvenVanCaekenberghe 12/3/2010 15:11", + "hasEncoder" : "SvenVanCaekenberghe 12/14/2010 12:09", + "initializeEncoder" : "SvenVanCaekenberghe 1/25/2011 13:42", + "invalidateContentLength" : "SvenVanCaekenberghe 12/2/2010 12:20", + "isEmpty" : "SvenVanCaekenberghe 5/1/2011 17:54", + "printContentsOn:" : "SvenVanCaekenberghe 12/14/2010 11:20", + "readFrom:" : "SvenVanCaekenberghe 5/1/2011 13:03", + "readLimitedFrom:" : "SvenVanCaekenberghe 4/15/2012 19:04", + "readStream" : "SvenVanCaekenberghe 12/1/2010 20:57", + "readUpToEndFrom:" : "SvenVanCaekenberghe 1/31/2012 13:29", + "string" : "SvenVanCaekenberghe 12/1/2010 20:57", + "string:" : "SvenVanCaekenberghe 12/3/2010 15:11", + "writeOn:" : "SvenVanCaekenberghe 12/2/2010 13:09" } } diff --git a/repository/Zinc-HTTP.package/ZnStringEntity.class/properties.json b/repository/Zinc-HTTP.package/ZnStringEntity.class/properties.json index 995a4078..4ae5e3e4 100644 --- a/repository/Zinc-HTTP.package/ZnStringEntity.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnStringEntity.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Core", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 1/18/2011 11:05", @@ -13,5 +12,4 @@ "pools" : [ ], "super" : "ZnEntity", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnTooManyDictionaryEntries.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnTooManyDictionaryEntries.class/methodProperties.json new file mode 100644 index 00000000..eaaa860d --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnTooManyDictionaryEntries.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + "limit:" : "SvenVanCaekenberghe 1/2/2012 19:21" }, + "instance" : { + "limit" : "SvenVanCaekenberghe 1/2/2012 19:21", + "limit:" : "SvenVanCaekenberghe 1/2/2012 19:21" } } diff --git a/repository/Zinc-HTTP.package/ZnTooManyDictionaryEntries.class/properties.json b/repository/Zinc-HTTP.package/ZnTooManyDictionaryEntries.class/properties.json index 3a85e887..f5422d2a 100644 --- a/repository/Zinc-HTTP.package/ZnTooManyDictionaryEntries.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnTooManyDictionaryEntries.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Exceptions", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 1/2/2012 19:22", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "Error", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnTooManyRedirects.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnTooManyRedirects.class/methodProperties.json new file mode 100644 index 00000000..b05be70f --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnTooManyRedirects.class/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "isResumable" : "SvenVanCaekenberghe 1/3/2012 15:06" } } diff --git a/repository/Zinc-HTTP.package/ZnTooManyRedirects.class/properties.json b/repository/Zinc-HTTP.package/ZnTooManyRedirects.class/properties.json index 2f8bb434..80040353 100644 --- a/repository/Zinc-HTTP.package/ZnTooManyRedirects.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnTooManyRedirects.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Exceptions", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 9/19/2011 09:59", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "Error", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnTranscriptLogger.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnTranscriptLogger.class/methodProperties.json new file mode 100644 index 00000000..ac1e2a99 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnTranscriptLogger.class/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "event:" : "SvenVanCaekenberghe 3/29/2011 10:37" } } diff --git a/repository/Zinc-HTTP.package/ZnTranscriptLogger.class/properties.json b/repository/Zinc-HTTP.package/ZnTranscriptLogger.class/properties.json index afda8103..20a01c85 100644 --- a/repository/Zinc-HTTP.package/ZnTranscriptLogger.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnTranscriptLogger.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Logging", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 3/29/2011 09:38", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "ZnLogListener", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnUTF8Encoder.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnUTF8Encoder.class/methodProperties.json new file mode 100644 index 00000000..e42174df --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnUTF8Encoder.class/methodProperties.json @@ -0,0 +1,9 @@ +{ + "class" : { + "handlesEncoding:" : "SvenVanCaekenberghe 1/25/2011 11:11", + "newForEncoding:" : "SvenVanCaekenberghe 1/25/2011 11:19" }, + "instance" : { + "encodedByteCountFor:" : "SvenVanCaekenberghe 11/29/2010 21:23", + "maximumUTF8Code" : "SvenVanCaekenberghe 11/29/2010 21:19", + "nextFromStream:" : "SvenVanCaekenberghe 1/4/2011 20:52", + "nextPut:toStream:" : "SvenVanCaekenberghe 11/30/2010 13:19" } } diff --git a/repository/Zinc-HTTP.package/ZnUTF8Encoder.class/properties.json b/repository/Zinc-HTTP.package/ZnUTF8Encoder.class/properties.json index b82bab95..bfaafa8f 100644 --- a/repository/Zinc-HTTP.package/ZnUTF8Encoder.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnUTF8Encoder.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Streaming", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 12/6/2010 12:55", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "ZnCharacterEncoder", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnUnexpectedContentType.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnUnexpectedContentType.class/methodProperties.json new file mode 100644 index 00000000..1ba041c3 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnUnexpectedContentType.class/methodProperties.json @@ -0,0 +1,10 @@ +{ + "class" : { + "expected:actual:" : "SvenVanCaekenberghe 12/20/2011 12:48" }, + "instance" : { + "actualContentType" : "SvenVanCaekenberghe 12/20/2011 12:39", + "actualContentType:" : "SvenVanCaekenberghe 12/20/2011 12:39", + "expectedContentType" : "SvenVanCaekenberghe 12/20/2011 12:39", + "expectedContentType:" : "SvenVanCaekenberghe 12/20/2011 12:39", + "messageText" : "SvenVanCaekenberghe 12/20/2011 12:45", + "standardMessageText" : "SvenVanCaekenberghe 12/20/2011 12:43" } } diff --git a/repository/Zinc-HTTP.package/ZnUnexpectedContentType.class/properties.json b/repository/Zinc-HTTP.package/ZnUnexpectedContentType.class/properties.json index a1afde18..b771428f 100644 --- a/repository/Zinc-HTTP.package/ZnUnexpectedContentType.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnUnexpectedContentType.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Exceptions", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 12/20/2011 12:52", @@ -13,5 +12,4 @@ "pools" : [ ], "super" : "Error", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnUnknownHttpMethod.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnUnknownHttpMethod.class/methodProperties.json new file mode 100644 index 00000000..bb8a471c --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnUnknownHttpMethod.class/methodProperties.json @@ -0,0 +1,7 @@ +{ + "class" : { + "method:" : "SvenVanCaekenberghe 2/28/2011 14:34" }, + "instance" : { + "isResumable" : "SvenVanCaekenberghe 12/11/2011 18:09", + "method" : "SvenVanCaekenberghe 2/28/2011 14:33", + "method:" : "SvenVanCaekenberghe 2/28/2011 14:33" } } diff --git a/repository/Zinc-HTTP.package/ZnUnknownHttpMethod.class/properties.json b/repository/Zinc-HTTP.package/ZnUnknownHttpMethod.class/properties.json index 0a8d56f8..fdfb74c9 100644 --- a/repository/Zinc-HTTP.package/ZnUnknownHttpMethod.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnUnknownHttpMethod.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Exceptions", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 12/11/2011 18:09", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "ZnParseError", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnUnknownHttpStatusCode.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnUnknownHttpStatusCode.class/methodProperties.json new file mode 100644 index 00000000..6e393caa --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnUnknownHttpStatusCode.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + "code:" : "SvenVanCaekenberghe 2/28/2011 14:34" }, + "instance" : { + "code" : "SvenVanCaekenberghe 2/28/2011 14:33", + "code:" : "SvenVanCaekenberghe 2/28/2011 14:33" } } diff --git a/repository/Zinc-HTTP.package/ZnUnknownHttpStatusCode.class/properties.json b/repository/Zinc-HTTP.package/ZnUnknownHttpStatusCode.class/properties.json index e780c974..f702581a 100644 --- a/repository/Zinc-HTTP.package/ZnUnknownHttpStatusCode.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnUnknownHttpStatusCode.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Exceptions", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "DamienPollet 8/4/2011 14:07", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "ZnParseError", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnUnknownHttpVersion.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnUnknownHttpVersion.class/methodProperties.json new file mode 100644 index 00000000..cdeb6c61 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnUnknownHttpVersion.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + "version:" : "SvenVanCaekenberghe 2/28/2011 14:35" }, + "instance" : { + "version" : "SvenVanCaekenberghe 2/28/2011 14:33", + "version:" : "SvenVanCaekenberghe 2/28/2011 14:33" } } diff --git a/repository/Zinc-HTTP.package/ZnUnknownHttpVersion.class/properties.json b/repository/Zinc-HTTP.package/ZnUnknownHttpVersion.class/properties.json index 4eda4e71..1a719452 100644 --- a/repository/Zinc-HTTP.package/ZnUnknownHttpVersion.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnUnknownHttpVersion.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Exceptions", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "DamienPollet 8/4/2011 14:07", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "ZnParseError", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnUnknownScheme.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnUnknownScheme.class/methodProperties.json new file mode 100644 index 00000000..3ff7a517 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnUnknownScheme.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + "scheme:" : "SvenVanCaekenberghe 3/18/2011 13:17" }, + "instance" : { + "scheme" : "SvenVanCaekenberghe 3/18/2011 13:16", + "scheme:" : "SvenVanCaekenberghe 3/18/2011 13:16" } } diff --git a/repository/Zinc-HTTP.package/ZnUnknownScheme.class/properties.json b/repository/Zinc-HTTP.package/ZnUnknownScheme.class/properties.json index 4e4d1ac4..c2b96781 100644 --- a/repository/Zinc-HTTP.package/ZnUnknownScheme.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnUnknownScheme.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Exceptions", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "DamienPollet 8/4/2011 14:07", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "ZnParseError", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnUrl.class/class/defaultPortForScheme..st b/repository/Zinc-HTTP.package/ZnUrl.class/class/defaultPortForScheme..st index a086efb3..ea4d7b8d 100644 --- a/repository/Zinc-HTTP.package/ZnUrl.class/class/defaultPortForScheme..st +++ b/repository/Zinc-HTTP.package/ZnUrl.class/class/defaultPortForScheme..st @@ -1,5 +1,5 @@ accessing defaultPortForScheme: scheme - scheme = #http ifTrue: [ ^ 80 ]. - scheme = #https ifTrue: [ ^ 443 ]. + (#(http ws) includes: scheme) ifTrue: [ ^ 80 ]. + (#(https wss) includes: scheme) ifTrue: [ ^ 443 ]. (ZnUnknownScheme scheme: scheme) signal \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnUrl.class/instance/^and.st b/repository/Zinc-HTTP.package/ZnUrl.class/instance/^and.st new file mode 100644 index 00000000..56b1c38f --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnUrl.class/instance/^and.st @@ -0,0 +1,3 @@ +convenience +& association + ^ self withQuery: association \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnUrl.class/instance/^slash.st b/repository/Zinc-HTTP.package/ZnUrl.class/instance/^slash.st new file mode 100644 index 00000000..2b7047f2 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnUrl.class/instance/^slash.st @@ -0,0 +1,3 @@ +convenience +/ segment + ^ self withPathSegment: segment \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnUrl.class/instance/^wat.st b/repository/Zinc-HTTP.package/ZnUrl.class/instance/^wat.st new file mode 100644 index 00000000..09c6329c --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnUrl.class/instance/^wat.st @@ -0,0 +1,3 @@ +convenience +? association + ^ self withQuery: association \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnUrl.class/instance/addPathSegment..st b/repository/Zinc-HTTP.package/ZnUrl.class/instance/addPathSegment..st index de7172b5..213110fa 100644 --- a/repository/Zinc-HTTP.package/ZnUrl.class/instance/addPathSegment..st +++ b/repository/Zinc-HTTP.package/ZnUrl.class/instance/addPathSegment..st @@ -1,5 +1,7 @@ accessing-path addPathSegment: segment + "Modify the receiver's path by adding segment at the end" + segments isNil ifTrue: [ segments := OrderedCollection new ]. segments add: segment \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnUrl.class/instance/addPathSegments..st b/repository/Zinc-HTTP.package/ZnUrl.class/instance/addPathSegments..st index 3fb604b2..adc117bd 100644 --- a/repository/Zinc-HTTP.package/ZnUrl.class/instance/addPathSegments..st +++ b/repository/Zinc-HTTP.package/ZnUrl.class/instance/addPathSegments..st @@ -1,3 +1,5 @@ accessing-path addPathSegments: pathSegments + "Modify the receiver's path by adding the elements of pathSegments at the end" + pathSegments do: [ :each | self addPathSegment: each ] \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnUrl.class/instance/queryAt.add..st b/repository/Zinc-HTTP.package/ZnUrl.class/instance/queryAt.add..st index f22b3953..c6cd1d8d 100644 --- a/repository/Zinc-HTTP.package/ZnUrl.class/instance/queryAt.add..st +++ b/repository/Zinc-HTTP.package/ZnUrl.class/instance/queryAt.add..st @@ -1,5 +1,8 @@ accessing-query queryAt: key add: value + "Modify the receiver by adding a query variable key=value. + If key already exists, value is added to it." + query isNil ifTrue: [ query := ZnMultiValueDictionary new ]. query at: key add: value \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnUrl.class/instance/queryAt.put..st b/repository/Zinc-HTTP.package/ZnUrl.class/instance/queryAt.put..st index 21bcbcf4..712a2dfe 100644 --- a/repository/Zinc-HTTP.package/ZnUrl.class/instance/queryAt.put..st +++ b/repository/Zinc-HTTP.package/ZnUrl.class/instance/queryAt.put..st @@ -1,5 +1,8 @@ accessing-query queryAt: key put: value + "Modify the receiver by setting a query variable key=value. + If key is already exists, it is overwritten." + query isNil ifTrue: [ query := ZnMultiValueDictionary new ]. query at: key put: value \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnUrl.class/instance/scheme..st b/repository/Zinc-HTTP.package/ZnUrl.class/instance/scheme..st index b5ed1b74..428f6b9d 100644 --- a/repository/Zinc-HTTP.package/ZnUrl.class/instance/scheme..st +++ b/repository/Zinc-HTTP.package/ZnUrl.class/instance/scheme..st @@ -3,6 +3,6 @@ scheme: symbol symbol isNil ifTrue: [ scheme := nil ] ifFalse: [ - (#(http https) includes: symbol) + (#(http https ws wws) includes: symbol) ifTrue: [ scheme := symbol asSymbol ] ifFalse: [ (ZnUnknownScheme scheme: symbol) signal ] ] \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnUrl.class/instance/withPathSegment..st b/repository/Zinc-HTTP.package/ZnUrl.class/instance/withPathSegment..st new file mode 100644 index 00000000..2c9bec0d --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnUrl.class/instance/withPathSegment..st @@ -0,0 +1,7 @@ +convenience +withPathSegment: segment + "Return a new URL equal to the receiver with its path extended with segment" + + ^ self copy + addPathSegment: segment; + yourself \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnUrl.class/instance/withPathSegments..st b/repository/Zinc-HTTP.package/ZnUrl.class/instance/withPathSegments..st new file mode 100644 index 00000000..1938aace --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnUrl.class/instance/withPathSegments..st @@ -0,0 +1,7 @@ +convenience +withPathSegments: pathSegments + "Return a new URL equal to the receiver with its path extended with pathSegments" + + ^ self copy + addPathSegments: pathSegments; + yourself \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnUrl.class/instance/withQuery..st b/repository/Zinc-HTTP.package/ZnUrl.class/instance/withQuery..st new file mode 100644 index 00000000..8c4c9064 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnUrl.class/instance/withQuery..st @@ -0,0 +1,10 @@ +convenience +withQuery: association + "Return a new URL equal to the receiver with the association's + key=value added as a query parameter. + Note that #queryAt:add: is used." + + ^ self copy + queryAt: association key add: association value; + yourself + \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnUrl.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnUrl.class/methodProperties.json new file mode 100644 index 00000000..4887c646 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnUrl.class/methodProperties.json @@ -0,0 +1,84 @@ +{ + "class" : { + "defaultPortForScheme:" : "SvenVanCaekenberghe 7/19/2012 11:42", + "fromString:" : "SvenVanCaekenberghe 1/3/2011 19:35", + "fromString:defaultScheme:" : "SvenVanCaekenberghe 8/11/2011 14:47" }, + "instance" : { + "&" : "SvenVanCaekenberghe 7/9/2012 16:27", + "/" : "SvenVanCaekenberghe 7/9/2012 16:26", + "=" : "SvenVanCaekenberghe 1/4/2011 11:00", + "?" : "SvenVanCaekenberghe 7/9/2012 16:27", + "addPathSegment:" : "SvenVanCaekenberghe 7/9/2012 16:18", + "addPathSegments:" : "SvenVanCaekenberghe 7/9/2012 16:18", + "asZnUrl" : "SvenVanCaekenberghe 1/4/2011 11:24", + "asZnUrlWithDefaults" : "SvenVanCaekenberghe 8/11/2011 12:05", + "authority" : "SvenVanCaekenberghe 8/18/2011 21:01", + "authorityPrintString" : "SvenVanCaekenberghe 1/4/2011 12:59", + "closePath" : "SvenVanCaekenberghe 1/4/2011 11:56", + "directory" : "SvenVanCaekenberghe 1/3/2011 22:21", + "encode:on:" : "SvenVanCaekenberghe 1/3/2011 16:17", + "equals:" : "SvenVanCaekenberghe 1/4/2011 10:59", + "file" : "SvenVanCaekenberghe 1/3/2011 22:15", + "firstPathSegment" : "SvenVanCaekenberghe 1/4/2011 14:46", + "fragment" : "SvenVanCaekenberghe 1/3/2011 15:51", + "fragment:" : "SvenVanCaekenberghe 1/3/2011 15:51", + "hasFragment" : "SvenVanCaekenberghe 1/3/2011 15:48", + "hasHost" : "SvenVanCaekenberghe 1/3/2011 15:48", + "hasNonDefaultPort" : "SvenVanCaekenberghe 8/18/2011 21:01", + "hasPath" : "SvenVanCaekenberghe 1/4/2011 12:03", + "hasPort" : "SvenVanCaekenberghe 1/3/2011 15:48", + "hasQuery" : "SvenVanCaekenberghe 1/3/2011 15:47", + "hasScheme" : "SvenVanCaekenberghe 1/3/2011 15:48", + "hash" : "SvenVanCaekenberghe 1/4/2011 10:43", + "host" : "SvenVanCaekenberghe 1/3/2011 15:09", + "host:" : "SvenVanCaekenberghe 8/18/2011 14:41", + "inContextOf:" : "SvenVanCaekenberghe 10/4/2011 15:38", + "isAbsolute" : "SvenVanCaekenberghe 1/3/2011 15:55", + "isDirectory" : "SvenVanCaekenberghe 1/3/2011 15:57", + "isEmpty" : "SvenVanCaekenberghe 1/3/2011 20:06", + "isFile" : "SvenVanCaekenberghe 1/3/2011 15:56", + "isHttp" : "SvenVanCaekenberghe 1/4/2011 10:50", + "isHttps" : "SvenVanCaekenberghe 1/4/2011 10:50", + "isLocalHost" : "SvenVanCaekenberghe 5/13/2011 10:41", + "isRelative" : "SvenVanCaekenberghe 1/3/2011 15:55", + "isSlash" : "SvenVanCaekenberghe 1/4/2011 10:54", + "joinSegments:" : "SvenVanCaekenberghe 8/18/2011 14:11", + "lastPathSegment" : "SvenVanCaekenberghe 1/4/2011 14:51", + "parseAuthority:" : "SvenVanCaekenberghe 8/11/2011 15:08", + "parseFrom:" : "SvenVanCaekenberghe 8/11/2011 14:47", + "parseFrom:defaultScheme:" : "SvenVanCaekenberghe 8/11/2011 15:00", + "parsePath:" : "SvenVanCaekenberghe 2/28/2011 15:53", + "path" : "SvenVanCaekenberghe 1/3/2011 22:21", + "pathPrintString" : "SvenVanCaekenberghe 1/4/2011 11:16", + "pathQueryFragmentPrintString" : "SvenVanCaekenberghe 1/4/2011 11:17", + "pathSegments" : "SvenVanCaekenberghe 1/4/2011 14:51", + "port" : "SvenVanCaekenberghe 1/3/2011 15:09", + "port:" : "SvenVanCaekenberghe 1/3/2011 15:14", + "portOrDefault" : "SvenVanCaekenberghe 8/11/2011 14:37", + "postCopy" : "SvenVanCaekenberghe 4/26/2011 12:34", + "printAuthorityOn:" : "SvenVanCaekenberghe 1/4/2011 12:58", + "printOn:" : "SvenVanCaekenberghe 1/4/2011 15:10", + "printPathOn:" : "SvenVanCaekenberghe 4/17/2011 10:27", + "printPathQueryFragmentOn:" : "SvenVanCaekenberghe 8/18/2011 14:34", + "printQueryOn:" : "SvenVanCaekenberghe 1/12/2011 11:22", + "query" : "SvenVanCaekenberghe 1/3/2011 16:26", + "query:" : "SvenVanCaekenberghe 1/3/2011 20:15", + "queryAddAll:" : "SvenVanCaekenberghe 1/12/2011 11:26", + "queryAt:" : "SvenVanCaekenberghe 1/29/2012 19:29", + "queryAt:add:" : "SvenVanCaekenberghe 7/9/2012 16:20", + "queryAt:ifAbsent:" : "SvenVanCaekenberghe 1/3/2011 19:35", + "queryAt:put:" : "SvenVanCaekenberghe 7/9/2012 16:20", + "queryDo:" : "SvenVanCaekenberghe 1/31/2011 12:18", + "queryKeys" : "SvenVanCaekenberghe 12/13/2011 14:07", + "queryRemoveKey:" : "SvenVanCaekenberghe 8/18/2011 14:11", + "removeLastPathSegment" : "SvenVanCaekenberghe 1/4/2011 11:55", + "retrieveContents" : "SvenVanCaekenberghe 1/24/2012 11:46", + "scheme" : "SvenVanCaekenberghe 1/3/2011 15:09", + "scheme:" : "SvenVanCaekenberghe 7/19/2012 11:40", + "schemeOrDefault" : "SvenVanCaekenberghe 8/11/2011 11:05", + "segments" : "SvenVanCaekenberghe 1/4/2011 10:56", + "segments:" : "SvenVanCaekenberghe 1/4/2011 13:22", + "setDefaults" : "SvenVanCaekenberghe 8/11/2011 12:04", + "withPathSegment:" : "SvenVanCaekenberghe 7/9/2012 16:22", + "withPathSegments:" : "SvenVanCaekenberghe 7/9/2012 16:23", + "withQuery:" : "SvenVanCaekenberghe 7/9/2012 16:25" } } diff --git a/repository/Zinc-HTTP.package/ZnUrl.class/properties.json b/repository/Zinc-HTTP.package/ZnUrl.class/properties.json index 84c421e0..582b3d2c 100644 --- a/repository/Zinc-HTTP.package/ZnUrl.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnUrl.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Support", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 1/24/2012 11:48", @@ -17,5 +16,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnUserAgent.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnUserAgent.class/methodProperties.json new file mode 100644 index 00000000..161a76ee --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnUserAgent.class/methodProperties.json @@ -0,0 +1,41 @@ +{ + "class" : { + "new" : "SvenVanCaekenberghe 3/4/2012 10:32" }, + "instance" : { + "cookieAt:" : "SvenVanCaekenberghe 8/30/2011 22:00", + "defaultErrorHandler" : "SvenVanCaekenberghe 3/29/2011 14:47", + "delete:" : "SvenVanCaekenberghe 8/18/2011 14:24", + "delete:headers:" : "SvenVanCaekenberghe 8/18/2011 14:23", + "errorHandler" : "SvenVanCaekenberghe 8/18/2011 14:23", + "errorHandler:" : "MattKennedy 10/1/2010 13:45", + "get:" : "SvenVanCaekenberghe 8/18/2011 14:23", + "get:headers:" : "SvenVanCaekenberghe 8/18/2011 14:23", + "head:" : "SvenVanCaekenberghe 8/18/2011 14:23", + "head:headers:" : "SvenVanCaekenberghe 8/18/2011 14:23", + "log" : "SvenVanCaekenberghe 3/29/2011 14:41", + "logProgressToTranscript" : "SvenVanCaekenberghe 3/29/2011 14:41", + "logToTranscript" : "SvenVanCaekenberghe 3/29/2011 15:40", + "method:for:headers:data:" : "SvenVanCaekenberghe 8/18/2011 14:23", + "method:for:headers:data:limit:" : "SvenVanCaekenberghe 1/20/2011 21:10", + "openConnection" : "SvenVanCaekenberghe 1/20/2011 19:36", + "post:data:" : "SvenVanCaekenberghe 8/18/2011 14:23", + "post:headers:data:" : "SvenVanCaekenberghe 8/18/2011 14:23", + "prepareCredentials:for:method:" : "SvenVanCaekenberghe 8/18/2011 14:12", + "prepareData:" : "SvenVanCaekenberghe 1/12/2011 10:12", + "prepareHeaders:for:method:" : "SvenVanCaekenberghe 8/30/2011 22:00", + "prepareRedirect:" : "SvenVanCaekenberghe 8/31/2011 11:36", + "prepareRequest:method:headers:data:" : "SvenVanCaekenberghe 1/4/2011 14:21", + "processResponse:" : "SvenVanCaekenberghe 8/30/2011 22:00", + "put:data:" : "SvenVanCaekenberghe 8/18/2011 14:23", + "put:headers:data:" : "SvenVanCaekenberghe 8/18/2011 14:22", + "redirectUrl" : "SvenVanCaekenberghe 1/20/2011 21:12", + "request" : "MattKennedy 9/24/2010 17:24", + "request:" : "SvenVanCaekenberghe 1/12/2011 10:09", + "response" : "MattKennedy 9/24/2010 17:24", + "response:" : "SvenVanCaekenberghe 1/12/2011 10:09", + "sendRequest:" : "SvenVanCaekenberghe 3/29/2011 14:46", + "session" : "MattKennedy 9/28/2010 11:17", + "session:" : "SvenVanCaekenberghe 1/12/2011 10:10", + "settings" : "SvenVanCaekenberghe 8/18/2011 14:11", + "settings:" : "SvenVanCaekenberghe 1/12/2011 10:10", + "url" : "SvenVanCaekenberghe 1/12/2011 13:47" } } diff --git a/repository/Zinc-HTTP.package/ZnUserAgent.class/properties.json b/repository/Zinc-HTTP.package/ZnUserAgent.class/properties.json index 87a803da..b600bb97 100644 --- a/repository/Zinc-HTTP.package/ZnUserAgent.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnUserAgent.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Deprecated", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 10/4/2011 19:02", @@ -17,5 +16,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnUserAgentSession.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnUserAgentSession.class/methodProperties.json new file mode 100644 index 00000000..8589952d --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnUserAgentSession.class/methodProperties.json @@ -0,0 +1,14 @@ +{ + "class" : { + "withCookieJar:" : "SvenVanCaekenberghe 8/18/2011 14:24" }, + "instance" : { + "addCredential:" : "MattKennedy 9/28/2010 14:31", + "cookieJar" : "SvenVanCaekenberghe 8/30/2011 22:00", + "cookiejar:" : "MattKennedy 9/28/2010 10:50", + "credentialAt:forUrl:" : "SvenVanCaekenberghe 8/18/2011 14:24", + "credentials" : "SvenVanCaekenberghe 8/18/2011 14:14", + "credentials:" : "MattKennedy 9/28/2010 10:50", + "credentialsForUrl:" : "SvenVanCaekenberghe 8/18/2011 14:24", + "currentRealm" : "MattKennedy 9/28/2010 17:24", + "currentRealm:" : "MattKennedy 9/28/2010 17:24", + "resetCookies" : "SvenVanCaekenberghe 2/29/2012 17:40" } } diff --git a/repository/Zinc-HTTP.package/ZnUserAgentSession.class/properties.json b/repository/Zinc-HTTP.package/ZnUserAgentSession.class/properties.json index c0b1424d..7af13fdd 100644 --- a/repository/Zinc-HTTP.package/ZnUserAgentSession.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnUserAgentSession.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Support", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 12/6/2010 13:04", @@ -14,5 +13,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnUserAgentSettings.class/class/platformDetails.st b/repository/Zinc-HTTP.package/ZnUserAgentSettings.class/class/platformDetails.st index 052e8a45..d686c407 100644 --- a/repository/Zinc-HTTP.package/ZnUserAgentSettings.class/class/platformDetails.st +++ b/repository/Zinc-HTTP.package/ZnUserAgentSettings.class/class/platformDetails.st @@ -1,3 +1,3 @@ accessing platformDetails - ^ self platform platformName, ' ', self platform platformSubtype, ' ', self platform osVersion \ No newline at end of file + ^ self platform platformName, ' ', self platform platformSubtype \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnUserAgentSettings.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnUserAgentSettings.class/methodProperties.json new file mode 100644 index 00000000..2d789e01 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnUserAgentSettings.class/methodProperties.json @@ -0,0 +1,24 @@ +{ + "class" : { + "commentString" : "SvenVanCaekenberghe 8/18/2011 14:25", + "defaultCookieJar" : "SvenVanCaekenberghe 12/7/2010 00:00", + "defaultSessionClass" : "SvenVanCaekenberghe 8/18/2011 14:25", + "defaultSettingsClass" : "SvenVanCaekenberghe 1/4/2011 21:00", + "defaultUserAgentString" : "SvenVanCaekenberghe 8/18/2011 14:25", + "encryptionStrengthComment" : "SvenVanCaekenberghe 8/18/2011 14:25", + "localeComment" : "SvenVanCaekenberghe 8/18/2011 14:24", + "platform" : "SvenVanCaekenberghe 10/6/2010 09:32", + "platformDetails" : "SvenVanCaekenberghe 7/16/2012 11:47" }, + "instance" : { + "agent" : "SvenVanCaekenberghe 8/18/2011 14:15", + "agent:" : "SvenVanCaekenberghe 1/12/2011 13:38", + "followRedirect" : "SvenVanCaekenberghe 8/18/2011 14:15", + "followRedirect:" : "SvenVanCaekenberghe 1/12/2011 13:39", + "initialize" : "MattKennedy 9/26/2010 16:12", + "loadSession" : "SvenVanCaekenberghe 8/18/2011 14:24", + "redirectLimit" : "SvenVanCaekenberghe 8/18/2011 14:14", + "redirectLimit:" : "SvenVanCaekenberghe 1/12/2011 13:39", + "settings" : "SvenVanCaekenberghe 8/18/2011 14:14", + "settings:" : "MattKennedy 9/25/2010 21:30", + "timeout" : "SvenVanCaekenberghe 8/18/2011 14:15", + "timeout:" : "SvenVanCaekenberghe 1/12/2011 13:39" } } diff --git a/repository/Zinc-HTTP.package/ZnUserAgentSettings.class/properties.json b/repository/Zinc-HTTP.package/ZnUserAgentSettings.class/properties.json index cdea51a0..8270beea 100644 --- a/repository/Zinc-HTTP.package/ZnUserAgentSettings.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnUserAgentSettings.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Deprecated", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 12/6/2010 13:04", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnUtils.class/class/streamFrom.to..st b/repository/Zinc-HTTP.package/ZnUtils.class/class/streamFrom.to..st new file mode 100644 index 00000000..9f8caeec --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnUtils.class/class/streamFrom.to..st @@ -0,0 +1,19 @@ +streaming +streamFrom: inputStream to: outputStream + | buffer totalRead | + buffer := (inputStream isBinary ifTrue: [ ByteArray ] ifFalse: [ String ]) new: 16384. + totalRead := 0. + [ inputStream atEnd ] + whileFalse: [ | readCount | + readCount := inputStream readInto: buffer startingAt: 1 count: buffer size. + readCount > 0 + ifTrue: [ + totalRead := totalRead + readCount. + outputStream next: readCount putAll: buffer startingAt: 1 ]. + inputStream atEnd + ifFalse: [ + ZnSignalProgress enabled + ifTrue: [ + HTTPProgress new + signal: ('Tranferred {0} bytes ...' format: { totalRead asBytesDescription }) ]. + outputStream flush ] ] \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnUtils.class/class/streamFrom.to.size..st b/repository/Zinc-HTTP.package/ZnUtils.class/class/streamFrom.to.size..st index b39e704a..fd7a0cf2 100644 --- a/repository/Zinc-HTTP.package/ZnUtils.class/class/streamFrom.to.size..st +++ b/repository/Zinc-HTTP.package/ZnUtils.class/class/streamFrom.to.size..st @@ -10,4 +10,12 @@ streamFrom: inputStream to: outputStream size: totalSize inputStream next: readCount into: buffer. leftToRead := leftToRead - readCount. outputStream next: readCount putAll: buffer startingAt: 1. - leftToRead > 0 ifTrue: [ outputStream flush ] ] \ No newline at end of file + leftToRead > 0 + ifTrue: [ + ZnSignalProgress enabled + ifTrue: [ + HTTPProgress new + total: totalSize; + amount: (totalSize - leftToRead); + signal: 'Tranferring...' ]. + outputStream flush ] ] \ No newline at end of file diff --git a/repository/Zinc-HTTP.package/ZnUtils.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnUtils.class/methodProperties.json new file mode 100644 index 00000000..7bff3ddd --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnUtils.class/methodProperties.json @@ -0,0 +1,21 @@ +{ + "class" : { + "capitalizeString:" : "SvenVanCaekenberghe 9/10/2010 20:14", + "currentProcessID" : "SvenVanCaekenberghe 12/14/2010 13:10", + "decodeBase64:" : "SvenVanCaekenberghe 3/21/2011 20:11", + "decodePercent:" : "SvenVanCaekenberghe 2/28/2011 15:51", + "encodeBase64:" : "SvenVanCaekenberghe 4/26/2011 18:58", + "httpDate" : "SvenVanCaekenberghe 9/16/2010 15:52", + "httpDate:" : "SvenVanCaekenberghe 6/28/2011 10:55", + "isCapitalizedString:" : "SvenVanCaekenberghe 8/18/2011 14:15", + "nextPutAll:on:chunked:" : "SvenVanCaekenberghe 8/18/2011 14:15", + "parseHttpDate:" : "SeanDeNigris 5/10/2012 12:19", + "parseQueryFrom:" : "SvenVanCaekenberghe 2/28/2011 15:52", + "readUpToEnd:limit:" : "SvenVanCaekenberghe 1/31/2012 12:55", + "streamFrom:to:" : "SvenVanCaekenberghe 8/3/2012 22:37", + "streamFrom:to:size:" : "SvenVanCaekenberghe 7/12/2012 21:04", + "trimString:" : "SvenVanCaekenberghe 10/5/2010 21:24", + "writeQueryFields:on:" : "NorbertHartl 12/6/2011 17:34", + "writeQueryFields:withTextEncoding:on:" : "NorbertHartl 12/6/2011 17:34" }, + "instance" : { + } } diff --git a/repository/Zinc-HTTP.package/ZnUtils.class/properties.json b/repository/Zinc-HTTP.package/ZnUtils.class/properties.json index 31f45cde..697adf48 100644 --- a/repository/Zinc-HTTP.package/ZnUtils.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnUtils.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Support", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 1/18/2011 11:03", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/ZnValueDelegate.class/methodProperties.json b/repository/Zinc-HTTP.package/ZnValueDelegate.class/methodProperties.json new file mode 100644 index 00000000..ef8198f5 --- /dev/null +++ b/repository/Zinc-HTTP.package/ZnValueDelegate.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + "with:" : "SvenVanCaekenberghe 12/7/2010 16:15" }, + "instance" : { + "handleRequest:" : "SvenVanCaekenberghe 12/7/2010 16:16", + "object:" : "SvenVanCaekenberghe 12/7/2010 16:15" } } diff --git a/repository/Zinc-HTTP.package/ZnValueDelegate.class/properties.json b/repository/Zinc-HTTP.package/ZnValueDelegate.class/properties.json index fd2a58f8..ed2d2f8b 100644 --- a/repository/Zinc-HTTP.package/ZnValueDelegate.class/properties.json +++ b/repository/Zinc-HTTP.package/ZnValueDelegate.class/properties.json @@ -2,7 +2,6 @@ "category" : "Zinc-HTTP-Client-Server", "classinstvars" : [ ], - "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "SvenVanCaekenberghe 12/7/2010 16:14", @@ -12,5 +11,4 @@ "pools" : [ ], "super" : "Object", - "traitcomposition" : "{}", "type" : "normal" } diff --git a/repository/Zinc-HTTP.package/monticello.meta/categories.st b/repository/Zinc-HTTP.package/monticello.meta/categories.st index 45ff04a4..596d8372 100644 --- a/repository/Zinc-HTTP.package/monticello.meta/categories.st +++ b/repository/Zinc-HTTP.package/monticello.meta/categories.st @@ -5,3 +5,4 @@ SystemOrganization addCategory: #'Zinc-HTTP-Exceptions'! SystemOrganization addCategory: #'Zinc-HTTP-Logging'! SystemOrganization addCategory: #'Zinc-HTTP-Streaming'! SystemOrganization addCategory: #'Zinc-HTTP-Support'! +SystemOrganization addCategory: #'Zinc-HTTP-Support-Tests'! diff --git a/repository/Zinc-HTTP.package/monticello.meta/version b/repository/Zinc-HTTP.package/monticello.meta/version index 2152167c..cd6c4844 100644 --- a/repository/Zinc-HTTP.package/monticello.meta/version +++ b/repository/Zinc-HTTP.package/monticello.meta/version @@ -1 +1 @@ -(name 'Zinc-HTTP-SvenVanCaekenberghe.277' message 'simplified the example in the class comment of ZnDispatcherDelegate' id 'c4263c43-acf8-44b7-a3cb-6731e8d1a125' date '21 May 2012' time '10:02:55 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.276' message 'minor fix to ZnStaticFileServerDelegate' id '388a9cd6-b0b8-41ee-a24a-00aae254fa48' date '15 May 2012' time '1:15:34 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.275' message 'refactored ZnStaticFileServerDelegate a bit: - store expiration times as seconds in #defaultMimeTypeExpiration & #mimeTypeExpiration map - add not only Cache-Control but Expires header as well - removed unused #responseForFile: fixed a bug in ZnMessage>>#clearEntity (didn''t #close streaming entities with HEAD requests) ' id '94f2451b-b7e0-4d74-866b-d55b01c98ed9' date '14 May 2012' time '10:59:51 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-PaulDeBruicker.274' message 'Added handling for If-Modified-Since and Not-Modified headers to the ZnStaticFileServerDelegate' id '3f7f92c3-1ae8-4bd4-b4e2-5421cf49614a' date '12 May 2012' time '10:15:58.122 am' author 'PaulDeBruicker' ancestors ((name 'Zinc-HTTP-PaulDeBruicker.273' message 'Added the ability to set expiration headers when serving static files with the ZnStaticFileServerDelegate. Can probably adapt it to work when returning files from a WAFileLibrary if there isn''t already a mechanism for that. ' id '7684ed9a-80b2-47bb-a165-6e7ef40d555e' date '11 May 2012' time '3:26:02.487 pm' author 'PaulDeBruicker' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.272' message 'updated ZnServer welcome page' id '1511b44d-a8f8-4a66-9ab7-0c5d3b0ca955' date '11 May 2012' time '3:22:56 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.271' message 'added ZnClient>>setIfModifiedSince: refactored #downloadTo: using #downloadEntityTo:' id 'deabc112-7505-4072-9116-16200a9ea513' date '10 May 2012' time '10:46:26 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.270' message 'merged ZnUtils class>>#parseHttpDate: improvements by Sean DeNigris' id 'eec865bb-4103-4a28-9e55-5d3c471f26c7' date '10 May 2012' time '8:30:06 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SeanDeNigris.269' message 'Fix the HTTP date parsing to comply with the HTTP/1.1 standard. See discussion at http://forum.world.st/Parsing-HTTP-dates-td4623688.html. Matching update to the tests (which all pass): Zinc-Tests-SeanDeNigris.140' id 'c7d98308-0259-4d69-a273-0572a06d9d0f' date '10 May 2012' time '12:25:56.375 pm' author 'SeanDeNigris' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.268' message 'added ZnClient>>#uploadEntityFrom: and #contentType: as a convencience to easier do a direct PUT or POST of a file.' id 'e4dabff1-c4ef-4630-85d3-f00afbb516e7' date '9 May 2012' time '9:57:01 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.267' message 'first, not yet integrated versions of ZnCharacter[Read|Write]Stream; added iso-8859-15 to known encodings in ZnByteEncoder; added some optimizations to ZnNullEncoder' id 'e25c20c3-e14a-493d-88fa-7c9717455beb' date '3 May 2012' time '10:15:14 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.266' message 'added #match: and #contents to ZnChunkedReadStream and ZnLimitedReadStream; added some convenience methods to ZnCharacterEncoder: #encodeString: #decodeBytes: and #encodedByteCountForString:' id '72b9579d-c272-417f-8949-2e66714574ba' date '2 May 2012' time '4:43:52 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.265' message 'finalized switch from ZnClient>>#downloadToFileNamed: to ZnClient>>#downloadTo: which also accepts directories and creates a file there like wget or curl can (as suggested by Sean P. DeNigris). Roll back FileSystem usage for now.' id '618f4d2b-35ee-4c05-a495-e74b8a793399' date '26 April 2012' time '4:45:21 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.264' message 'fixed ZnClient>>#downloadTo: using old school FileDirectory/FileStream' id '4d6a0d40-0927-4b6b-9c98-a583922b58b2' date '26 April 2012' time '2:34:09 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.263' message 'added experimental ZnClient>>#downloadTo:' id '2d0dd4da-87a0-44d5-b4aa-410041e67897' date '26 April 2012' time '2:19:23 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.262' message 'added ZnClient>>#downloadToFileNamed: ' id '483455c8-f370-40e8-8848-036044211929' date '25 April 2012' time '9:19:35 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.261' message 'timezone offsets should be Durations' id '070fd646-c4ee-451c-94f4-bf67010ada05' date '23 April 2012' time '3:41:34 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.260' message 'updated ZnEasy comment' id 'af3c61c1-498c-430a-9136-ddaf1d5537fe' date '21 April 2012' time '11:13:54 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.259' message 'Zinc-HTTP-PaulDeBruicker.257' id '67dd4881-a30f-4051-b052-f07774efec8c' date '20 April 2012' time '10:27:51 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.258' message 'merging forgotten 255 & 256 into 257' id '0c026aa8-59d1-42db-a714-8079feca26d3' date '16 April 2012' time '6:25:41 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.257' message 'minor allocation improvement to ZnStringEntity>>#readLimitedFrom:' id 'bc3d146e-dca8-4245-be9c-25f3fb76c1cb' date '15 April 2012' time '7:23:24 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.254' message 'ZnBivalentWriteStream has to forward #flush to its wrapped stream' id '3b82b4f5-a0ed-44b4-bcd1-a5ec129d9d42' date '4 April 2012' time '4:08:44 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.253' message 'modified the implementation of ZnUtils class>>#streamFrom:to:size: to use a larger buffer when necessary and to flush the output stream each time through the loop except for the last one (this is need because we use SocketStream with autoflush false and this results in internal buffer overflow on very large writes).' id '183dc82c-6011-45b4-8a56-2c8415d381fe' date '4 April 2012' time '1:46:20 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.252' message 'changed ZnDefaultServerDelegate>>generateDWBench to use a date/time timestamp with a constant space representation ' id '94aee4dc-7124-485c-a70d-2d8f2831b35f' date '18 March 2012' time '7:23:19 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.251' message 'added ZnServer>>#localUrl ' id 'c56ae9d6-6fb1-481c-94fe-fc9ee8fa59b9' date '12 March 2012' time '10:23:47 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.250' message 'added the option to restrict ZnServers to only listen on a specific interface; added Zn[SingleThreaded]Server>>interface[:]; added ZnNetworkingUtils [class]>>#serverSocketOn:interface' id '5097d852-2887-45ca-9f2f-5dc50ffc95f4' date '12 March 2012' time '7:50:44 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.249' message 'added some extra API to ZnMimeType to manipulate parameters and charSets' id '209986ca-144b-46d7-8449-f34b0e9c1864' date '6 March 2012' time '11:10:35 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.248' message 'Switched ZnServer class>>#defaultServerClass to ZnManagingMultiThreadedServer; Add ZnStandardOutputLogger and ZnSingleThreadedServer>>#logToStandardOutput' id 'aaab5645-ed48-4174-bdb5-53037fb297db' date '4 March 2012' time '8:25:19 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.247' message 'changed usage of #deprecated: to #deprecated:on:in:' id '5ae403b7-a4cb-4ca9-a49a-0e71b6bd036a' date '4 March 2012' time '10:35:23 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.246' message 'extended ZnDefaultServerDelegate>>#generateStatus' id 'e1714401-1e45-4d67-97cd-7b735be277a2' date '1 March 2012' time '1:58:26 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.245' message 'fixed a bug related to sending multiple cookies; fixed a bug related to receiving and sending cookies during redirects; thank you Sean DeNigris; ZnClient>>#prepareRedirect now receives and sends cookies; ZnClient>>#sendCookies now uses a single Set-Cookie header containing multiple cookies instead of multiple Set-Cookie headers; added ZnClient>>#resetCookies; extended ZnClient logging with #debug printing of headers and processed cookies; minor changes to ZnClient internal state variable' id '35bf1aac-cf81-479a-8683-8ad057b7566a' date '29 February 2012' time '8:10:13 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.244' message 'refactored/extended ZnRequest with authorization and basic authentication access' id 'b2397b7f-ec54-4461-999d-90bfa1fd517a' date '23 February 2012' time '10:17:43 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-MarcusDenker.243' message 'Issue 5299: Yet another Zn update http://code.google.com/p/pharo/issues/detail?id=5299' id '583fa1ec-e230-4a83-8a67-12cb734c2bdb' date '17 February 2012' time '3:13 pm' author 'MarcusDenker' ancestors ((name 'Zinc-HTTP-StephaneDucasse.236' message '- Issue 5149: add line in comment of VirtualMachine class>>parameterAt:. ThanksLuc Fabresse and Mariano Martinez-Peck. http://code.google.com/p/pharo/issues/detail?id=5149 - Issue 5132: CommentReference SourcedMethodReference MethodReference are now deprecated http://code.google.com/p/pharo/issues/detail?id=5132 - Issue 2560: Convenient methods from Grease for Strings. Thanks Sven van Caekenberghe. Part one. http://code.google.com/p/pharo/issues/detail?id=2560' id 'f47fd8ea-3884-4572-9af9-d9f6eb4457c9' date '9 January 2012' time '5:23:41 pm' author 'StephaneDucasse' ancestors ((name 'Zinc-HTTP-StephaneDucasse.235' message '- Issue 5157: Finder > Class > right-click > Hierarchy opens not on Class but on FinderClassNode. Tx Benjamin van Ryseghem. http://code.google.com/p/pharo/issues/detail?id=5157 - Issue 5151: Recategorization of PanelMorph. Thanks Benjamin van Ryseghem. There is no useless cleans. Even small steps are cool and important. http://code.google.com/p/pharo/issues/detail?id=5151 - Issue 5154: It would be great to have a setting to allow the Debugger to open centered and be 3/4 of screen. Thanks Alain Plantec. http://code.google.com/p/pharo/issues/detail?id=5154 - Issue 5148: LimitNumberOfEntriesInZnMultiValueDictionary. Thanks Sven van Caekenberghe. http://code.google.com/p/pharo/issues/detail?id=5148 ' id 'c1c64007-e1ae-4347-b059-eb64071c1845' date '7 January 2012' time '7:13:20 pm' author 'StephaneDucasse' ancestors ((name 'Zinc-HTTP-ZincUpdate.234' message '- Issue 5127: Zinc update http://code.google.com/p/pharo/issues/detail?id=5127 - last bit of Issue 4688: progress bar disappears on image save http://code.google.com/p/pharo/issues/detail?id=4688' id '96fb41c6-6187-4572-82d5-88acaff58417' date '25 December 2011' time '11:01:50 pm' author 'ZincUpdate' ancestors ((name 'Zinc-HTTP-StephaneDucasse.233' message '- Issue 5117: MNU: Transcripter class>>open. Thanks vpnbecmann. http://code.google.com/p/pharo/issues/detail?id=5117 - Issue 5122: ZnUpdate-Dec-20. Thanks sven van caekenberghe. http://code.google.com/p/pharo/issues/detail?id=5120' id '49c87187-0e9e-41aa-a78d-f2eeba91da2f' date '25 December 2011' time '11:47:49 am' author 'StephaneDucasse' ancestors ((name 'Zinc-HTTP-MarcusDenker.227' message 'Issue 5063: Zinc uses default encoding of utf-8 when encoding url safe encoded strings http://code.google.com/p/pharo/issues/detail?id=5063' id '3a35f66b-1807-4525-be31-56999a7ec249' date '9 December 2011' time '1:17:57 pm' author 'MarcusDenker' ancestors ((name 'Zinc-HTTP-MarcusDenker.224' message 'Issue 5048: Move Transcript to Tools Package http://code.google.com/p/pharo/issues/detail?id=5048 Issue 5047: Stream should not print its contents in printOn: http://code.google.com/p/pharo/issues/detail?id=5047 Issue 5053: ZnChunkedReadStream doesNotUnderstand: #next:into: http://code.google.com/p/pharo/issues/detail?id=5053' id '545d1d37-4bce-4a96-a438-cc7ad16618f9' date '4 December 2011' time '1:38:23 pm' author 'MarcusDenker' ancestors ((name 'Zinc-HTTP-MarcusDenker.222' message 'Issue 4998: ContextPart>>#runUntilErrorOrReturnFrom: (for testing) http://code.google.com/p/pharo/issues/detail?id=4998 Issue 4994: Two failing test in ProcessTest http://code.google.com/p/pharo/issues/detail?id=4994 Issue 5014: zn updates http://code.google.com/p/pharo/issues/detail?id=5014' id '0eaf0a8a-f842-4a22-83d9-b1c65bf2b853' date '25 November 2011' time '4:03:18 pm' author 'MarcusDenker' ancestors ((name 'Zinc-HTTP-StephaneDucasse.221' message ' Issue 4903: New version of Zinc http://code.google.com/p/pharo/issues/detail?id=4903' id '37c68635-515f-43fb-8665-9d7674c0aee3' date '18 November 2011' time '3:18:42 pm' author 'StephaneDucasse' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.220' message 'added auto initialization of ZnNetworkingUtils>>#secureSocketStreamClass' id '147d6c42-b509-40e4-abb0-7c804d5df01d' date '13 November 2011' time '9:46:06 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.219' message 'reworked ZnNetworkingUtils to take over most if not all functionality of ZnZodiacNetworkingUtils so that HTTPS should work out of the box when Zodiac is loaded; small refactoring to ZnServer hierarchy: use #socketStreamOn: consistently' id 'f0eb7dbf-ae05-4daa-87da-84feb09ba23a' date '10 November 2011' time '2:09:21 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.218' message 'renamed ZnNeoClient -> ZnClient; added a better class comment' id '8c789ded-a882-4491-bdf9-e9ad45af69f2' date '8 November 2011' time '10:33:34 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.217' message 'renamed ZnClient -> ZnClientOld' id 'df12536b-7fa7-4e00-84eb-6de051894eb6' date '8 November 2011' time '10:14:35 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.216' message 'documented all public methods of ZnNeoClient; minor fixes: - #close sets state to nil - #contents return the stream when streaming - #headerAddAll: and #headerAt:add: now do a #resetRequestIfNeeded' id 'bfb5ff74-76f9-4689-a976-95ef34260531' date '8 November 2011' time '9:10:32 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.214' message 'moved deprecated classes to category Zinc-HTTP-Deprecated, noted deprecation in class comments' id '248c4eaf-ca0f-4584-99f4-d399438fd2ed' date '4 October 2011' time '7:11:17 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.213' message 'small fix to ZnUrl>>#inContextOf: (don''t take over the port when the scheme''s differ)' id '54792b4f-3ff6-479d-950f-91fb8052c960' date '4 October 2011' time '4:07:54 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.212' message 'deprecated instance creation (#new) of ZnFixedClient (and ZnExtendedFixedClient) and ZnUserAgent (and ZnHttpClient)' id '4fa83eba-2814-4b9c-8a71-5376eb1feaf5' date '4 October 2011' time '2:23:43 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.211' message 'added basic ZnNeoClient>>#signalProgress support' id '1f875569-9635-4039-bd9a-43b2ceb46400' date '4 October 2011' time '1:48:05 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.210' message 'added logging support to ZnNeoClient' id '6d7ff297-2967-413a-95d6-c0af0c0720d4' date '4 October 2011' time '12:53:36 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.209' message 'added some Pharo 1.2 compatibility (ZnMultiThreadedServer>>#exceptionSet:)' id 'b4d77e24-8821-4cac-b32d-f0f1412cf0f5' date '4 October 2011' time '9:57:30 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.208' message 'made ZnClient deprecations proceedable and added a test for this behavior' id '7990b131-582c-4c3b-8077-ef408ae802fb' date '3 October 2011' time '2:44:33 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.207' message 'added some logging to #closeDelegate' id '2900a3fc-3677-49d4-98c0-4b6b1ffe772b' date '27 September 2011' time '8:37:56 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.206' message 'added internal ZnNeoClient>>#resetRequestIfNeeded and ''state'' instance variable to try to properly reset after a first request is executed and a second one starts (the idea is to only keep using scheme/host/port and the connection)' id '9d23f62f-0d10-451a-ac95-ca8acd5b0780' date '23 September 2011' time '2:58:34 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.205' message 'modified ZnHeaders>>#contentLength to allow for the special case when there are multiple content-length headers, but only when they are identical; fixed some typos in ZnHTTPSocketFacade where some arguments where ignored (thx Olivier Auverlot for reporting this) ' id '135d43af-b715-45d4-bd28-85323f49999d' date '20 September 2011' time '1:58:59 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.204' message 'made ZnTooManyRedirects an Exception instead of an Error subclass so that it is resumable; fixed ZnNeoClient>>executeWithRedirectsRemaining: to allow for a resumed ZnTooManyRedirects exception' id '1183d199-1245-4e35-ac40-a0d52576deb3' date '19 September 2011' time '1:30:06 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.203' message 'added redirect support to ZnNeoClient (throws ZnTooManyRedirects when needed); reworked ZnEntity #entity: #resetEntity: to allow nil as argument (see ZnHeaders>>#acceptEntityDescription:) added #clearEntity as well' id '90d7081c-2bb7-4a94-b45c-58e28dadf242' date '19 September 2011' time '11:09:57 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.202' message 'added ZnNeoClient>>#setIfModifiedSince: and test' id 'f02072f8-e33a-429d-8e27-169372fbc7f6' date '17 September 2011' time '8:42:50 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.201' message 'added time limit to ZnNeoClient connection reuse; added ZnNeoClient>>#headerAddAll: and #queryAddAll:' id 'a5b92040-b404-4fca-951d-9d5253156cbb' date '17 September 2011' time '2:05:36 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.200' message 'added optional delegate #close-ing to ZnServer hierarchy' id '915cab3c-eddb-44f0-b38e-61a5e83185ff' date '16 September 2011' time '5:40:45 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.199' message 'patched ZnRequest>>#setBasicAuthenicationUsername:password: to allow nil arguments for clearing the Authorization header' id 'c8cce21a-86d4-4a8d-bd03-21ea97514ce1' date '16 September 2011' time '1:52:16 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.198' message 'introducing ZnEasy to take over the class side functionality of ZnClient; ZnClient class side protocol being deprecated' id '37a8ac41-bd8c-4d7d-9d8c-3ef5d0c2fc0a' date '15 September 2011' time '8:42:57 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.197' message 'Modifed ZnNeoClient>>#isContentTypeAcceptable to allways accept empty responses; Added ZnResponse>>#isCreated test' id 'efcd6b46-0332-4a34-8523-8470bcfa6764' date '14 September 2011' time '3:30:47 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.196' message 'added ZnUtils class>>#parseHttpDate: for use in ZnCookie>>#expiresTimeStamp' id '0f0b5286-c002-45f2-9ec6-9b21a7c8eb13' date '13 September 2011' time '11:51:12 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.195' message 'added extra guard to ZnLineReader>>#processNext for when #next returns nil' id 'cab4a65f-52f8-ce41-996c-a1c2a6b1bb95' date '12 September 2011' time '2:27:14 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.194' message 'added a nice example to ZnClient class>>#getPng: (Thx Lukas Renggli)' id 'f90ea18e-4d80-4d8d-aff1-ecb917f191ce' date '12 September 2011' time '9:32:07 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.193' message 'Changed ZnManagingMultiThreadedServer class comment' id '64e3aa90-0672-4f41-9093-6e5c97b16a79' date '6 September 2011' time '12:32:56 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.192' message 'pushed down the connection management functionality of ZnMultiThreadedServer to a new subclass called ZnManagingMultiThreadedServer' id '859098cb-28ff-453a-b8ec-dc41d10f7859' date '5 September 2011' time '2:24:54 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.191' message 'changed ZnMultiThreadServer''s lock and connections instance variable to be lazy initialized, removed the initialize code' id '9f394e71-7904-40bd-9551-03faf2f1be98' date '5 September 2011' time '12:06:45 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.190' message 'added a guard clause to ZnMultiThreadedServer>>#closeConnections so that nothing is done when there are no connections' id 'f7bdca17-3172-45cf-969d-531845cb9e35' date '5 September 2011' time '11:40:06 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.189' message 'Added some new internal functionality to ZnMultiThreadedServer: To keep track of all its open client connections (socket streams) (#socketStreamOn: and #closeSocketStream) so that they can all be force closed (#closeAllConnections) when the server stops (#stop). This is necessary because on image save the worker processes and socket streams are frozen and fail when they start up afterwards due to illegal socket handles. Note that #readRequestSafely: was extended and #writeResponseSafely:on: was introduced to handle several exceptions, most notably PrimitiveFailed, in the situation where a socket stream is force closed on a live process using that stream. This can be observed in #testTimeout. The timeouts on reading/writing socket streams take care of closing connections that are kept open too long. Maybe the server side timeouts should be even shorter to conserve resources. ' id 'b4f2d979-0097-4dc8-bde9-23edda15a3f9' date '4 September 2011' time '3:20:15 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.188' message 'some simplifications to ZnNeoClient removed some dead code from ZnUserAgent' id 'a81a6b6f-ad24-4c3f-aa91-120a404fa082' date '31 August 2011' time '10:06:26 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.187' message 'added basic cookie support to ZnNeoClient; refactored some cookie related code; ZnMessage subclasses ZnRequest and ZnResponse each implement #addCookie: and #cookies for different headers; removed ZnHeaders>>#cookies; replaced ZnCookie>>#asString with ZnCookie>>#nameValueString and ZnCookie>>#fullString; added ZnNeoClient>>#get: and friends as convenience protocol' id '13e276c0-e257-4004-ad61-2e2fc6b5d829' date '30 August 2011' time '10:53:17 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.186' message 'added contentReader/contentWriter options to ZnNeoClient to use in #contents and #contents: fixed general ZnNeoClient>>#execute result to be either #contents on success or the result of the #ifFailBlock on failure' id '09f5880c-8b8e-4de1-9cc2-0e3306c987a1' date '19 August 2011' time '5:27:35 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.185' message 'reimplemented ZnHTTPSocketFacade using ZnNeoClient' id 'c969791c-20ec-483d-b053-edc9c44c946b' date '19 August 2011' time '11:45:37 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.184' message 're-implemented ZnClient class side methods using ZnNeoClient; revised ZnConnectionTimeout handling to allow nesting/overriding by changing the default to nil (see ZnNeoClient>>#withTimeoutDo:); changed ZnUrl>>#authority to not return a default port; added basic authentication support to ZnNeoClient; added ZnNeoClient>>#entity[:]' id '2dea8f25-4226-476c-ad33-6108bad5183b' date '18 August 2011' time '11:11:28 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.183' message 'listening to the code critics (mostly formatting)' id 'a1062344-e54b-46b5-be1e-e12e39932a62' date '18 August 2011' time '2:50:08 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.182' message 'added empty ZnEntity>>#close added ZnStreamingEntity>>#close to close the underlying stream if any ZnMessage>>#resetEntity: now sends close to the enity being replaced if necessary added ZnResponse class>>#methodNotAllowed: ZnStaticFileServerDelegate now refuses not GET/HEAD requests ZnSingleThreadedServer>>#handleRequest: now does a #resetEntity: on HEAD requests implemented ZnNeoClient>>#head streamlined the responses of ZnNeoClient operations to return #contents, except for #head' id 'e9ce39cf-0dde-447a-af48-69d07048c9d1' date '18 August 2011' time '1:57:03 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.181' message 'added ZnMimeType wildcard constants #any and #text; added ZnHttpUnsuccessful and ZnUnexpectedContentType exceptions; extended ZnNeoClient with #ifFail:, #enforceHttpSuccess, #enforceAcceptContentType and retry behavior' id 'cfaa0963-4bb7-49d8-a3b1-f89527ee2bc2' date '17 August 2011' time '9:42:51 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.180' message 'added ZnMimePart class>>#fieldName:entity: and #fieldName:fileNamed: added ZnNeoClient timeout option, more url building api, support for applicationFormUrlEncoded and multiPartFormData encoded entities for post/put' id 'ea58662e-243e-4eff-ad90-7ac4ff58e9a3' date '17 August 2011' time '2:24:50 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.179' message 'added ZnUrl>>#inContextOf: extended ZnHeaders>>#request: to handle urls without a host added request url building to ZnNeoClient added oneShot option to ZnNeoClient' id '97d7e216-e0ff-4931-9dcf-498e2a938465' date '12 August 2011' time '1:52:04 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.178' message 'added code to throw a ZnMissingHost exception when a bogus ZnUrl is used to connect to a HTTP host' id '6b9c0a42-5a10-4b68-9c4c-efc33a7f52a4' date '11 August 2011' time '7:42:44 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.177' message 'added support for dealing with certain defaults in ZnUrl: - new ZnUrl class>>#fromString:defaultScheme: and ZnUrl>>#parseFrom:defaultScheme (while #readFrom: and #parseFrom: are still using nil as default scheme, like before) - new ZnUrl>>#asZnUrlWithDefaults (and private #setDefaults) - new ZnUrl>>#schemeOrDefault (along the lines of #portOrDefault) - improved support for parsing relative URLs' id '82463b1e-0ceb-494f-a9fd-ac7e043d1307' date '11 August 2011' time '3:29 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.176' message 'Merged Damien Pollet''s changes regarding the misspelling of ''Unknow[n]'' in exception class names (thx); First definition of ZnNeoClient; added support for better HTML Doc Types in some generated HTML pages of ZnDefaultServerDelegate' id '333bbc02-577c-44e3-9ef1-7489a5586f57' date '11 August 2011' time '10:33:51 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.175' message 'Changed ZnMimePart>>#fieldValueString to return an empty string instead of ''nil'' when the field is empty or absent (Thx Lukas Renggli)' id 'b95d0734-62d3-4de6-8a94-03816784d360' date '29 July 2011' time '2:23:01 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-MarcusDenker.172' message 'Issue 4326: Connection timeout problem http://code.google.com/p/pharo/issues/detail?id=4326 Issue 4417: Zinc does not honour network proxy configuration http://code.google.com/p/pharo/issues/detail?id=4417 Issue 4428: New mechanism for Zinc servers start/stop handling after system startUp/shutDown http://code.google.com/p/pharo/issues/detail?id=4428' id '190ce930-79bf-4a7e-b0fa-60d1fbaecfe0' date '21 June 2011' time '4:08:49 pm' author 'MarcusDenker' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.171' message 'removed some bogus class variable from ZnConnectionTimeout' id '11c76430-7cc0-4885-b4a0-709f3fbf4f57' date '20 June 2011' time '2:50:35 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.170' message 'fixed undeclared in ZnNetworkingUtils class>>#initialize (SocketStreamTimeout was renamed to DefaultSocketStreamTimeout)' id '15682e90-31ca-40e3-b26f-a4df4aab8814' date '19 June 2011' time '4:38:01 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.169' message 'implementation of a new mechanism for system #startUp/#shutDown handling by ZnServer(s): ZnServer holds a class variable ManagedServers, clients can #register/#unregister to receive #start/#stop when the system #startUp/#shutDown is sent; currently only the default server (of which there is only one instance per ZnServer subclass) is automatically registered/unregistered in #defaultOn: and #stopDefault, other instances must do this explicitely themselves ' id 'ebc443eb-7ce9-488c-92cb-05a67179c4f4' date '19 June 2011' time '2:21:38 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.168' message 'introduction of ZnConnectionTimeout which is used by ZnNetworkingUtils class>>#socketStreamTimeout and defaults to ZnNetworkingUtils class>>#defaultSocketStreamTimeout Now you can do ZnConnectionTimeout value: 60 seconds during: [ ZnClient get: ''http://slowhost.com/foo'' ]' id 'dbe15895-070d-4a2f-8d62-dd40c5ba028a' date '18 June 2011' time '11:12:18 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.167' message 'merged' id 'cb16cb7a-5fac-494d-ab2a-97d4261f04ae' date '17 June 2011' time '3:51:56 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.165' message 'modified #on: Error do: to #on: Exception do:' id 'ccb2d275-7dd3-44f4-ace4-12fc2217f9a3' date '17 June 2011' time '3:46:54 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.164' message 'implemented support for proxies that require authorization; ZnHeaders class>>#requestHeadersFor: will add a Proxy-Authorization header when needed; added public API ZnNetworkingUtils class>>#proxyAuthorizationHeaderValueToUrl: removed public API ZnNetworkingUtils class>>#httpProxy and #isProxySet; upgraded public API ZnNetworkingUtils class>>#shouldProxyUrl: to be a primary interface; refactored internals of ZnNetworkUtils to use NetworkSystemSettings directly instead of HTTPSocket; this code still has to be tested and validated with real world proxies ' id '90d57d3d-fc41-4548-a2fd-dcd7c22a3a1f' date '17 June 2011' time '9:16:22 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.163' message 'taking over a patch from Pharo (http://code.google.com/p/pharo/issues/detail?id=4326): adding SocketStreamTimeout as class variable to ZnNetworkingUtils to make this ''constant'' settable; the new default is now 30 seconds' id '3622d15d-b15a-4398-a9e6-0027e600a78a' date '9 June 2011' time '9:14:27 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.162' message 'extended ZnStringEntity>>#readUpToEndFrom: to deal with the weird SocketStream>>#atEnd issue by added an extra #peek; added ZnChunkedReadStream>>#peek; added chunk buffer reuse to ZnChunkedReadStream' id '0205b561-44a9-4434-b40b-976b5d9a65a6' date '19 May 2011' time '12:57:24 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.161' message 'a small change to improve Squeak compatibility' id '018ccd1d-2321-4dcb-b468-722a42b9d605' date '17 May 2011' time '9:34:03 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.160' message 'fixing support for HTTP proxies (thanks Alexandre Bergel for reporting this) requests to localhost are excluding from being proxied - ZnRequestLine>>#writeOn: now outputs absolute URLs when proxying - added ZnNetWorkingUtils class #isProxySet #shouldProxyUrl: and #httpProxy - added ZnUrl>>#isLocalHost - changed ZnUrl>>#host: to lowerCase its argument ' id '619a8697-4d71-4c1c-a99e-fe5e07f3dbb4' date '13 May 2011' time '11:07:48 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-NickAger.159' message 'minor refactoring to ZnDispatcherDelegate to use: ZnStatusLine ok rather than: ZnStatusLine code: 200 ' id 'e5ab93a6-b254-4ba2-bbd9-41ecf500f584' date '10 May 2011' time '3:53:33 pm' author 'NickAger' ancestors ((name 'Zinc-HTTP-NickAger.158' message 'refactored cookie support: ZnResponse>>#setCookie: has been renamed to ZnResponse>>#addCookie: ZnResponse>>#setCookies: has been removed ZnHeaders>>#cookies now returns a dictionary rather than a ZnCookieJar ZnCookieJar>>#cookieAt: a helper method I added, I''ve removed. The tests have been updated as required.' id '75f5dd45-9dcf-4491-a28c-4f8cbe8e784a' date '10 May 2011' time '11:39:41 am' author 'NickAger' ancestors ((name 'Zinc-HTTP-NickAger.157' message 'added ZnStatusLine creation constants and refactored ZnResponse to use the constants' id '3fa86243-d119-4ab5-b87d-3c8622aa9257' date '10 May 2011' time '9:13:37 am' author 'NickAger' ancestors ((name 'Zinc-HTTP-NickAger.156' message 'created ZnResponse>>#setCookie: and refactored ZnResponse>>#setCookies: to use #setCookie:' id 'ac85f148-5de7-4b04-8a81-d8e7222e1f78' date '10 May 2011' time '8:37:25 am' author 'NickAger' ancestors ((name 'Zinc-HTTP-NickAger.155' message 'added: Request cookie accessor Response cookie setter' id '41a8f7a2-dbda-45bd-a831-03b7c0d6ca37' date '10 May 2011' time '2:52:47 am' author 'NickAger' ancestors ((name 'Zinc-HTTP-NickAger.154' message 'added ZnDispatcherDelegate for straight-forward dispatching to mapped urls. Modelled after Ruby''s WEBrick API: server = WEBrick::HTTPServer.new(:Port => 2000) server.mount_proc("/heresy"){|req, res| Application.new.handle(req, res)} server.mount_proc("/favicon.ico"){|req,res| res.status = 404} ZnDispatcherDelegate API: server := (ZnServer startDefaultOn: 9090) delegate: (ZnDispatcherDelegate new map: ''/hello'' to: [ :request :response | response entity: (ZnStringEntity html: ''

hello server

'') ]; map: ''/counter'' to: [ :request :response | counterApplication handleRequest: request response: response ]).' id '87d63347-b4ab-4c50-86a4-8d7d89d24e32' date '9 May 2011' time '9:44:58 pm' author 'NickAger' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.153' message 'made ZnNetworkingUtils>>#socketStreamToHostNamed:port: private' id '44a98753-fe58-40bc-8a88-5887c0872212' date '9 May 2011' time '1:32:56 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.152' message 'extended ZnFixedClient with a scheme instance variable, adjusted the instance creation protocol, added a #baseUrl accessor for use in #newConnection; added ZnUrl class>>#defaultPortForScheme:; removed ZnNetworkingUtils class>>#socketStreamToHostNamed: to simplify the socket [stream] factory API' id '69fc77af-dddd-44c5-9119-11f9db4f85db' date '9 May 2011' time '10:23:58 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.151' message 'conversion of ZnNetworkingUtils into an instance socket[stream] factory and a class side API' id '6c95ba6b-65ec-47cb-b6dc-284fd95f3832' date '2 May 2011' time '10:46:36 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.150' message 'fixing a problem where responses without an explicit content-length but with an entity where not read as they should (thanks Esteban Lorenzano & Andy Burnett for reporting this): - ZnResponse>>#entityReaderOn: now extends the super entityReader with the #allowReadingUpToEnd option - ZnEntityReader>>#entityReader now swallows entities when they are #isEmpty (making them nil) - ZnStringEntity>>#readFrom: is split between #readLimitedFrom: and #readUpToEndFrom: where the last method has extra error handling to swallow ConnectionClosed exceptions (similar to what SocketStream>>#upToEnd does) - the ZnEntity hierarchy now implements #isEmpty' id '8fe0b470-7728-454d-bc90-fa42d8330817' date '1 May 2011' time '7:19:13 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.149' message 'rewrote ZnHTTPSocketFacade class>>#entendURL:withArguments: to be compatible with HTTPSocket class>>#argString: (Thanks Esteban Lorenzano)' id '3a49e678-fa7b-4c30-bdc6-0944c7637e7f' date '30 April 2011' time '8:55:03 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.148' message 'extended ZnDefaultServerDelegate with a configurable response to / (in the prefixMap the key ''/'' maps to another key that is used instead as prefix for another lookup)' id '309679c5-4d24-4741-b067-2adc9cc8f6c6' date '28 April 2011' time '10:27:32 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.147' message 'changed ZnServer class>>#initialize not to do a Smalltalk #addToStartUpList:after: but just use the plain #addToStartUpList: (we only depend on networking and multi-processing but those will probably be OK)' id 'b2b69990-95ff-40bc-9ff0-6cb11dc96a24' date '27 April 2011' time '7:42:51 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.146' message 'skipping over lost version: .145 fixed ZnUtils class>>#encodeBase64: to test whether Base64MimeConverter responds to #mimeEncode:multiLine:, fall back to #mimeEncode: and manually remove Character cr occurences; this should fix Pharo 1.1.1 compatibility (Thanks Esteban Lorenzano for reporting this) .144 added option to extend ZnDefaultServerDelegate''s prefixMap with block (taking request as argument, returning response); changed default welcome text to include reference to /help .143 added ZnUrl>>#postCopy; refactored ZnStaticFileServerDelegate and added the option to redirect for directories without an ending slash ' id '57e6d630-1045-413b-8938-1259024175f9' date '27 April 2011' time '4:22:32 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.145' message 'fixed ZnUtils class>>#encodeBase64: to test whether Base64MimeConverter responds to #mimeEncode:multiLine:, fall back to #mimeEncode: and manually remove Character cr occurences; this should fix Pharo 1.1.1 compatibility (Thanks Esteban Lorenzano for reporting this) ' id 'f9f0831d-5ffa-4a5c-a8ec-b276c9babc35' date '26 April 2011' time '7:01:32 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.144' message 'added option to extend ZnDefaultServerDelegate''s prefixMap with block (taking request as argument, returning response); changed default welcome text to include reference to /help' id '439b923a-997e-4f51-9b7d-90896f8dd97f' date '26 April 2011' time '1:44:01 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.143' message 'added ZnUrl>>#postCopy; refactored ZnStaticFileServerDelegate and added the option to redirect for directories without an ending slash' id '08a56e5b-3270-4231-9568-4e5beffb58ae' date '26 April 2011' time '1:24:30 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.142' message 'listening to the Code Critics' id 'c78b1867-b800-4b03-805a-004df5aa7556' date '20 April 2011' time '12:47:01 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.141' message 'small fix to ZnUrl>>#printPathOn: to deal with cases where forward slashes are encoded in URLs (Thanks, Jan van de Sandt for pointing this out); added ZnUrlTests>>#testEncodedSlash to cover these cases' id '88ca6bf6-ce11-447f-8a1d-be9c67e7db71' date '17 April 2011' time '10:33:32 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-PaulDeBruicker.140' message 'changed ByteArray declarations in ZnConstants>>#faviconBytes and ZnMultiPartFormDataEntity>>#parse:boundary: from square brackes to #() asByteArray so that the code loads with no problems into Pharo and Gemstone' id '9ac457ad-7824-4c0c-8d5d-e7ebe36f0280' date '10 April 2011' time '12:03:38 pm' author 'PaulDeBruicker' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.139' message 'added ZnDefaultServerDelegate /help & /status; updated framework version from 0.1 to 1.0 ;-)' id 'f960a4c5-2462-4cfb-81a9-9ee740d2e294' date '31 March 2011' time '10:17:16 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.138' message 'increased ZnSingleThreadedServer>>#acceptWaitTimeout from 60 to 300 seconds; added some infrastructure to use this looping for future periodic tasks' id '5ba796b1-d698-4595-8a48-1500029cc52e' date '30 March 2011' time '9:25:46 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.137' message 'added new logging framework in Zinc-HTTP-Logging, consisting of ZnLogEvent (an Announcment), ZnLogSupport and ZnLogListener and subclasses ZnTranscriptLogger, ZnMemoryLogger and ZnFileLogger; now using the new logging facilities in Zn[Single|Multi]ThreadedServer, ZnFixedClient and ZnUserAgent; introduced new subclass of ZnFixedClient, ZnExtendedFixedClient that adds various hooks for customization ' id 'bb85953b-e489-472d-997b-27e28941c052' date '29 March 2011' time '4:49:38 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.136' message 'added postProcessHook to ZnFixedClient; extended ZnFixedClient reuse logic so that it is limited to a maximum keep alive time (of 5s) so as not to bother running into an error anyway.' id '85d852c0-b357-42ca-95da-0ebaec1c78ad' date '28 March 2011' time '4:24:06 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.135' message 'added preProcessHook & newConnectionHook to ZnFixedClient' id '3bc47cd7-fae8-4e62-a80d-5d991de3c137' date '28 March 2011' time '2:24:04 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.134' message 'some Socket[Stream] options/parameters tweaking: - server socket listen backlog increased from 10 to 32 - socket buffer size decreased from 8192 to 4096 (these were refused anyway) - client socket streams now get the same treatment (#setSocketStreamParameters:) as accepted server socket streams (i.e. setting timeout to 10s and buffersize) ' id 'ee477f07-3703-4504-b62a-9e9905aec294' date '24 March 2011' time '11:01:18 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.133' message 'bugfix: it turns out that String>>#base64Encoded introduces newlines which we definitively do not want when doing Basic HTTP Encoding for example; introduced ZnUtils class>>#encodeBase64: to do the right thing and invoke Base64MimeConvertor with the #mimeEncode: multiLine: false; replaced all usages (added a #decodeBase64: for orthogonality); added a unit test to catch this ' id '8c6bc0e9-09b3-4b38-84dc-90b76ad30c94' date '21 March 2011' time '8:49:39 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.132' message 'added ZnResponse>>#isNotModified' id '9d915967-5593-4909-ad83-8ba8577f6cd7' date '21 March 2011' time '10:46:35 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.131' message 'introduced ZnUnknownScheme exception' id 'd4ee20cf-2166-4a40-98ee-3f89c21e4d2e' date '18 March 2011' time '1:31:43 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.130' message 'new categories: Zinc-HTTP-Exceptions and Zinc-HTTP-Streaming; added ZnParseError hiearchy to better handle illegal input; fixed a bug in dealing with percent encoding in ZnUrl paths; ZnMultiThreadedServer>>readRequestSafely: now closes on ZnParseErrors in the input' id 'ec9629aa-9c2a-45d2-aa2c-4988ab48b239' date '28 February 2011' time '3:59:37 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.129' message 'added ZnMultiPartFormDataEntity>>#partsDo:' id '5e8a1d68-ab52-4b98-80f5-4a75aa724b4f' date '27 February 2011' time '8:27:54 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.128' message 'added some extra allowed HTTP methods' id '5df00c70-8ce3-45a2-8991-770dcb04c480' date '24 February 2011' time '9:12:07 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.127' message 'implemented ZnLimitedReadStream>>#next:into:' id 'b99b13a8-0959-4e1e-a501-cf9ed2334d70' date '21 February 2011' time '11:32:04 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.126' message 'implemented ZnHTTPSocketFacade class>>#httpPostMultipart:args:accept:request: added ZnHTTPSocketFacade class>>#constructMultiPartFormDataEntity:' id 'fbc9bd8a-55fc-4bef-99b4-cd54bd89b0cf' date '7 February 2011' time '9:37:50 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.125' message 'added ZnResponse>>#serverError:' id 'f17a0fb7-5e9a-4188-885c-553e3a372d25' date '4 February 2011' time '11:03:51 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.124' message 'fixed a typo in the ZnMimePart instance creation methods (formdata should be form-data) (thx Cédrick Béler)' id 'af6dbddc-b5d8-482a-b2ef-4071fcbba787' date '31 January 2011' time '8:16:57 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.123' message 'added ZnUrl>>#queryDo: ZnApplicationForUrlEncodedEntity>>#fieldsDo: added ZnMessage>>#resetEntity: to allow overwriting content type and length when these are already set' id 'dffdb499-d272-4fca-9991-ad5c3ebdaad9' date '31 January 2011' time '1:58:47 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.122' message 'added proper content length computation to ZnMultiPartFormDataEntity (bugfix); some code cleanup to ZnEntity content length computation' id 'faea419a-c94d-4f44-b0ae-067b635f1c4e' date '27 January 2011' time '5:17:08 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.121' message 'added #textJavascript as a constant to ZnMimeType; added ZnByteEncoder to handle single byte encodings that do not map directly to the lower Unicode section (for example Latin2, ISO-8859-2) by reusing the mapping tables from ByteTextConverter; added #handlesEncoding: and #newForEncoding: protocol to class side of ZnCharacterEncoding hierarchy' id 'c040db5f-1548-45bb-9f9d-757b78a67d70' date '25 January 2011' time '1:48:40 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.120' message 'fixed ZnUserAgent>>#redirectUrl so that relative redirect urls are made absolute in reference to the (previous) request''s url instead of self url; changed ZnHttpClient>>#get and #head not to reference url as an inst var' id '4bf543a0-c919-4508-8703-d0a272e32691' date '20 January 2011' time '9:20:40 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.119' message 'fix ZnUserAgent>>#openConnection to honor its ZnUserAgentSettings>>#timeout' id '69b705b0-6b68-46f9-8ed0-ba43fe195768' date '20 January 2011' time '7:40:41 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.118' message 'Updated class comments' id 'acea0a40-8a21-4257-8191-72f399e4a2a4' date '18 January 2011' time '11:05:56 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.117' message 'more fixes to ZnUserAgent redirect following behavior: rewrote logic' id '39d2e9eb-9bdb-4ee4-8ca8-68c812abb3b7' date '14 January 2011' time '10:03:05 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.116' message 'changed the redirect behavior for POST/PUT requests: the common practice is to turn these into GET request, see ZnUserAgent>>#method:for:headers:data:imit: and ZnUserAgent>>#prepareRedirect:' id 'a102bbdc-8185-41b0-afa2-4d0af8f2557a' date '13 January 2011' time '1:39:01 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.115' message 'added an extra guard to ZnFixedClient>>#fixedUrl: when host is nil (thx, Cédrick Béler)' id 'ac2bcf63-4c24-4c6a-b696-2b8dff2eae4b' date '12 January 2011' time '4:15:06 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.114' message 'ZnUserAgent (and ZnClient) now can follow relative redirect locations; introduced ZnMultiValueDictionary to allow multiple values to be stored under one key as an array; using ZnMultiValueDictionary for queries and headers; ZnUrl now uses ZnUtils>>parseQueryFrom: again; various simplifications and cleanups which might help when reading the code in ZnUserAgent (and ZnClient); ZnUserAgent (and ZnClient) now handle parameter encoding differently ' id 'e1a49d00-d9f0-4800-8cd7-cb354e86d671' date '12 January 2011' time '2:03:44 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.113' message 'promoted ZnFixedClient>>#fixedUrl: and ZnClient>>#executeRequest: to public status (and added comments); changed ZnFixedClient>>#fixedUrl: to accept ZnUrl objects as well for more flexibility (allowing users to add query/fragment URL elements in addition to the path) ' id 'c3b62aa9-da90-4478-9ab3-ba2670411cb3' date '8 January 2011' time '8:36:28 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.112' message 'split of ZnNetworkingUtils from ZnUtils to separate related functionality (Thx S.Ducasses)' id '845f67f8-df1c-40cf-a644-4699f50bc3bb' date '7 January 2011' time '7:52:57 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.111' message 'fixed ZnClient class>>#getImageOfType:usingParser:fromUrl: to correctly report responses with unexpected mime types (Thx S.Ducasses) ' id 'd633bf09-4617-4e34-b6c7-0260dc759817' date '7 January 2011' time '7:35:18 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.110' message 'added ZnUrl>>#queryAddAll:' id 'ae2dbf13-b27d-4e45-ae66-24ee8687bb3a' date '5 January 2011' time '9:07:28 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.109' message 'added application/xml as a predefined constant to ZnMimeType' id 'eb18136d-284f-4501-81e3-8c18a0b0e503' date '5 January 2011' time '1:53:53 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.108' message 'various changes to reduce the (Lint) warning count' id 'e455691d-fadb-4303-a83f-680be600e875' date '4 January 2011' time '9:15:26 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.107' message 'introduced #asZnMimeType on ZnMimeType, MIMEType & String to replace ZnUtils class>>#asMimeType: which was removed' id '6008c428-e4d3-4767-9622-879979d4a9f9' date '4 January 2011' time '8:04:37 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.106' message 'more cleanup added ZnBivalentWriteStream>>next:putAll:startingAt: fixed ZnStaticFileServerDelegate example' id '2e02dc65-d058-4d72-94ff-309d005a7c16' date '4 January 2011' time '4:30:49 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.105' message 'removing unused extension methods' id '93d4f4d1-39de-40ca-9e38-6a8741df39c4' date '4 January 2011' time '4:11 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.104' message 'massive migration from builtin Url to ZnUrl; added asZnUrl to String and Url ' id '73cb3a10-8b68-4f91-96a4-80a4f8603695' date '4 January 2011' time '3:34:16 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.103' message 'first version of ZnUrl class' id '8e7d4ba7-f5d9-41e7-a489-e7bfa2804c8e' date '4 January 2011' time '12:22:49 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.102' message 'added an extra guard to ZnSingleThreadedServer>>#releaseServerSocket' id '8f40387c-7d98-4816-ad2b-35665b66b14b' date '19 December 2010' time '2:53:27 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.101' message 'added caching to ZnDefaultDelegate>>#bytes: to improve benchmarking performance: this make a huge difference (thx, Philippe Marschall); refactored ZnMultiThreadedServer>>#readRequestSafely: to use #, to concatenate exceptions into an exception set (how elegant) ' id 'ab05d220-caa7-4f39-9276-e71491ca9b78' date '19 December 2010' time '2:43:29 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.100' message 'added /bytes to ZnDefaultServerDelegate to measure the huge speed difference between binary and UTF-8 encoded data; added ZnServer>>#isListening' id '4c960061-613e-443b-82d6-268c144d5d52' date '15 December 2010' time '9:42:47 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.99' message 'refactored ZnServer hierarchy: - renamed old ZnServer to ZnSingleThreadedServer - renamed old ZnExperimentalServer to ZnMultiThreadedServer - added ZnServer as superclass and facade ZnServer class>>#defaultServerClass is now ZnMultiThreadedServer! ' id 'f1366cea-f241-4260-bd60-23b6747b537b' date '15 December 2010' time '3:56:59 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.98' message 'finally ''solved'' the ab (apachebench) concurrent load problem (ab -k does HTTP/1.0 with Connection:keep-alive and expects Connection:keep-alive back); added #isHttp10 and #isHttp11 to ZnRequest and ZnRequestLine; rewrote ZnMessage>>#isConnectionClose and #isConnectionKeepAlive; added ZnMessage>>#setConnectionKeepAlive; added ZnRequest>>#wantConnectionClose; added ZnResponse>>#setKeepAliveFor:; improved ZnServer logging with proper header (including PID); Zn[Experimental]Server>>#readRequest and #writeResponse:on: now do logging themselves #logRequest and logResponse now set lastRequest and lastResponse debugging instance variables ' id 'a463c5c8-a719-4d6e-b916-2b17116a8df0' date '14 December 2010' time '3:01:14 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.97' message 'revised #printOn: and helper methods of ZnMessage and ZnEntity hierarchy to support ZnServer>>#logRequest and #logResponse; fixed a bug in ZnStringEntity encoder initialization; extended ZnServer>>#acceptWaitTimeout to 60s; ' id 'f6ba0f3f-5b5a-4eb4-a54e-2c6c316ae95d' date '14 December 2010' time '12:23:09 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.96' message 'added #favicon: and #random: handlers to ZnDefaultServerDelegate' id '28d9458b-51e9-45e7-8ecf-3611b5039d2c' date '14 December 2010' time '10:54:06 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.95' message 'added #logger and #log: to Zn[Experimental]Server for extensive tracing' id '9a30d6f8-cd49-4ef4-8723-88d73ec297fe' date '14 December 2010' time '9:26:40 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.94' message 'made a number of socket related constants explicit in ZnUtils and ZnServer; ZnUtils class>>#socketStreamOn: now sets more options explicitely; improved process name in Zn[Experimental]Server; ZnDefaultServerDelegate>>#welcome: now replaces CR with LF in ZnConstants class>>#welcomePageHtml ' id 'b6740682-52d3-4cc6-af7a-8ce6f5a2dbfc' date '13 December 2010' time '5:02:18 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.93' message 'refactored ZnServer''s and ZnExperimentalServer''s #listenLoop and #serveConnection[s]On: with the introduction of #initializeServerSocket, #releaseServerSocket, #executeOneRequestResponseOn: and #executeRequestResponseLoopOn:' id '7308c60d-4aa0-4653-89eb-78c703dd047f' date '10 December 2010' time '4:17:17 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.92' message 'Simplified ZnServer by moving functionality to ZnDefaultServerDelegate, a new class handling echo, dw-bench, unicode and / welcome' id '3f058ee0-89a2-4999-bd25-f02bf68cf0ff' date '10 December 2010' time '3:54:08 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.91' message 'added ad improved ZnServer method comments' id '0a8191cc-e438-4345-bc9b-e42a11ef367e' date '10 December 2010' time '3:05:34 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.90' message 'added ZnBufferedWriteStream class>>#on:do: modeled after #fileNamed:do: a convenience method that makes sure #flush is a called' id 'b8d896bf-6688-41e0-8ca5-267326b29c2a' date '9 December 2010' time '6:26:21 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.89' message 'added ZnUtils>>#socketStreamToHostNamed:port: followed by some simplification and refactoring' id 'a00bab52-f57d-4d34-bc86-be0a4b2be3cc' date '8 December 2010' time '11:19:14 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.88' message 'added experimental ZnBufferWriteStream' id 'fd2dd63e-035b-4c72-a4d4-58933b890e13' date '8 December 2010' time '10:21:55 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.87' message 'added ZnValueDelegate that converts #handleRequest: to #value: on a wrapped object' id '34a705ac-c414-441f-a606-443e50f91449' date '7 December 2010' time '4:20:02 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.86' message 'some more comment improvements' id '6e89b08f-198b-4ccd-b334-801598105a9e' date '7 December 2010' time '3:23:09 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.85' message 'renamed ZnMagicCookie[Jar] to ZnCookie[Jar]' id '1885b80b-6dfc-4366-8f69-ba459de201ea' date '7 December 2010' time '12:02:25 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.84' message 'moved all classes from category ''Zinc-HTTP-New-*'' to ''Zinc-HTTP-*''' id 'fb5273fe-7cd7-4bf0-b4e4-a366bf735e65' date '6 December 2010' time '9:41:56 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.83' message 'removed all Zinc-HTTP-Old-* categorized classes from the Zinc-HTTP package (these will be moved to a new MC package called ''Zinc-Old'')' id '4123ffde-b6f7-4233-b9c8-ddfdac314c1f' date '6 December 2010' time '5:26:43 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.82' message 'removed #isBinary from ZnEntity (and subclasses) ''testing'' protocol' id '3b12b147-c0bb-447b-bac2-53d899b54703' date '6 December 2010' time '4:05:17 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.81' message 'ZnStringEntity>>#printContentsOn: now relies on #nextPutAll: instead of #print: to avoid quoting by String>>#storeOn:' id '83409534-1da5-4991-a7ba-eeed6de8b6c9' date '6 December 2010' time '3:16:22 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.80' message 'renamed class ZnNewStringEntity to ZnStringEntity' id 'ef1213ed-3501-4a47-b346-424edb8828c3' date '6 December 2010' time '1:50:02 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.79' message 'removed class ZnStringEntity' id '305134b7-e6f5-4930-b3ed-70ee5213bf01' date '6 December 2010' time '1:47:48 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.78' message 'ZnMessage>>#hasHeaders was wrong; ZnBivalentWriteStream class>>#on: will no longer instanciate a new wrapper if the wrapped stream is of its own type; went over all class comments and updated lots of them ' id '0ac22c19-d755-4abf-8271-701953203148' date '6 December 2010' time '1:12:57 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.77' message 'fixed ZnHTTPSocketFacade>>#httpPut:to:user:passwd: (apparently MC passed in a byte array instead of a string, luckily ZnEntity>>#with: can deal with this)' id '58c44c1f-02ea-40e3-a5bd-e54fcd38ffd3' date '4 December 2010' time '2:26:11 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.76' message 'large changeset: switch from ZnStringEntity to ZnNewStringEntity, now using binary socket streams on server, all with the goal of proper UTF-8 support; - ZnEntity and subclasses not do proper #printOn: using #printContentsOn: (this is used in ZnServer''s echo handler); - added ZnBivalentWriteStream>>#isBinary which caches the #isBinary property of the stream it wraps (added fallback when DNU #isBinary); - added ZnUtils>>#socketStreamOn: which is used by ZnServer>>#serveConnectionOn: to force a binary stream; - fixed ZnMessage>>#hasHeaders and ZnMimePart>>#hasHeaders; - debugged ZnNewStringEntity - in order to support both binary and character streams, ZnMessage, ZnStatusLine, ZnRequestLine and ZnHeaders now use a ZnBivalentWriteStream in their #writeOn: implementations; - fixed ZnUserAgent>>#processResponse: to only read headers and no entity when doing a HEAD request ' id 'c7354231-e350-4fa6-aee7-b3d7e68eae66' date '4 December 2010' time '2:11:32 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.75' message 'added instance creation and preferred subclass accessing protocol to ZnEntity to make it a facade; replace all direct references to ZnStringEntity and ZnByteArrayEntity with ZnEntity facade invocations ' id '38988dd8-c300-47cb-8aca-bf620c808fc3' date '3 December 2010' time '2:08:08 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.74' message 'added #isCharSetUTF8 and #setCharSetUTF8 to ZnMimeType; changed the defaults/constants #textPlain and #textHtml of ZnMimeType to use UTF-8 as charset; created new class ZnNewStringEntity that uses an encoder to write/read strings to/from a binary stream ' id 'b5a8d802-77ff-4880-9e20-3af6d16d14c4' date '2 December 2010' time '1:50:43 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.73' message 'ZnUTF8Encoder: introduced next block in #nextPut:toStream: to reduce code duplication; made #nextFrom: more compact' id 'b0852d58-48b1-48d8-8172-d54525449ef6' date '30 November 2010' time '1:49:46 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.72' message 'introduction of ZnCharacterEncoder, ZnNullEncoder and ZnUTF8Encoder' id '7cdd0747-637c-44a9-a835-8b055e0353b9' date '30 November 2010' time '12:28 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-pmm.71' message '- fix unit tests - see http://hudson.lukas-renggli.ch/job/Zinc/' id '3554a779-86fe-4c2b-a826-900044edbb67' date '25 October 2010' time '7:10:47 am' author 'pmm' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.70' message 'added ZnBufferedEntity (part 1 of a refactoring of entities)' id 'b703ca9b-f970-416a-bb28-c08a0246d585' date '20 October 2010' time '10:40:38 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.69' message 'ZnUtils>>socketStreamToUrl: meant to put the stream in binary mode but was using isBinary, fixed' id 'e85c3518-20bc-407b-9522-4cca9e0ce34d' date '14 October 2010' time '2:35:45 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-MattKennedy.68' message 'Added isComplete testing message to the ZnCredential classes to answer true if all required fields are set. Updated ZnUserAgent>>prepareCredentials:for:method to use ZnCredential>>isComplete test. Updated ZnUserAgent>>defaultErrorHandler to raise exceptions again.' id '25b31f4c-23b2-458e-939d-557bce7e1e71' date '6 October 2010' time '5:24:46 pm' author 'MattKennedy' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.67' message 'removed another String>>#trimBoth usage from ZnMimePart>>#contentDispositionValues; reimplemented ZnUserAgentSettings class>>#platform more elegantly ' id '72a2d1b8-f68a-4c85-84c6-e7f515f1879b' date '6 October 2010' time '9:34:33 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-MattKennedy.66' message 'Reverted ZnUserAgent>>defaultErrorHandler change. Wasn''t passing all tests correctly.' id '6a148c14-5451-4ca5-8180-767e1c376f08' date '5 October 2010' time '5:39:08 pm' author 'MattKennedy' ancestors ((name 'Zinc-HTTP-MattKennedy.65' message 'ZnUserAgent default error handler raises exceptions to the debugger again. Added ZnHttpClient>>parameterAt:add:' id '433b8d17-912b-46dd-9a52-3888f753fdc4' date '5 October 2010' time '5:33:49 pm' author 'MattKennedy' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.64' message 'added ZnUtils class>>#trimString: until String>>#trimBoth is available everywhere; fixed usage in ZnMimeType>>#contentDispositionValues ' id 'd25e7ffe-691e-43c1-9607-842b9225d5a8' date '5 October 2010' time '9:26:53 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.63' message 'first complete/working version of ZnMultiPartFormDataEntity and ZnMimePart (reading/writing/instance creation/accessing); added ZnMimeType>>#parameterAt:[ifAbsent:] ' id '5c9658b2-329f-4197-b9a5-d25751435191' date '5 October 2010' time '8:33:32 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.62' message 'first rough and unfinished implementation of ZnMultiPartFormDataEntity; started extending ZnMimePart to allow field handling; introduced ZnBivalentWriteStream ' id '19b39ff5-631f-4e08-bda2-370466c52bae' date '4 October 2010' time '9:24:15 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-MattKennedy.61' message 'Added ZnHttpClient which subclasses ZnUserAgent to implement a high level API. Updated ZnUserAgent>>prepareCredentials:for:method: to handle credentials stored on the session before the client receives a 401 from the server. ' id '70e0bcdb-0b42-4f13-9c9b-c7d1b8a01815' date '1 October 2010' time '10:31:54 pm' author 'MattKennedy' ancestors ((name 'Zinc-HTTP-MattKennedy.60' message 'Expanded options for MD5 hash mechanisms in ZnDigestAuthenticator. Added test method to ZnDigestAuthenticator to answer if MD5 support is available.' id '7b1d4f73-febb-4e32-86ca-8af7b3e610e5' date '1 October 2010' time '5:44:52.598 pm' author 'MattKennedy' ancestors ((name 'Zinc-HTTP-svc.59' message 'OK, even more fixes after testing in Squeak 4.1 (MD5 is still missing though)' id '44a8cccf-1470-4fa8-9e15-344cba9e6411' date '1 October 2010' time '9:56:22.612 pm' author 'svc' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.58' message 'OK, some more fixes after testing in Pharo 1.2' id '93d5f2cc-330a-4931-8163-599c21f80253' date '1 October 2010' time '9:44:24 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.57' message 'reimplemented ZnUserAgentSettings class>>#platform to deal with Pharo 1.1/1.2 portability issues (introduction of OSPlatform class); modified ZnUserAgent>>#prepareHeaders:for: to use ZnHeaders>>#addAll: ' id 'bf8f9509-4a6c-4fed-9575-3202a9627d2e' date '1 October 2010' time '9:37:10 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-MattKennedy.56' message 'Added .errorHandler to ZnUserAgent' id 'ae9aa81f-770d-40cc-859d-d1316d3a12cd' date '1 October 2010' time '2:44:47 pm' author 'MattKennedy' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.55' message 'merging' id '3cae8f4c-33ca-44ab-85e9-c7e5e8f6a84d' date '1 October 2010' time '9:43:18 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.54' message 'introducing ZnMimePart (has maybe to much implementation in common with ZnMessage, but in use they are less similar) ' id '8888796c-9303-408d-b6c0-30310fee5ab6' date '1 October 2010' time '9:41:57 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-MattKennedy.53' message 'Removed trimBoth: sender from ZnDigestCredential>>parseAuthRequest:' id '5d0dfdae-b927-4634-a4a9-272e3d78aeb0' date '30 September 2010' time '12:28:40 pm' author 'MattKennedy' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.52' message 'changed the required protocol for a ZnServer delegate from #value: to #handleRequest: ' id '6f652f18-f202-4ce8-b139-a47c687d36f1' date '30 September 2010' time '6:15:10 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.51' message 'changed ZnServer authenticator protocol from #value:value to #authenticateRequest:do: introduction of ZnBasicAuthenticator class as a first plugin ' id '49469b61-5c90-45cb-8253-5483f43f79e1' date '30 September 2010' time '4:35:01 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-LukasRenggli.50' message '- removed the sender of #trimBoth: that removes $" before and after the basic-autentication string, as #trimBoth: is not part of PharoCore - this fixes 2 breaking tests, but maybe introduces a regression on certain we browsers?' id 'a991e99b-b085-4cf0-ae5a-1d9addb5d83a' date '30 September 2010' time '8:33:20 am' author 'lr' ancestors ((name 'Zinc-HTTP-MattKennedy.49' message 'ZnDigestCredential now implements working Digest authentication support for client requests in ZnUserAgent.' id '4fb9842a-9138-4567-b15a-0136611d6ce8' date '29 September 2010' time '5:18:28 pm' author 'MattKennedy' ancestors ((name 'Zinc-HTTP-MattKennedy.48' message 'Handling authentication credentials for ZnUserAgent with ZnCredentials and ZnUserAgentSession implemented, currently with support only for Basic authentication.' id '40c5bd87-c830-4b93-97d7-4f6b4a52b0de' date '29 September 2010' time '12:57:02 am' author 'MattKennedy' ancestors ((name 'Zinc-HTTP-MattKennedy.47' message 'Added ZnCredential and subclasses for Basic and Digest auth. Only stubs right now, next step to flesh out with test cases. Updated ZnUserAgentSession for storing credential objects. Added ZnMagicCookieJar>>cookieAt:forUrl: and ZnUserAgent>>cookieAt:' id '45c35930-c60a-48b8-b2b5-68a29e905ca4' date '28 September 2010' time '4:38:54 pm' author 'MattKennedy' ancestors ((name 'Zinc-HTTP-MattKennedy.46' message 'Added ZnMagicCookie, ZnMagicCookieJar, ZnUserAgentSession. ZnUserAgent now accepts and sends cookies. Modified ZnHeaders>>readOneHeaderFrom: to add items with ZnHeaders>>at:add: instead of ZnHeaders>>at:put: to handle requests and responses with multiple Set-Cookie or Cookie headers.' id 'baf796cb-154c-454c-9ebd-c4f2d412a64c' date '28 September 2010' time '1:56:36 pm' author 'MattKennedy' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.45' message 'added ZnMessage>>#contents and ZnResponse>>#isSuccess; added ZnStreamingEntity>>#contents (non-repeatable); extended ZnFixedClient (added #isConnected and reimplemented #executeRequest error handling logic)' id '3831115e-48cf-466f-81e0-752247f6aefc' date '28 September 2010' time '2:17:57 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.44' message 'Merging Matt Kenedy''s code: Added ZnUserAgent and ZnUserAgentSettings' id '527f4690-0c3e-4e62-8482-de4bb3f76b0b' date '27 September 2010' time '11:36:10 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.43' message 'introduced ZnExperimentalServer to test server side connection keepalive/reuse; added ZnMessage>>#isConnectionClose; refactored ZnFixedClient with #preProcessRequest and #postProcessResponse (which handles server side connection close now) ' id 'bc799fbc-48ab-45c3-8cde-38fd1dd418bb' date '27 September 2010' time '11:25:06 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.42' message 'extended ZnEntityReader with the ability to read Gzip content encoded entities; added ZnRequest>>#setAcceptEncodingGzip; we now use socket streams in binary mode by default (see ZnUtils>>#socketStreamToUrl:); we''re now using ZnLineReader to read CRLF delimited lines (handles bivalent access); ZnEntities set content length in #readFrom: when reading upToEnd; refactored ZnLimitedReadStream to track position explicitely (added #position); added #position to ZnChunkedReadStream; fixed ZnMessage>>#readStreamingFrom: ' id 'c60def04-29e9-4bb0-95d2-dad31539c4cc' date '27 September 2010' time '7:55:43 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.41' message 'extended ZnEntityReader with ability to read chunked transfer encoded content (see #readEntity); created helper class ZnChunkedReadStream wrapping a chunked transfer encoded stream, hiding the encoding from clients; all ZnEntities'' #readFrom: methods now work either with defined #contentLength (as before) or with undetermined #contentLength (doing #upToEnd); added ZnHeaders>>#keysAndValuesDo: ' id '3a023d61-98e4-4eaa-9c60-e7826ce05fbf' date '26 September 2010' time '8:10:27 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.40' message 'introduction of ZnEntityReader helper object; added some more operations to ZnFixedClient; some API cleanup' id 'c076371b-1e6b-48ad-ad3e-78a678785484' date '25 September 2010' time '11:16:35 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.39' message 'first version of ZnFixedClient for talking to one host:port combination and trying for connection reuse; added ZnMimeType>>#applicationJson (as non-binary!) ' id '784a8e5d-f9ef-4b96-838c-86d330aeec7b' date '25 September 2010' time '9:14:28 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.38' message 'replace #crlf with nextPutAll: String crlf to improve stream compatibility; added #url accessor to ZnRequest (alias to #uri)' id '12cb56a0-a124-4e23-bded-52ad0bbecf87' date '21 September 2010' time '10:06:40 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.37' message 'try to use MIMEDocument without referencing MIMEType' id '5b008ad4-0e12-4218-995a-635d765fa653' date '21 September 2010' time '4:15:01 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.36' message 'introduced ZnUtils>>#ipAddressToString:' id '6f149459-e4bf-4eca-a3c6-a20ede32ac0a' date '21 September 2010' time '4:01:10 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.35' message 'implemented a complete set of ZnClient methods (GET,PUT,POST,DELETE,HEAD) with basic authentication variants; introduced ZnClient>>#executeOneShot:on:; refactored ZnMessage and subclasses reading (#readFrom: #readStreamingFrom: #readHeaderFrom:) to support asymmetric head requests and remove code duplication; cleaned up ZnMessage and ZnHeaders #contentType and #contentLength access improved some ZnHeaders methods to better deal with missing headers dictionary (lazy initialization); added ZnServer>>#printOn:; renamed some older classes' id '71e40771-0e1a-477c-b999-94ac5537668c' date '21 September 2010' time '12:59:31 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.34' message 'added #printOn: to ZnStatusLine, ZnRequestLine, ZnHeaders and ZnEntity; some bug fixes and added robustness' id '58cafaad-d422-458a-9f26-57b801613e83' date '20 September 2010' time '7:40:27 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.33' message 'Renamed all categories with old code to Zinc-HTTP-Old-*' id '56666b16-26a2-4785-a7b0-69934e9f5a1b' date '19 September 2010' time '6:44:52 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.32' message 'various changes suggested by Code critics' id 'b9a81c31-f509-4443-b5ab-5d0980ba1f1b' date '17 September 2010' time '8:54:02 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.31' message 'first working implementation of ZnMonticelloServerDelegate; added ZnResponse #setLocation and #setWWWAuthenticate; added ZnResponse convencience instance creation methods #created: and #badRequest:; ZnResponse convencience instance creation methods now pass their uri through ZnUtils>>#urlPathQueryFragmentOf:; ZnUtils>>#httpDate: now does an #asUTC conversion; added ZnUtils>>#streamFrom:to:size: fast stream copier; added ZnUtils>>isSlash:' id 'e3e6a58f-52f3-4474-b700-132198106c9d' date '17 September 2010' time '3:45:38 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.30' message '1st working version of ZnStaticFileServerDelegate (on 1 directory with 1 prefix); extended ZnResponse with #notFound: and #redirect instance creation methods; added ZnUtils>>#httpDate: (and implemented #httpDate using it); extended ZnMimeType with MimeTypes and ExtensionsMap class variables for faster constant access and file extension to mime type mapping; ZnStreamingEntity>>#writeOn: now closes its stream after using it ' id '6074fdf3-5027-46f8-9e5b-9629d0ef5074' date '16 September 2010' time '8:50:45 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.29' message 'ZnStatusLine and ZnRequestLine now handle their own crlf line ending (see #readFrom: and #writeTo:); Experimental introduction of ZnStreamingEntity (see #readStreamingFrom:) ZnLimitedReadStream is now used in ZnApplicationFormUrlEncodedEntity>>#readFrom: ' id '4fae956f-e1d3-4307-90d0-eae856459f18' date '15 September 2010' time '8:24:23 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.28' message 'fixed ZnMimeType parser dependency on Grease #trimBoth; added serverSocket as inst var to ZnServer' id 'd09f0956-371c-442a-aeab-0eed4d433a3e' date '15 September 2010' time '9:59:36 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.27' message 'fixing ZnHTTPSocketFacade>>#httpPut:to:user:passwd: semantics; added ZnMessage #head: #post and #put; added ZnHeaders>>#removeKey:[ifAbsent:] ; allowed for missing content-type when reading entities; enforcing content-length header to be string in #acceptEntityDescription: ' id 'cb4bffd1-218f-4103-8679-b81e5e51dc7a' date '14 September 2010' time '3:15:59 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.26' message 'ZnHTTPSocketFacade: adjusting semantics; implemented some missing methods; some refactoring (#execute:on) ' id '541ca458-55fa-404a-a317-9a5801a6322b' date '14 September 2010' time '1:27:39 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.25' message 'some code reformatting in ZnHTTPSocketFacade; added more strings to ZnConstants; ZnServer now returns a nice default welcome page (the echo handler now only runs when the path starts with ''echo'')' id '7c2531d4-acde-449a-8c98-ed0d3affe342' date '14 September 2010' time '11:07:31 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.24' message 'first complete implementation of (new) ZnHTTPSocketFacade (incomplete tests); added #contents to ZnEntity; added #addAll: and #withAll to ZnHeaders and ZnApplicationFormUrlEncodedEntity; store remoteAddress as dotted IP string instead of printed byte array' id 'd30509ad-79a7-4410-9507-0a34a6639fc2' date '13 September 2010' time '10:31:18 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.23' message 'reorganized categories (Zinc-HTTP-New-Core, Zinc-HTTP-New-Client-Server, Zinc-HTTP-New-Support); started new implementation of ZnHTTPSocketFacade (renamed old one to ZnOldHTTPSocketFacade) with image access methods; refactored image access methods in ZnClient (introduced ZnClient>>#getImageOfType:usingParser:fromUrl:); changed ZnEntity>>#contentType: to only allow assigning mime types compatible with an entity''s designated mime type (if any) ' id 'eb6683ed-f103-46af-aa28-4d1c0d6689f3' date '13 September 2010' time '4:17:53 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.22' message 'added support for server side basic authentication' id '55c0e0fa-9e16-428f-800a-0ed87537fb45' date '13 September 2010' time '1:54:44 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.21' message 'added support for client side basic authentication' id 'f61af145-d04a-4c18-b8a9-4dc9c904c636' date '12 September 2010' time '8:34:56 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.20' message 'added simple http client proxy support using the system settings (untested though) ' id 'bae5ca73-9f54-4b2b-bfa2-3eb66228c7e1' date '12 September 2010' time '11:55:51 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.19' message 'refactored ZnEntity hierarchy with new instance creation framework; implementation of ZnApplicationFormUrlEncodedEntity; created mock ZnMultiPartFormDataEntity; added ZnUtils>>#parseQueryFrom: ZnMimeType>>#printOn: now simply prints the RFC string ' id '10746c52-3fcb-4b36-895f-a5fc34b8dd04' date '12 September 2010' time '11:28:17 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.18' message 'added header name normalization; added optional multi-valued header values; added optional header value merging' id '1e65b930-7310-4677-b5cf-b779a38bf759' date '10 September 2010' time '9:06:19 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-pmm.17' message 'use aStream print: anObject instead of aStream nextPutAll: anObject printString' id '4b6b2702-4ec3-4314-b712-ccc1d9da802c' date '10 September 2010' time '12:40:03 pm' author 'pmm' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.16' message 'replaced usage of #displayString with #printString; renamed ZnMimeType>>#greaseString to #asRFCString' id '10c584eb-c842-4aa1-8ac7-60d2ca426265' date '10 September 2010' time '12:22:15 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.15' message 'added #at:ifAbsent: to ZnHeaders; added #headersDo: to ZnMessage; added #isRunning to ZnServer; ZnServer now sets a (ZnConstants remoteAddressHeader) header with the client''s remote IP address; extended ZnServer with a general purpose delegate mechanism ' id 'b3fa69a2-3f1a-4ea5-94db-47447fcab5a6' date '9 September 2010' time '8:53:14 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.14' message '1st primitive but working ZnServer' id '996b6601-b412-48ae-a64c-7dc78dac058d' date '8 September 2010' time '11:06:03 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.13' message 'ZnClient #get: and #getJpeg: now work for normal situations' id 'cbbe9f1e-39a9-4b3a-a6f1-e08e11c4c5cf' date '7 September 2010' time '8:04:01 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.12' message 'Started the Zinc-HTTP-New implementation; not much to see yet' id 'de2cead7-a4dd-4a3c-ac68-69e4cef2964d' date '6 September 2010' time '11:05:54 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.11' message 'some more recategorizations' id '7b109f45-7460-4edc-9983-3a201efa0815' date '5 September 2010' time '11:10:46 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.10' message 'refactoring for a cleaner #executeMethod: introducing #allHeadersFor:on: #generateRequestOn: #sendContentTo: removed #noContentLength: renamed #MIMEDocument to #getResponseAsMIMEDocument ; renamed some post method classes' id '0e5bf523-5aa9-40f3-be02-17abc7a18d6b' date '3 September 2010' time '11:29:04 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.9' message 'forgot one usage of #page' id 'd56be428-7eed-4712-ab04-2094e3808c3a' date '2 September 2010' time '8:16:21 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.8' message 'fixed wrong header case in #mimeTypeHeaderOn: ; refactored the extension protocol on HierarchicalUrl using new method names (using the concept of path directory and adding the String suffix for conversion methods)' id '28ab58db-ba2b-4db5-a473-2cd613cca92b' date '2 September 2010' time '8:10:41 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.7' message 'using code critics to remove some dead code and obvious problems (but may issues are left open); more method categorizations' id '1c64f23b-0156-41d4-bc9b-72d9c52d0227' date '2 September 2010' time '4:36:45 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.6' message 'did an initial method categorization in the core classes ZnHTTPClient and ZnHTTMethod (and its subclasses); removed one no-op #initialize' id '45e8c7be-7a6e-4aa3-8c8d-6f30c0e26bf5' date '2 September 2010' time '12:41:10 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.5' message 'introduced ZnConnectNew, a plugin replacement for ZnConnection.The old code was using its own SocketStream, now we''re using the system supplied SocketStream. Some backwards compatibility protocol was added, could be cleaned up later. It is probably also possible to use SocketStream directly; added ZnHTTPClientFacade with 2 get methods' id '2d453fab-9a2f-4743-8ce5-d7879bbc14a1' date '2 September 2010' time '11:47:13 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.4' message 'reduced some dependencies on extensions' id 'e3317890-f543-461c-a2de-d32ba48b2af0' date '1 September 2010' time '9:02:15 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.3' message 'Some cleanup of ZnHTTPSocketFacade''s class methods' id '58105dc7-a59a-4e9b-add7-1ae71a212e3c' date '1 September 2010' time '7:59:08 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.2' message 'Renamed HC HTTP Client to Zinc HTTP Components; Renamed all classes to use Zn namespace prefix; Renamed all extension protocols to *zinc-http; Renamed Facade to HTTPSocketFacade' id '42475f7f-909f-4292-90d2-78b2fe48c9a2' date '1 September 2010' time '7:13:12 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.1' message 'Renamed HC HTTP Client to Zinc HTTP Components; Renamed all classes to use Zn namespace prefix; Renamed all extension protocols to *zinc-http; Renamed Facade to HTTPSocketFacade' id '4b0032ae-27eb-462c-b0db-29800c2cc647' date '1 September 2010' time '5:29:24 pm' author 'SvenVanCaekenberghe' 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 ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Zinc-HTTP-MattKennedy.43' message 'Added ZnUserAgent and ZnUserAgentSettings.' id '217daf1b-07d3-4c49-bdf1-7b00262c5f70' date '27 September 2010' time '3:10:26 pm' author 'MattKennedy' ancestors ((id 'c60def04-29e9-4bb0-95d2-dad31539c4cc')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Zinc-HTTP-MattKennedy.54' message 'Modifed ZnResponse so that the WWW-Authenticate response is no longer hard coded. ZnBasicAuthenticator supports optional custom realm settings. Added ZnDigestAuthenticator.' id '88223dbc-9831-4746-a680-f2eff6720e76' date '30 September 2010' time '5:36:25 pm' author 'MattKennedy' ancestors ((id '5d0dfdae-b927-4634-a4a9-272e3d78aeb0')) 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 ())) 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 ())) 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 ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Zinc-HTTP-MarcoSchmidt.166' message 'Patch to work behind firewall with basic authorization' id 'acb7f2fc-d621-5d4b-983f-25d217623f11' date '17 June 2011' time '3:31:11 pm' author 'MarcoSchmidt' ancestors ((name 'Zinc-HTTP-MarcoSchmidt.165' message 'Corrected wrong method send in NetworkUtils' id '4290066c-4367-794e-bb95-c058f1a268a0' date '17 June 2011' time '3:26:54 pm' author 'MarcoSchmidt' ancestors ((id '90d57d3d-fc41-4548-a2fd-dcd7c22a3a1f')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Zinc-HTTP-DamienPollet.175' message 'Fix typo in exception names.' id '82fd6138-b87e-4e81-93ff-4c874ff72e03' date '4 August 2011' time '2:22:04 pm' author 'DamienPollet' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.174' message 'ZnDefaultServerDelegate>>#echoRequest: added option to delay the response to /echo with a specified number of seconds, as in echo?delay=60' id 'bec35859-b638-42c1-9689-3f1d7a540c8b' date '14 July 2011' time '9:54:57 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.173' message 'added ZnSingleThreadedServer>>#onRequestRespond: convenience method' id '75b3a711-a7ff-430d-a049-95a5dd1a1c3c' date '1 July 2011' time '2:17:08 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.172' message 'implemented client side support for If-Modified-Since and Not Modified: - added ZnRequest>>#setIfModifiedSince: - refactored ZnMessage>>#readFrom to call #readEntityFrom: - overwritten ZnResponse>>#readEntityFrom: to take special no content response into account - extended ZnUtils class>>#httpDate: to accept any argument that understands #asTimeStamp ' id '64fe262e-fd77-4b45-8f6a-f874995d07ec' date '28 June 2011' time '11:05:10 am' author 'SvenVanCaekenberghe' ancestors ((id '11c76430-7cc0-4885-b4a0-709f3fbf4f57')) 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 ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Zinc-HTTP-SvenVanCaekenberghe.221' message 'added new #followsRedirects boolean option to ZnClient because setting #maxNumberOfRedirects to 0 did not work well for an example see the ZnClientTests>>#testRedirectDontFollow Thx Jan van de Sandt for reporting this' id '4df9982e-63e1-49ea-bfb0-2f9cb43f6f0b' date '23 November 2011' time '5:30:09 pm' author 'SvenVanCaekenberghe' ancestors ((id '147d6c42-b509-40e4-abb0-7c804d5df01d')) stepChildren ())(name 'Zinc-HTTP-SvenVanCaekenberghe.215' message 'modified ZnNeoClient>>#contents to return the stream when streaming is requested (more specifically: do not call #contents on the ZnStreamingEntity by default as this would defeat the whole idea of streaming; note that when there is a #contentReader it should do the right thing)' id 'c94ae1c2-5cc3-4ce6-9f04-28155f6834c9' date '26 October 2011' time '2:45:52 pm' author 'SvenVanCaekenberghe' ancestors ((id '248c4eaf-ca0f-4584-99f4-d399438fd2ed')) stepChildren ())) stepChildren ())(name 'Zinc-HTTP-SvenVanCaekenberghe.223' message 'added missing ZnChunkedReadStream>>#next:into: that was used by ZnEntityReader when reading a ZnByteArrayEntity fix to Pharo issue 5053 (http://code.google.com/p/pharo/issues/detail?id=5053) thanks Laurent Laffont for reporting' id '19ce4497-786a-46a7-bd6c-55fa682dba56' date '3 December 2011' time '5:51:17 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.222' message 'small fix to ZnEntityReader>>#readEntityFromStream added an extra guard copying extraHeaders from a chunked stream since these are missing when reading a streaming entity' id 'a1b1d190-4690-4cc0-b9b5-eab77cc5153b' date '1 December 2011' time '10:40:29 am' author 'SvenVanCaekenberghe' ancestors ((id '4df9982e-63e1-49ea-bfb0-2f9cb43f6f0b')) stepChildren ())) stepChildren ())) stepChildren ())(name 'Zinc-HTTP-SvenVanCaekenberghe.226' message 'changed ZnMimeType such that the ''constants'' returned by the methods in the class side convenience protocol can now be freely modified by returning a copy; implemented ZnMimeType>>#postCopy; ZnMimeType>>#parameters will now lazy initialize to a SmallDictionary instead of a regular Dictionary' id '52cc1692-4d4f-4c43-813c-21b61e386eaf' date '6 December 2011' time '8:56:22 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-NorbertHartl.225' message 'changed ZnApplicationFormUrlEncodedEntity to check encoding of contentType. If an encoding is present to presentation is written using the specified encoding' id '18a28639-5e95-4594-937c-268df69987ec' date '6 December 2011' time '6:30:33 pm' author 'NorbertHartl' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.224' message 'added ZnLimitedReadStream>>#peek' id '4f9dffc5-3af2-4adc-a0c9-0bc22d1de76e' date '4 December 2011' time '8:10:11 pm' author 'SvenVanCaekenberghe' ancestors ((id '19ce4497-786a-46a7-bd6c-55fa682dba56')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Zinc-HTTP-SvenVanCaekenberghe.232' message 'changed ZnClient>>#executeWithTimeout to use an explicit and selective #exceptionSetForIfFail so that only network, http parsing, http unsuccessful and unexpected content type exceptions trigger the #ifFailBlock; this fixes the problem where HTTPProgress exceptions triggered the ifFail block; thx Camillo Bruni ' id '3ca78fe3-4355-46ee-9ba3-5e0f540b9ec0' date '20 December 2011' time '2:24:53 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.231' message 'Extended the ZnHttpUnsuccessful and ZnUnexpectedContentType exceptions to contain the repsonse respectively the two content types so as to produce better error messages (thx Camillo Bruni for suggesting this)' id 'c94e86a8-3b1a-4c26-bae5-3aebc90764b2' date '20 December 2011' time '1:26:08 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.230' message 'Changed ZnClient>>#timeout to use the global ZnNetworkingUtils defaultSocketStreamTimeout as default' id 'fb0c7c07-a6dd-4105-bdd4-a65860b4b452' date '14 December 2011' time '2:07:42 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.229' message 'expanded the ZnUrl class comment' id 'b239edd4-c432-4139-a71a-d27618beef91' date '14 December 2011' time '1:45:28 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.228' message 'added ZnUrl>>#queryKeys' id 'f979e877-6dfa-4167-b159-ec322a629c98' date '13 December 2011' time '2:21:02 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.227' message 'added the WebDAV methods to ZnConstants class>>#knownHTTPMethods; added convenience constructor #xml: to ZnStringEntity and ZnEntity' id 'd8262a06-7f5b-4a88-9fdb-cc4bb05ed422' date '11 December 2011' time '7:47:11 pm' author 'SvenVanCaekenberghe' ancestors ((id '52cc1692-4d4f-4c43-813c-21b61e386eaf')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Zinc-HTTP-SvenVanCaekenberghe.233' message 'Rewrote ZnServer and subclasses''s class methods #startDefaultOn: and #defaultOn: to treat the default instance like a singleton by reusing/restarting/reconfiguring existing instances; expanded comments; Changed the implementation of ZnServer>>#start to automagically register the default instance; Changed the implementation of ZnServer>>#stop to always unregister; added ZnServer>>#stop: with an option to control the unregistering so that it does not happen when shutting down the image ' id '8dd541c9-2890-4a8f-b5cb-d6ac2e9341af' date '22 December 2011' time '12:54:05 pm' author 'SvenVanCaekenberghe' ancestors ((id '3ca78fe3-4355-46ee-9ba3-5e0f540b9ec0')) stepChildren ())) stepChildren ())(name 'Zinc-HTTP-SvenVanCaekenberghe.234' message 'changed the implementation of ZnHeaders to use ZnMultiValueDictionary; ZnLineReader now uses ZnConstants class>>#maximumLineLength (4096) as default for signaling a ZnLineTooLong exception; added a limit option to ZnMultiValueDictionary that defaults to ZnConstants class>>#maximumNumberOfDictionaryEntries (256) for signaling a ZnTooManyDictionaryEntries exception; added new ZnTooManyDictionaryEntries error; changed parent of ZnTooManyRedirects from Exception to Error and added a #isResumable true method; extended ZnMultiThreadedServer>>#readRequestSafely: to also catch ZnTooManyDictionaryEntries' id 'add34728-015e-46b6-9aeb-eda8f63e1f03' date '3 January 2012' time '3:42:40 pm' author 'SvenVanCaekenberghe' ancestors ((id '8dd541c9-2890-4a8f-b5cb-d6ac2e9341af')) stepChildren ())) stepChildren ())(name 'Zinc-HTTP-SvenVanCaekenberghe.235' message 'now using #trimBoth instead of #withBlanksTrimmed' id 'bc327259-a3d3-4829-a24a-504b08ab8cbf' date '8 January 2012' time '2:20:02 pm' author 'SvenVanCaekenberghe' ancestors ((id 'add34728-015e-46b6-9aeb-eda8f63e1f03')) stepChildren ())) stepChildren ())(name 'Zinc-HTTP-SvenVanCaekenberghe.242' message 'added ZnEntityTooLarge to the exceptions silently catched by ZnMultiThreadedServer>>#readRequestSafely:' id '8c18da8d-4ec0-40a7-92ea-01e7c09b9929' date '1 February 2012' time '11:26:10 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.241' message 'simplified and optimized implementation of ZnChunkedReadStream' id '36d5243f-deb3-4689-9315-d3d4c5393da7' date '31 January 2012' time '9:21 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.240' message 'added some speed improvements to the implementation of ZnLimitedReadStream' id '24874b38-2c00-4d0c-b3b3-cec7c4f91d71' date '31 January 2012' time '9:08:09 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.239' message 'fixed the implementation of ZnLimitedReadStream to honor EOF on the underlying stream' id '16a06aa4-34ec-4c81-87ca-701823088ac2' date '31 January 2012' time '8:55:24 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.238' message 'introduction of a resource limit to the size of entities read from a stream; added ZnConstants class>>#maximumEntitySize[:] added ZnEntityTooLarge resumable exception added ZnUtils class>>#readUpToEnd:limit: #readFrom: logic of Zn[String|ByteArray|MultiPartFormData]Entity now take the limit into account extended ZnChunkedReadStream and ZnLimitedReadStream with #readInto:startingAt:count: as a first step to improve their performance' id '4af222aa-e05c-458b-a1ce-2d62b2d23d2d' date '31 January 2012' time '2:02:43 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.237' message 'changed ZnMimePart class>>#fieldName:value: to use ZnEntity>>#with: on the value so that Strings become ZnStringEntities and others become ZnByteArrayEntities; changed ZnUrl>>#queryAt: to signal a KeyNotFound error when there is no query' id '37e466f7-592f-4f15-a016-f2689b56f3fb' date '29 January 2012' time '7:43:08 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.236' message 'added ZnUrl>>#retrieveContents convenience method' id 'b5d081c0-6b4f-40a2-8e4c-5b58c4a02de5' date '24 January 2012' time '11:59:43 am' author 'SvenVanCaekenberghe' ancestors ((id 'bc327259-a3d3-4829-a24a-504b08ab8cbf')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Zinc-HTTP-SvenVanCaekenberghe.256' message 'renamed ZnServer>>#interface[:] to ZnServer>>#bindingAddress[:] following a suggestion by Norbert Hartl, Thx!' id 'a3d6638c-d5c4-4c20-a6c1-566e00b752fb' date '13 April 2012' time '1:20:15 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.255' message 'added technology to allow entities to be read binary even when they are textual, thus disabling Zn''s normal decoding behavior; this is what Seaside expects (as Seaside does its own conversions); added ZnEntityReader>>#[is]Binary; added ZnMessage[class]>>#readBinaryFrom: added ZnEntity class>>#readBinaryFrom:usingType:andLength: added ZnSingleThreadedServer>>#reader[:] to allow customizing entity reading' id 'e0d6d894-7fbb-41dd-8376-f87e4ca9da32' date '7 April 2012' time '6:29:44 pm' author 'SvenVanCaekenberghe' ancestors ((id '3b82b4f5-a0ed-44b4-bcd1-a5ec129d9d42')) stepChildren ())) stepChildren ())) stepChildren ())(name 'Zinc-HTTP-PaulDeBruicker.257' message ' Added ZnResponse>>#isError which checks if the ZnStatusLine code is >399. ' id '63eca7f3-2b5b-4112-b91e-b76ddcf0453c' date '19 April 2012' time '5:05:46.274 pm' author 'PaulDeBruicker' ancestors ((id 'a3d6638c-d5c4-4c20-a6c1-566e00b752fb')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'Zinc-HTTP-SvenVanCaekenberghe.292' message 'fixed an offset bug in ZnUtils>>#streamFrom:to: (thx again, Chris Bailey)' id '932b7c3b-0892-48e0-a156-87cd9c4661cf' date '3 August 2012' time '10:49:38.054 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.291' message 'various fixes to ZnChunkedReadStream>>#readInto:startingAt:count: (thx Chris Bailey for reporting the problem); added ZdcALimitedReadStream>>#nextInto: as it is used by Fuel' id '3d8c50cd-2d7b-459f-89f3-b77a23dccfdd' date '2 August 2012' time '11:26:02.302 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.290' message 'added ZnUtils class>>#streamFrom:to: to copy one stream to another using a buffer without knowing the size upfront and thus using #atEnd; patched ZnStreamingEntity>>#writeOn: to use the new method when the content-length is nil or 0' id 'b7c44798-970d-4ab0-9da4-e73a095c91c3' date '20 July 2012' time '1:11:50.126 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.289' message 'allow for the schemes ws and wss to be equivalent to http and https' id '894699cd-a923-4fe0-b71c-6c629dde4f89' date '20 July 2012' time '10:33:30.682 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.288' message 'removed usage of OS version from ZnUserAgentSettings class>>#platformDetails' id '9811cc67-6a03-4c46-a67a-952727699d1c' date '16 July 2012' time '11:49:14.402 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.287' message 'Changed ZnStreamingEntity>>#readFrom: to no longer switch to non-binary - this was wrong anyway since no encoding was used' id '285ffb16-c7b3-4f82-9c19-7db828769d6e' date '13 July 2012' time '8:30:16.337 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.286' message 'trying to restore ancestry and some lost changes: merged Zinc-HTTP-SvenVanCaekenberghe.282 and Zinc-HTTP-SvenVanCaekenberghe.283' id '55810020-2df7-4b64-9872-4eccb8db92da' date '12 July 2012' time '10:12:57.048 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.285' message 'enabled HTTPProgress signalling during streaming up/downloads. introduction of ZnSignalProgress with #enabled method' id 'e992fd76-efde-4b31-b4b4-bd468f8176f2' date '12 July 2012' time '9:58:00.055 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.284' message 'bugfix related to Pharo 2.0 - changed ZnClient>>#dowloadEntityTo: to use ZnFileSystemUtils class>>#newFileNamed:do: instead of #fileNamed:do:' id 'e71138c5-9577-4315-bbb9-19101b1a44cb' date '12 July 2012' time '1:23:15.488 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-MarcusDenker.282' message 'Issue 6259: DataStream is still there http://code.google.com/p/pharo/issues/detail?id=6259 Issue 6255: Zinc Pharo Conference update with FileSystem support http://code.google.com/p/pharo/issues/detail?id=6255 Issue 6223: FileLocator and FileRerernce have extension from File Package http://code.google.com/p/pharo/issues/detail?id=6223' id '03911f2b-c422-4142-bedf-617d90674243' date '4 July 2012' time '4:16:25.831 pm' author 'MarcusDenker' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.281' message 'introduction of the Zinc-FileSystem-Legacy package (including the new ZnFileSystemUtils class) to deal with pre/post FIleSystem introduction in Pharo 2.0 - this is the old code' id '1fcf9d84-c2c3-4e70-b45a-6c68a381329d' date '3 July 2012' time '1:48:02.791 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.280' message 'clean up ZnClient option setter methods to return self for easy chaining (thx Sean DeNigris)' id '00d1da5e-18a2-4f96-afe7-c7f7d6fe0c6c' date '30 May 2012' time '10:14:53 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.279' message 'added ZnMimeType class>>#applicationPdf as a convenience accessor as well .pdf as recognized file extension' id 'd636e0ff-907e-4299-bf7f-4328840ba225' date '27 May 2012' time '6:50:12.516 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.278' message 'added multiline/continuation header line parsing to ZnHeaders; added some extra guards to ZnDigestAuthenticator class>>#parseAuthRequest' id '5c5f70f9-0f04-4941-a09a-cbf28ba154e4' date '22 May 2012' time '10:48:12 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.277' message 'simplified the example in the class comment of ZnDispatcherDelegate' id 'c4263c43-acf8-44b7-a3cb-6731e8d1a125' date '21 May 2012' time '10:02:55 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.276' message 'minor fix to ZnStaticFileServerDelegate' id '388a9cd6-b0b8-41ee-a24a-00aae254fa48' date '15 May 2012' time '1:15:34 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.275' message 'refactored ZnStaticFileServerDelegate a bit: - store expiration times as seconds in #defaultMimeTypeExpiration & #mimeTypeExpiration map - add not only Cache-Control but Expires header as well - removed unused #responseForFile: fixed a bug in ZnMessage>>#clearEntity (didn''t #close streaming entities with HEAD requests) ' id '94f2451b-b7e0-4d74-866b-d55b01c98ed9' date '14 May 2012' time '10:59:51 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-PaulDeBruicker.274' message 'Added handling for If-Modified-Since and Not-Modified headers to the ZnStaticFileServerDelegate' id '3f7f92c3-1ae8-4bd4-b4e2-5421cf49614a' date '12 May 2012' time '10:15:58.122 am' author 'PaulDeBruicker' ancestors ((name 'Zinc-HTTP-PaulDeBruicker.273' message 'Added the ability to set expiration headers when serving static files with the ZnStaticFileServerDelegate. Can probably adapt it to work when returning files from a WAFileLibrary if there isn''t already a mechanism for that. ' id '7684ed9a-80b2-47bb-a165-6e7ef40d555e' date '11 May 2012' time '3:26:02.487 pm' author 'PaulDeBruicker' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.272' message 'updated ZnServer welcome page' id '1511b44d-a8f8-4a66-9ab7-0c5d3b0ca955' date '11 May 2012' time '3:22:56 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.271' message 'added ZnClient>>setIfModifiedSince: refactored #downloadTo: using #downloadEntityTo:' id 'deabc112-7505-4072-9116-16200a9ea513' date '10 May 2012' time '10:46:26 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.270' message 'merged ZnUtils class>>#parseHttpDate: improvements by Sean DeNigris' id 'eec865bb-4103-4a28-9e55-5d3c471f26c7' date '10 May 2012' time '8:30:06 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SeanDeNigris.269' message 'Fix the HTTP date parsing to comply with the HTTP/1.1 standard. See discussion at http://forum.world.st/Parsing-HTTP-dates-td4623688.html. Matching update to the tests (which all pass): Zinc-Tests-SeanDeNigris.140' id 'c7d98308-0259-4d69-a273-0572a06d9d0f' date '10 May 2012' time '12:25:56.375 pm' author 'SeanDeNigris' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.268' message 'added ZnClient>>#uploadEntityFrom: and #contentType: as a convencience to easier do a direct PUT or POST of a file.' id 'e4dabff1-c4ef-4630-85d3-f00afbb516e7' date '9 May 2012' time '9:57:01 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.267' message 'first, not yet integrated versions of ZnCharacter[Read|Write]Stream; added iso-8859-15 to known encodings in ZnByteEncoder; added some optimizations to ZnNullEncoder' id 'e25c20c3-e14a-493d-88fa-7c9717455beb' date '3 May 2012' time '10:15:14 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.266' message 'added #match: and #contents to ZnChunkedReadStream and ZnLimitedReadStream; added some convenience methods to ZnCharacterEncoder: #encodeString: #decodeBytes: and #encodedByteCountForString:' id '72b9579d-c272-417f-8949-2e66714574ba' date '2 May 2012' time '4:43:52 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.265' message 'finalized switch from ZnClient>>#downloadToFileNamed: to ZnClient>>#downloadTo: which also accepts directories and creates a file there like wget or curl can (as suggested by Sean P. DeNigris). Roll back FileSystem usage for now.' id '618f4d2b-35ee-4c05-a495-e74b8a793399' date '26 April 2012' time '4:45:21 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.264' message 'fixed ZnClient>>#downloadTo: using old school FileDirectory/FileStream' id '4d6a0d40-0927-4b6b-9c98-a583922b58b2' date '26 April 2012' time '2:34:09 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.263' message 'added experimental ZnClient>>#downloadTo:' id '2d0dd4da-87a0-44d5-b4aa-410041e67897' date '26 April 2012' time '2:19:23 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.262' message 'added ZnClient>>#downloadToFileNamed: ' id '483455c8-f370-40e8-8848-036044211929' date '25 April 2012' time '9:19:35 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.261' message 'timezone offsets should be Durations' id '070fd646-c4ee-451c-94f4-bf67010ada05' date '23 April 2012' time '3:41:34 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.260' message 'updated ZnEasy comment' id 'af3c61c1-498c-430a-9136-ddaf1d5537fe' date '21 April 2012' time '11:13:54 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.259' message 'Zinc-HTTP-PaulDeBruicker.257' id '67dd4881-a30f-4051-b052-f07774efec8c' date '20 April 2012' time '10:27:51 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.258' message 'merging forgotten 255 & 256 into 257' id '0c026aa8-59d1-42db-a714-8079feca26d3' date '16 April 2012' time '6:25:41 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.257' message 'minor allocation improvement to ZnStringEntity>>#readLimitedFrom:' id 'bc3d146e-dca8-4245-be9c-25f3fb76c1cb' date '15 April 2012' time '7:23:24 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.254' message 'ZnBivalentWriteStream has to forward #flush to its wrapped stream' id '3b82b4f5-a0ed-44b4-bcd1-a5ec129d9d42' date '4 April 2012' time '4:08:44 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.253' message 'modified the implementation of ZnUtils class>>#streamFrom:to:size: to use a larger buffer when necessary and to flush the output stream each time through the loop except for the last one (this is need because we use SocketStream with autoflush false and this results in internal buffer overflow on very large writes).' id '183dc82c-6011-45b4-8a56-2c8415d381fe' date '4 April 2012' time '1:46:20 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.252' message 'changed ZnDefaultServerDelegate>>generateDWBench to use a date/time timestamp with a constant space representation ' id '94aee4dc-7124-485c-a70d-2d8f2831b35f' date '18 March 2012' time '7:23:19 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.251' message 'added ZnServer>>#localUrl ' id 'c56ae9d6-6fb1-481c-94fe-fc9ee8fa59b9' date '12 March 2012' time '10:23:47 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.250' message 'added the option to restrict ZnServers to only listen on a specific interface; added Zn[SingleThreaded]Server>>interface[:]; added ZnNetworkingUtils [class]>>#serverSocketOn:interface' id '5097d852-2887-45ca-9f2f-5dc50ffc95f4' date '12 March 2012' time '7:50:44 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.249' message 'added some extra API to ZnMimeType to manipulate parameters and charSets' id '209986ca-144b-46d7-8449-f34b0e9c1864' date '6 March 2012' time '11:10:35 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.248' message 'Switched ZnServer class>>#defaultServerClass to ZnManagingMultiThreadedServer; Add ZnStandardOutputLogger and ZnSingleThreadedServer>>#logToStandardOutput' id 'aaab5645-ed48-4174-bdb5-53037fb297db' date '4 March 2012' time '8:25:19 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.247' message 'changed usage of #deprecated: to #deprecated:on:in:' id '5ae403b7-a4cb-4ca9-a49a-0e71b6bd036a' date '4 March 2012' time '10:35:23 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.246' message 'extended ZnDefaultServerDelegate>>#generateStatus' id 'e1714401-1e45-4d67-97cd-7b735be277a2' date '1 March 2012' time '1:58:26 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.245' message 'fixed a bug related to sending multiple cookies; fixed a bug related to receiving and sending cookies during redirects; thank you Sean DeNigris; ZnClient>>#prepareRedirect now receives and sends cookies; ZnClient>>#sendCookies now uses a single Set-Cookie header containing multiple cookies instead of multiple Set-Cookie headers; added ZnClient>>#resetCookies; extended ZnClient logging with #debug printing of headers and processed cookies; minor changes to ZnClient internal state variable' id '35bf1aac-cf81-479a-8683-8ad057b7566a' date '29 February 2012' time '8:10:13 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.244' message 'refactored/extended ZnRequest with authorization and basic authentication access' id 'b2397b7f-ec54-4461-999d-90bfa1fd517a' date '23 February 2012' time '10:17:43 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-MarcusDenker.243' message 'Issue 5299: Yet another Zn update http://code.google.com/p/pharo/issues/detail?id=5299' id '583fa1ec-e230-4a83-8a67-12cb734c2bdb' date '17 February 2012' time '3:13 pm' author 'MarcusDenker' ancestors ((name 'Zinc-HTTP-StephaneDucasse.236' message '- Issue 5149: add line in comment of VirtualMachine class>>parameterAt:. ThanksLuc Fabresse and Mariano Martinez-Peck. http://code.google.com/p/pharo/issues/detail?id=5149 - Issue 5132: CommentReference SourcedMethodReference MethodReference are now deprecated http://code.google.com/p/pharo/issues/detail?id=5132 - Issue 2560: Convenient methods from Grease for Strings. Thanks Sven van Caekenberghe. Part one. http://code.google.com/p/pharo/issues/detail?id=2560' id 'f47fd8ea-3884-4572-9af9-d9f6eb4457c9' date '9 January 2012' time '5:23:41 pm' author 'StephaneDucasse' ancestors ((name 'Zinc-HTTP-StephaneDucasse.235' message '- Issue 5157: Finder > Class > right-click > Hierarchy opens not on Class but on FinderClassNode. Tx Benjamin van Ryseghem. http://code.google.com/p/pharo/issues/detail?id=5157 - Issue 5151: Recategorization of PanelMorph. Thanks Benjamin van Ryseghem. There is no useless cleans. Even small steps are cool and important. http://code.google.com/p/pharo/issues/detail?id=5151 - Issue 5154: It would be great to have a setting to allow the Debugger to open centered and be 3/4 of screen. Thanks Alain Plantec. http://code.google.com/p/pharo/issues/detail?id=5154 - Issue 5148: LimitNumberOfEntriesInZnMultiValueDictionary. Thanks Sven van Caekenberghe. http://code.google.com/p/pharo/issues/detail?id=5148 ' id 'c1c64007-e1ae-4347-b059-eb64071c1845' date '7 January 2012' time '7:13:20 pm' author 'StephaneDucasse' ancestors ((name 'Zinc-HTTP-ZincUpdate.234' message '- Issue 5127: Zinc update http://code.google.com/p/pharo/issues/detail?id=5127 - last bit of Issue 4688: progress bar disappears on image save http://code.google.com/p/pharo/issues/detail?id=4688' id '96fb41c6-6187-4572-82d5-88acaff58417' date '25 December 2011' time '11:01:50 pm' author 'ZincUpdate' ancestors ((name 'Zinc-HTTP-StephaneDucasse.233' message '- Issue 5117: MNU: Transcripter class>>open. Thanks vpnbecmann. http://code.google.com/p/pharo/issues/detail?id=5117 - Issue 5122: ZnUpdate-Dec-20. Thanks sven van caekenberghe. http://code.google.com/p/pharo/issues/detail?id=5120' id '49c87187-0e9e-41aa-a78d-f2eeba91da2f' date '25 December 2011' time '11:47:49 am' author 'StephaneDucasse' ancestors ((name 'Zinc-HTTP-MarcusDenker.227' message 'Issue 5063: Zinc uses default encoding of utf-8 when encoding url safe encoded strings http://code.google.com/p/pharo/issues/detail?id=5063' id '3a35f66b-1807-4525-be31-56999a7ec249' date '9 December 2011' time '1:17:57 pm' author 'MarcusDenker' ancestors ((name 'Zinc-HTTP-MarcusDenker.224' message 'Issue 5048: Move Transcript to Tools Package http://code.google.com/p/pharo/issues/detail?id=5048 Issue 5047: Stream should not print its contents in printOn: http://code.google.com/p/pharo/issues/detail?id=5047 Issue 5053: ZnChunkedReadStream doesNotUnderstand: #next:into: http://code.google.com/p/pharo/issues/detail?id=5053' id '545d1d37-4bce-4a96-a438-cc7ad16618f9' date '4 December 2011' time '1:38:23 pm' author 'MarcusDenker' ancestors ((name 'Zinc-HTTP-MarcusDenker.222' message 'Issue 4998: ContextPart>>#runUntilErrorOrReturnFrom: (for testing) http://code.google.com/p/pharo/issues/detail?id=4998 Issue 4994: Two failing test in ProcessTest http://code.google.com/p/pharo/issues/detail?id=4994 Issue 5014: zn updates http://code.google.com/p/pharo/issues/detail?id=5014' id '0eaf0a8a-f842-4a22-83d9-b1c65bf2b853' date '25 November 2011' time '4:03:18 pm' author 'MarcusDenker' ancestors ((name 'Zinc-HTTP-StephaneDucasse.221' message ' Issue 4903: New version of Zinc http://code.google.com/p/pharo/issues/detail?id=4903' id '37c68635-515f-43fb-8665-9d7674c0aee3' date '18 November 2011' time '3:18:42 pm' author 'StephaneDucasse' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.220' message 'added auto initialization of ZnNetworkingUtils>>#secureSocketStreamClass' id '147d6c42-b509-40e4-abb0-7c804d5df01d' date '13 November 2011' time '9:46:06 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.219' message 'reworked ZnNetworkingUtils to take over most if not all functionality of ZnZodiacNetworkingUtils so that HTTPS should work out of the box when Zodiac is loaded; small refactoring to ZnServer hierarchy: use #socketStreamOn: consistently' id 'f0eb7dbf-ae05-4daa-87da-84feb09ba23a' date '10 November 2011' time '2:09:21 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.218' message 'renamed ZnNeoClient -> ZnClient; added a better class comment' id '8c789ded-a882-4491-bdf9-e9ad45af69f2' date '8 November 2011' time '10:33:34 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.217' message 'renamed ZnClient -> ZnClientOld' id 'df12536b-7fa7-4e00-84eb-6de051894eb6' date '8 November 2011' time '10:14:35 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.216' message 'documented all public methods of ZnNeoClient; minor fixes: - #close sets state to nil - #contents return the stream when streaming - #headerAddAll: and #headerAt:add: now do a #resetRequestIfNeeded' id 'bfb5ff74-76f9-4689-a976-95ef34260531' date '8 November 2011' time '9:10:32 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.214' message 'moved deprecated classes to category Zinc-HTTP-Deprecated, noted deprecation in class comments' id '248c4eaf-ca0f-4584-99f4-d399438fd2ed' date '4 October 2011' time '7:11:17 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.213' message 'small fix to ZnUrl>>#inContextOf: (don''t take over the port when the scheme''s differ)' id '54792b4f-3ff6-479d-950f-91fb8052c960' date '4 October 2011' time '4:07:54 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.212' message 'deprecated instance creation (#new) of ZnFixedClient (and ZnExtendedFixedClient) and ZnUserAgent (and ZnHttpClient)' id '4fa83eba-2814-4b9c-8a71-5376eb1feaf5' date '4 October 2011' time '2:23:43 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.211' message 'added basic ZnNeoClient>>#signalProgress support' id '1f875569-9635-4039-bd9a-43b2ceb46400' date '4 October 2011' time '1:48:05 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.210' message 'added logging support to ZnNeoClient' id '6d7ff297-2967-413a-95d6-c0af0c0720d4' date '4 October 2011' time '12:53:36 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.209' message 'added some Pharo 1.2 compatibility (ZnMultiThreadedServer>>#exceptionSet:)' id 'b4d77e24-8821-4cac-b32d-f0f1412cf0f5' date '4 October 2011' time '9:57:30 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.208' message 'made ZnClient deprecations proceedable and added a test for this behavior' id '7990b131-582c-4c3b-8077-ef408ae802fb' date '3 October 2011' time '2:44:33 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.207' message 'added some logging to #closeDelegate' id '2900a3fc-3677-49d4-98c0-4b6b1ffe772b' date '27 September 2011' time '8:37:56 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.206' message 'added internal ZnNeoClient>>#resetRequestIfNeeded and ''state'' instance variable to try to properly reset after a first request is executed and a second one starts (the idea is to only keep using scheme/host/port and the connection)' id '9d23f62f-0d10-451a-ac95-ca8acd5b0780' date '23 September 2011' time '2:58:34 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.205' message 'modified ZnHeaders>>#contentLength to allow for the special case when there are multiple content-length headers, but only when they are identical; fixed some typos in ZnHTTPSocketFacade where some arguments where ignored (thx Olivier Auverlot for reporting this) ' id '135d43af-b715-45d4-bd28-85323f49999d' date '20 September 2011' time '1:58:59 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.204' message 'made ZnTooManyRedirects an Exception instead of an Error subclass so that it is resumable; fixed ZnNeoClient>>executeWithRedirectsRemaining: to allow for a resumed ZnTooManyRedirects exception' id '1183d199-1245-4e35-ac40-a0d52576deb3' date '19 September 2011' time '1:30:06 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.203' message 'added redirect support to ZnNeoClient (throws ZnTooManyRedirects when needed); reworked ZnEntity #entity: #resetEntity: to allow nil as argument (see ZnHeaders>>#acceptEntityDescription:) added #clearEntity as well' id '90d7081c-2bb7-4a94-b45c-58e28dadf242' date '19 September 2011' time '11:09:57 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.202' message 'added ZnNeoClient>>#setIfModifiedSince: and test' id 'f02072f8-e33a-429d-8e27-169372fbc7f6' date '17 September 2011' time '8:42:50 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.201' message 'added time limit to ZnNeoClient connection reuse; added ZnNeoClient>>#headerAddAll: and #queryAddAll:' id 'a5b92040-b404-4fca-951d-9d5253156cbb' date '17 September 2011' time '2:05:36 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.200' message 'added optional delegate #close-ing to ZnServer hierarchy' id '915cab3c-eddb-44f0-b38e-61a5e83185ff' date '16 September 2011' time '5:40:45 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.199' message 'patched ZnRequest>>#setBasicAuthenicationUsername:password: to allow nil arguments for clearing the Authorization header' id 'c8cce21a-86d4-4a8d-bd03-21ea97514ce1' date '16 September 2011' time '1:52:16 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.198' message 'introducing ZnEasy to take over the class side functionality of ZnClient; ZnClient class side protocol being deprecated' id '37a8ac41-bd8c-4d7d-9d8c-3ef5d0c2fc0a' date '15 September 2011' time '8:42:57 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.197' message 'Modifed ZnNeoClient>>#isContentTypeAcceptable to allways accept empty responses; Added ZnResponse>>#isCreated test' id 'efcd6b46-0332-4a34-8523-8470bcfa6764' date '14 September 2011' time '3:30:47 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.196' message 'added ZnUtils class>>#parseHttpDate: for use in ZnCookie>>#expiresTimeStamp' id '0f0b5286-c002-45f2-9ec6-9b21a7c8eb13' date '13 September 2011' time '11:51:12 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.195' message 'added extra guard to ZnLineReader>>#processNext for when #next returns nil' id 'cab4a65f-52f8-ce41-996c-a1c2a6b1bb95' date '12 September 2011' time '2:27:14 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.194' message 'added a nice example to ZnClient class>>#getPng: (Thx Lukas Renggli)' id 'f90ea18e-4d80-4d8d-aff1-ecb917f191ce' date '12 September 2011' time '9:32:07 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.193' message 'Changed ZnManagingMultiThreadedServer class comment' id '64e3aa90-0672-4f41-9093-6e5c97b16a79' date '6 September 2011' time '12:32:56 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.192' message 'pushed down the connection management functionality of ZnMultiThreadedServer to a new subclass called ZnManagingMultiThreadedServer' id '859098cb-28ff-453a-b8ec-dc41d10f7859' date '5 September 2011' time '2:24:54 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.191' message 'changed ZnMultiThreadServer''s lock and connections instance variable to be lazy initialized, removed the initialize code' id '9f394e71-7904-40bd-9551-03faf2f1be98' date '5 September 2011' time '12:06:45 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.190' message 'added a guard clause to ZnMultiThreadedServer>>#closeConnections so that nothing is done when there are no connections' id 'f7bdca17-3172-45cf-969d-531845cb9e35' date '5 September 2011' time '11:40:06 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.189' message 'Added some new internal functionality to ZnMultiThreadedServer: To keep track of all its open client connections (socket streams) (#socketStreamOn: and #closeSocketStream) so that they can all be force closed (#closeAllConnections) when the server stops (#stop). This is necessary because on image save the worker processes and socket streams are frozen and fail when they start up afterwards due to illegal socket handles. Note that #readRequestSafely: was extended and #writeResponseSafely:on: was introduced to handle several exceptions, most notably PrimitiveFailed, in the situation where a socket stream is force closed on a live process using that stream. This can be observed in #testTimeout. The timeouts on reading/writing socket streams take care of closing connections that are kept open too long. Maybe the server side timeouts should be even shorter to conserve resources. ' id 'b4f2d979-0097-4dc8-bde9-23edda15a3f9' date '4 September 2011' time '3:20:15 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.188' message 'some simplifications to ZnNeoClient removed some dead code from ZnUserAgent' id 'a81a6b6f-ad24-4c3f-aa91-120a404fa082' date '31 August 2011' time '10:06:26 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.187' message 'added basic cookie support to ZnNeoClient; refactored some cookie related code; ZnMessage subclasses ZnRequest and ZnResponse each implement #addCookie: and #cookies for different headers; removed ZnHeaders>>#cookies; replaced ZnCookie>>#asString with ZnCookie>>#nameValueString and ZnCookie>>#fullString; added ZnNeoClient>>#get: and friends as convenience protocol' id '13e276c0-e257-4004-ad61-2e2fc6b5d829' date '30 August 2011' time '10:53:17 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.186' message 'added contentReader/contentWriter options to ZnNeoClient to use in #contents and #contents: fixed general ZnNeoClient>>#execute result to be either #contents on success or the result of the #ifFailBlock on failure' id '09f5880c-8b8e-4de1-9cc2-0e3306c987a1' date '19 August 2011' time '5:27:35 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.185' message 'reimplemented ZnHTTPSocketFacade using ZnNeoClient' id 'c969791c-20ec-483d-b053-edc9c44c946b' date '19 August 2011' time '11:45:37 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.184' message 're-implemented ZnClient class side methods using ZnNeoClient; revised ZnConnectionTimeout handling to allow nesting/overriding by changing the default to nil (see ZnNeoClient>>#withTimeoutDo:); changed ZnUrl>>#authority to not return a default port; added basic authentication support to ZnNeoClient; added ZnNeoClient>>#entity[:]' id '2dea8f25-4226-476c-ad33-6108bad5183b' date '18 August 2011' time '11:11:28 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.183' message 'listening to the code critics (mostly formatting)' id 'a1062344-e54b-46b5-be1e-e12e39932a62' date '18 August 2011' time '2:50:08 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.182' message 'added empty ZnEntity>>#close added ZnStreamingEntity>>#close to close the underlying stream if any ZnMessage>>#resetEntity: now sends close to the enity being replaced if necessary added ZnResponse class>>#methodNotAllowed: ZnStaticFileServerDelegate now refuses not GET/HEAD requests ZnSingleThreadedServer>>#handleRequest: now does a #resetEntity: on HEAD requests implemented ZnNeoClient>>#head streamlined the responses of ZnNeoClient operations to return #contents, except for #head' id 'e9ce39cf-0dde-447a-af48-69d07048c9d1' date '18 August 2011' time '1:57:03 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.181' message 'added ZnMimeType wildcard constants #any and #text; added ZnHttpUnsuccessful and ZnUnexpectedContentType exceptions; extended ZnNeoClient with #ifFail:, #enforceHttpSuccess, #enforceAcceptContentType and retry behavior' id 'cfaa0963-4bb7-49d8-a3b1-f89527ee2bc2' date '17 August 2011' time '9:42:51 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.180' message 'added ZnMimePart class>>#fieldName:entity: and #fieldName:fileNamed: added ZnNeoClient timeout option, more url building api, support for applicationFormUrlEncoded and multiPartFormData encoded entities for post/put' id 'ea58662e-243e-4eff-ad90-7ac4ff58e9a3' date '17 August 2011' time '2:24:50 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.179' message 'added ZnUrl>>#inContextOf: extended ZnHeaders>>#request: to handle urls without a host added request url building to ZnNeoClient added oneShot option to ZnNeoClient' id '97d7e216-e0ff-4931-9dcf-498e2a938465' date '12 August 2011' time '1:52:04 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.178' message 'added code to throw a ZnMissingHost exception when a bogus ZnUrl is used to connect to a HTTP host' id '6b9c0a42-5a10-4b68-9c4c-efc33a7f52a4' date '11 August 2011' time '7:42:44 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.177' message 'added support for dealing with certain defaults in ZnUrl: - new ZnUrl class>>#fromString:defaultScheme: and ZnUrl>>#parseFrom:defaultScheme (while #readFrom: and #parseFrom: are still using nil as default scheme, like before) - new ZnUrl>>#asZnUrlWithDefaults (and private #setDefaults) - new ZnUrl>>#schemeOrDefault (along the lines of #portOrDefault) - improved support for parsing relative URLs' id '82463b1e-0ceb-494f-a9fd-ac7e043d1307' date '11 August 2011' time '3:29 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.176' message 'Merged Damien Pollet''s changes regarding the misspelling of ''Unknow[n]'' in exception class names (thx); First definition of ZnNeoClient; added support for better HTML Doc Types in some generated HTML pages of ZnDefaultServerDelegate' id '333bbc02-577c-44e3-9ef1-7489a5586f57' date '11 August 2011' time '10:33:51 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.175' message 'Changed ZnMimePart>>#fieldValueString to return an empty string instead of ''nil'' when the field is empty or absent (Thx Lukas Renggli)' id 'b95d0734-62d3-4de6-8a94-03816784d360' date '29 July 2011' time '2:23:01 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-MarcusDenker.172' message 'Issue 4326: Connection timeout problem http://code.google.com/p/pharo/issues/detail?id=4326 Issue 4417: Zinc does not honour network proxy configuration http://code.google.com/p/pharo/issues/detail?id=4417 Issue 4428: New mechanism for Zinc servers start/stop handling after system startUp/shutDown http://code.google.com/p/pharo/issues/detail?id=4428' id '190ce930-79bf-4a7e-b0fa-60d1fbaecfe0' date '21 June 2011' time '4:08:49 pm' author 'MarcusDenker' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.171' message 'removed some bogus class variable from ZnConnectionTimeout' id '11c76430-7cc0-4885-b4a0-709f3fbf4f57' date '20 June 2011' time '2:50:35 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.170' message 'fixed undeclared in ZnNetworkingUtils class>>#initialize (SocketStreamTimeout was renamed to DefaultSocketStreamTimeout)' id '15682e90-31ca-40e3-b26f-a4df4aab8814' date '19 June 2011' time '4:38:01 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.169' message 'implementation of a new mechanism for system #startUp/#shutDown handling by ZnServer(s): ZnServer holds a class variable ManagedServers, clients can #register/#unregister to receive #start/#stop when the system #startUp/#shutDown is sent; currently only the default server (of which there is only one instance per ZnServer subclass) is automatically registered/unregistered in #defaultOn: and #stopDefault, other instances must do this explicitely themselves ' id 'ebc443eb-7ce9-488c-92cb-05a67179c4f4' date '19 June 2011' time '2:21:38 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.168' message 'introduction of ZnConnectionTimeout which is used by ZnNetworkingUtils class>>#socketStreamTimeout and defaults to ZnNetworkingUtils class>>#defaultSocketStreamTimeout Now you can do ZnConnectionTimeout value: 60 seconds during: [ ZnClient get: ''http://slowhost.com/foo'' ]' id 'dbe15895-070d-4a2f-8d62-dd40c5ba028a' date '18 June 2011' time '11:12:18 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.167' message 'merged' id 'cb16cb7a-5fac-494d-ab2a-97d4261f04ae' date '17 June 2011' time '3:51:56 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.165' message 'modified #on: Error do: to #on: Exception do:' id 'ccb2d275-7dd3-44f4-ace4-12fc2217f9a3' date '17 June 2011' time '3:46:54 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.164' message 'implemented support for proxies that require authorization; ZnHeaders class>>#requestHeadersFor: will add a Proxy-Authorization header when needed; added public API ZnNetworkingUtils class>>#proxyAuthorizationHeaderValueToUrl: removed public API ZnNetworkingUtils class>>#httpProxy and #isProxySet; upgraded public API ZnNetworkingUtils class>>#shouldProxyUrl: to be a primary interface; refactored internals of ZnNetworkUtils to use NetworkSystemSettings directly instead of HTTPSocket; this code still has to be tested and validated with real world proxies ' id '90d57d3d-fc41-4548-a2fd-dcd7c22a3a1f' date '17 June 2011' time '9:16:22 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.163' message 'taking over a patch from Pharo (http://code.google.com/p/pharo/issues/detail?id=4326): adding SocketStreamTimeout as class variable to ZnNetworkingUtils to make this ''constant'' settable; the new default is now 30 seconds' id '3622d15d-b15a-4398-a9e6-0027e600a78a' date '9 June 2011' time '9:14:27 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.162' message 'extended ZnStringEntity>>#readUpToEndFrom: to deal with the weird SocketStream>>#atEnd issue by added an extra #peek; added ZnChunkedReadStream>>#peek; added chunk buffer reuse to ZnChunkedReadStream' id '0205b561-44a9-4434-b40b-976b5d9a65a6' date '19 May 2011' time '12:57:24 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.161' message 'a small change to improve Squeak compatibility' id '018ccd1d-2321-4dcb-b468-722a42b9d605' date '17 May 2011' time '9:34:03 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.160' message 'fixing support for HTTP proxies (thanks Alexandre Bergel for reporting this) requests to localhost are excluding from being proxied - ZnRequestLine>>#writeOn: now outputs absolute URLs when proxying - added ZnNetWorkingUtils class #isProxySet #shouldProxyUrl: and #httpProxy - added ZnUrl>>#isLocalHost - changed ZnUrl>>#host: to lowerCase its argument ' id '619a8697-4d71-4c1c-a99e-fe5e07f3dbb4' date '13 May 2011' time '11:07:48 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-NickAger.159' message 'minor refactoring to ZnDispatcherDelegate to use: ZnStatusLine ok rather than: ZnStatusLine code: 200 ' id 'e5ab93a6-b254-4ba2-bbd9-41ecf500f584' date '10 May 2011' time '3:53:33 pm' author 'NickAger' ancestors ((name 'Zinc-HTTP-NickAger.158' message 'refactored cookie support: ZnResponse>>#setCookie: has been renamed to ZnResponse>>#addCookie: ZnResponse>>#setCookies: has been removed ZnHeaders>>#cookies now returns a dictionary rather than a ZnCookieJar ZnCookieJar>>#cookieAt: a helper method I added, I''ve removed. The tests have been updated as required.' id '75f5dd45-9dcf-4491-a28c-4f8cbe8e784a' date '10 May 2011' time '11:39:41 am' author 'NickAger' ancestors ((name 'Zinc-HTTP-NickAger.157' message 'added ZnStatusLine creation constants and refactored ZnResponse to use the constants' id '3fa86243-d119-4ab5-b87d-3c8622aa9257' date '10 May 2011' time '9:13:37 am' author 'NickAger' ancestors ((name 'Zinc-HTTP-NickAger.156' message 'created ZnResponse>>#setCookie: and refactored ZnResponse>>#setCookies: to use #setCookie:' id 'ac85f148-5de7-4b04-8a81-d8e7222e1f78' date '10 May 2011' time '8:37:25 am' author 'NickAger' ancestors ((name 'Zinc-HTTP-NickAger.155' message 'added: Request cookie accessor Response cookie setter' id '41a8f7a2-dbda-45bd-a831-03b7c0d6ca37' date '10 May 2011' time '2:52:47 am' author 'NickAger' ancestors ((name 'Zinc-HTTP-NickAger.154' message 'added ZnDispatcherDelegate for straight-forward dispatching to mapped urls. Modelled after Ruby''s WEBrick API: server = WEBrick::HTTPServer.new(:Port => 2000) server.mount_proc("/heresy"){|req, res| Application.new.handle(req, res)} server.mount_proc("/favicon.ico"){|req,res| res.status = 404} ZnDispatcherDelegate API: server := (ZnServer startDefaultOn: 9090) delegate: (ZnDispatcherDelegate new map: ''/hello'' to: [ :request :response | response entity: (ZnStringEntity html: ''

hello server

'') ]; map: ''/counter'' to: [ :request :response | counterApplication handleRequest: request response: response ]).' id '87d63347-b4ab-4c50-86a4-8d7d89d24e32' date '9 May 2011' time '9:44:58 pm' author 'NickAger' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.153' message 'made ZnNetworkingUtils>>#socketStreamToHostNamed:port: private' id '44a98753-fe58-40bc-8a88-5887c0872212' date '9 May 2011' time '1:32:56 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.152' message 'extended ZnFixedClient with a scheme instance variable, adjusted the instance creation protocol, added a #baseUrl accessor for use in #newConnection; added ZnUrl class>>#defaultPortForScheme:; removed ZnNetworkingUtils class>>#socketStreamToHostNamed: to simplify the socket [stream] factory API' id '69fc77af-dddd-44c5-9119-11f9db4f85db' date '9 May 2011' time '10:23:58 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.151' message 'conversion of ZnNetworkingUtils into an instance socket[stream] factory and a class side API' id '6c95ba6b-65ec-47cb-b6dc-284fd95f3832' date '2 May 2011' time '10:46:36 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.150' message 'fixing a problem where responses without an explicit content-length but with an entity where not read as they should (thanks Esteban Lorenzano & Andy Burnett for reporting this): - ZnResponse>>#entityReaderOn: now extends the super entityReader with the #allowReadingUpToEnd option - ZnEntityReader>>#entityReader now swallows entities when they are #isEmpty (making them nil) - ZnStringEntity>>#readFrom: is split between #readLimitedFrom: and #readUpToEndFrom: where the last method has extra error handling to swallow ConnectionClosed exceptions (similar to what SocketStream>>#upToEnd does) - the ZnEntity hierarchy now implements #isEmpty' id '8fe0b470-7728-454d-bc90-fa42d8330817' date '1 May 2011' time '7:19:13 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.149' message 'rewrote ZnHTTPSocketFacade class>>#entendURL:withArguments: to be compatible with HTTPSocket class>>#argString: (Thanks Esteban Lorenzano)' id '3a49e678-fa7b-4c30-bdc6-0944c7637e7f' date '30 April 2011' time '8:55:03 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.148' message 'extended ZnDefaultServerDelegate with a configurable response to / (in the prefixMap the key ''/'' maps to another key that is used instead as prefix for another lookup)' id '309679c5-4d24-4741-b067-2adc9cc8f6c6' date '28 April 2011' time '10:27:32 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.147' message 'changed ZnServer class>>#initialize not to do a Smalltalk #addToStartUpList:after: but just use the plain #addToStartUpList: (we only depend on networking and multi-processing but those will probably be OK)' id 'b2b69990-95ff-40bc-9ff0-6cb11dc96a24' date '27 April 2011' time '7:42:51 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.146' message 'skipping over lost version: .145 fixed ZnUtils class>>#encodeBase64: to test whether Base64MimeConverter responds to #mimeEncode:multiLine:, fall back to #mimeEncode: and manually remove Character cr occurences; this should fix Pharo 1.1.1 compatibility (Thanks Esteban Lorenzano for reporting this) .144 added option to extend ZnDefaultServerDelegate''s prefixMap with block (taking request as argument, returning response); changed default welcome text to include reference to /help .143 added ZnUrl>>#postCopy; refactored ZnStaticFileServerDelegate and added the option to redirect for directories without an ending slash ' id '57e6d630-1045-413b-8938-1259024175f9' date '27 April 2011' time '4:22:32 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.145' message 'fixed ZnUtils class>>#encodeBase64: to test whether Base64MimeConverter responds to #mimeEncode:multiLine:, fall back to #mimeEncode: and manually remove Character cr occurences; this should fix Pharo 1.1.1 compatibility (Thanks Esteban Lorenzano for reporting this) ' id 'f9f0831d-5ffa-4a5c-a8ec-b276c9babc35' date '26 April 2011' time '7:01:32 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.144' message 'added option to extend ZnDefaultServerDelegate''s prefixMap with block (taking request as argument, returning response); changed default welcome text to include reference to /help' id '439b923a-997e-4f51-9b7d-90896f8dd97f' date '26 April 2011' time '1:44:01 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.143' message 'added ZnUrl>>#postCopy; refactored ZnStaticFileServerDelegate and added the option to redirect for directories without an ending slash' id '08a56e5b-3270-4231-9568-4e5beffb58ae' date '26 April 2011' time '1:24:30 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.142' message 'listening to the Code Critics' id 'c78b1867-b800-4b03-805a-004df5aa7556' date '20 April 2011' time '12:47:01 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.141' message 'small fix to ZnUrl>>#printPathOn: to deal with cases where forward slashes are encoded in URLs (Thanks, Jan van de Sandt for pointing this out); added ZnUrlTests>>#testEncodedSlash to cover these cases' id '88ca6bf6-ce11-447f-8a1d-be9c67e7db71' date '17 April 2011' time '10:33:32 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-PaulDeBruicker.140' message 'changed ByteArray declarations in ZnConstants>>#faviconBytes and ZnMultiPartFormDataEntity>>#parse:boundary: from square brackes to #() asByteArray so that the code loads with no problems into Pharo and Gemstone' id '9ac457ad-7824-4c0c-8d5d-e7ebe36f0280' date '10 April 2011' time '12:03:38 pm' author 'PaulDeBruicker' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.139' message 'added ZnDefaultServerDelegate /help & /status; updated framework version from 0.1 to 1.0 ;-)' id 'f960a4c5-2462-4cfb-81a9-9ee740d2e294' date '31 March 2011' time '10:17:16 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.138' message 'increased ZnSingleThreadedServer>>#acceptWaitTimeout from 60 to 300 seconds; added some infrastructure to use this looping for future periodic tasks' id '5ba796b1-d698-4595-8a48-1500029cc52e' date '30 March 2011' time '9:25:46 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.137' message 'added new logging framework in Zinc-HTTP-Logging, consisting of ZnLogEvent (an Announcment), ZnLogSupport and ZnLogListener and subclasses ZnTranscriptLogger, ZnMemoryLogger and ZnFileLogger; now using the new logging facilities in Zn[Single|Multi]ThreadedServer, ZnFixedClient and ZnUserAgent; introduced new subclass of ZnFixedClient, ZnExtendedFixedClient that adds various hooks for customization ' id 'bb85953b-e489-472d-997b-27e28941c052' date '29 March 2011' time '4:49:38 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.136' message 'added postProcessHook to ZnFixedClient; extended ZnFixedClient reuse logic so that it is limited to a maximum keep alive time (of 5s) so as not to bother running into an error anyway.' id '85d852c0-b357-42ca-95da-0ebaec1c78ad' date '28 March 2011' time '4:24:06 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.135' message 'added preProcessHook & newConnectionHook to ZnFixedClient' id '3bc47cd7-fae8-4e62-a80d-5d991de3c137' date '28 March 2011' time '2:24:04 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.134' message 'some Socket[Stream] options/parameters tweaking: - server socket listen backlog increased from 10 to 32 - socket buffer size decreased from 8192 to 4096 (these were refused anyway) - client socket streams now get the same treatment (#setSocketStreamParameters:) as accepted server socket streams (i.e. setting timeout to 10s and buffersize) ' id 'ee477f07-3703-4504-b62a-9e9905aec294' date '24 March 2011' time '11:01:18 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.133' message 'bugfix: it turns out that String>>#base64Encoded introduces newlines which we definitively do not want when doing Basic HTTP Encoding for example; introduced ZnUtils class>>#encodeBase64: to do the right thing and invoke Base64MimeConvertor with the #mimeEncode: multiLine: false; replaced all usages (added a #decodeBase64: for orthogonality); added a unit test to catch this ' id '8c6bc0e9-09b3-4b38-84dc-90b76ad30c94' date '21 March 2011' time '8:49:39 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.132' message 'added ZnResponse>>#isNotModified' id '9d915967-5593-4909-ad83-8ba8577f6cd7' date '21 March 2011' time '10:46:35 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.131' message 'introduced ZnUnknownScheme exception' id 'd4ee20cf-2166-4a40-98ee-3f89c21e4d2e' date '18 March 2011' time '1:31:43 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.130' message 'new categories: Zinc-HTTP-Exceptions and Zinc-HTTP-Streaming; added ZnParseError hiearchy to better handle illegal input; fixed a bug in dealing with percent encoding in ZnUrl paths; ZnMultiThreadedServer>>readRequestSafely: now closes on ZnParseErrors in the input' id 'ec9629aa-9c2a-45d2-aa2c-4988ab48b239' date '28 February 2011' time '3:59:37 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.129' message 'added ZnMultiPartFormDataEntity>>#partsDo:' id '5e8a1d68-ab52-4b98-80f5-4a75aa724b4f' date '27 February 2011' time '8:27:54 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.128' message 'added some extra allowed HTTP methods' id '5df00c70-8ce3-45a2-8991-770dcb04c480' date '24 February 2011' time '9:12:07 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.127' message 'implemented ZnLimitedReadStream>>#next:into:' id 'b99b13a8-0959-4e1e-a501-cf9ed2334d70' date '21 February 2011' time '11:32:04 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.126' message 'implemented ZnHTTPSocketFacade class>>#httpPostMultipart:args:accept:request: added ZnHTTPSocketFacade class>>#constructMultiPartFormDataEntity:' id 'fbc9bd8a-55fc-4bef-99b4-cd54bd89b0cf' date '7 February 2011' time '9:37:50 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.125' message 'added ZnResponse>>#serverError:' id 'f17a0fb7-5e9a-4188-885c-553e3a372d25' date '4 February 2011' time '11:03:51 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.124' message 'fixed a typo in the ZnMimePart instance creation methods (formdata should be form-data) (thx Cédrick Béler)' id 'af6dbddc-b5d8-482a-b2ef-4071fcbba787' date '31 January 2011' time '8:16:57 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.123' message 'added ZnUrl>>#queryDo: ZnApplicationForUrlEncodedEntity>>#fieldsDo: added ZnMessage>>#resetEntity: to allow overwriting content type and length when these are already set' id 'dffdb499-d272-4fca-9991-ad5c3ebdaad9' date '31 January 2011' time '1:58:47 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.122' message 'added proper content length computation to ZnMultiPartFormDataEntity (bugfix); some code cleanup to ZnEntity content length computation' id 'faea419a-c94d-4f44-b0ae-067b635f1c4e' date '27 January 2011' time '5:17:08 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.121' message 'added #textJavascript as a constant to ZnMimeType; added ZnByteEncoder to handle single byte encodings that do not map directly to the lower Unicode section (for example Latin2, ISO-8859-2) by reusing the mapping tables from ByteTextConverter; added #handlesEncoding: and #newForEncoding: protocol to class side of ZnCharacterEncoding hierarchy' id 'c040db5f-1548-45bb-9f9d-757b78a67d70' date '25 January 2011' time '1:48:40 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.120' message 'fixed ZnUserAgent>>#redirectUrl so that relative redirect urls are made absolute in reference to the (previous) request''s url instead of self url; changed ZnHttpClient>>#get and #head not to reference url as an inst var' id '4bf543a0-c919-4508-8703-d0a272e32691' date '20 January 2011' time '9:20:40 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.119' message 'fix ZnUserAgent>>#openConnection to honor its ZnUserAgentSettings>>#timeout' id '69b705b0-6b68-46f9-8ed0-ba43fe195768' date '20 January 2011' time '7:40:41 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.118' message 'Updated class comments' id 'acea0a40-8a21-4257-8191-72f399e4a2a4' date '18 January 2011' time '11:05:56 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.117' message 'more fixes to ZnUserAgent redirect following behavior: rewrote logic' id '39d2e9eb-9bdb-4ee4-8ca8-68c812abb3b7' date '14 January 2011' time '10:03:05 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.116' message 'changed the redirect behavior for POST/PUT requests: the common practice is to turn these into GET request, see ZnUserAgent>>#method:for:headers:data:imit: and ZnUserAgent>>#prepareRedirect:' id 'a102bbdc-8185-41b0-afa2-4d0af8f2557a' date '13 January 2011' time '1:39:01 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.115' message 'added an extra guard to ZnFixedClient>>#fixedUrl: when host is nil (thx, Cédrick Béler)' id 'ac2bcf63-4c24-4c6a-b696-2b8dff2eae4b' date '12 January 2011' time '4:15:06 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.114' message 'ZnUserAgent (and ZnClient) now can follow relative redirect locations; introduced ZnMultiValueDictionary to allow multiple values to be stored under one key as an array; using ZnMultiValueDictionary for queries and headers; ZnUrl now uses ZnUtils>>parseQueryFrom: again; various simplifications and cleanups which might help when reading the code in ZnUserAgent (and ZnClient); ZnUserAgent (and ZnClient) now handle parameter encoding differently ' id 'e1a49d00-d9f0-4800-8cd7-cb354e86d671' date '12 January 2011' time '2:03:44 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.113' message 'promoted ZnFixedClient>>#fixedUrl: and ZnClient>>#executeRequest: to public status (and added comments); changed ZnFixedClient>>#fixedUrl: to accept ZnUrl objects as well for more flexibility (allowing users to add query/fragment URL elements in addition to the path) ' id 'c3b62aa9-da90-4478-9ab3-ba2670411cb3' date '8 January 2011' time '8:36:28 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.112' message 'split of ZnNetworkingUtils from ZnUtils to separate related functionality (Thx S.Ducasses)' id '845f67f8-df1c-40cf-a644-4699f50bc3bb' date '7 January 2011' time '7:52:57 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.111' message 'fixed ZnClient class>>#getImageOfType:usingParser:fromUrl: to correctly report responses with unexpected mime types (Thx S.Ducasses) ' id 'd633bf09-4617-4e34-b6c7-0260dc759817' date '7 January 2011' time '7:35:18 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.110' message 'added ZnUrl>>#queryAddAll:' id 'ae2dbf13-b27d-4e45-ae66-24ee8687bb3a' date '5 January 2011' time '9:07:28 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.109' message 'added application/xml as a predefined constant to ZnMimeType' id 'eb18136d-284f-4501-81e3-8c18a0b0e503' date '5 January 2011' time '1:53:53 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.108' message 'various changes to reduce the (Lint) warning count' id 'e455691d-fadb-4303-a83f-680be600e875' date '4 January 2011' time '9:15:26 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.107' message 'introduced #asZnMimeType on ZnMimeType, MIMEType & String to replace ZnUtils class>>#asMimeType: which was removed' id '6008c428-e4d3-4767-9622-879979d4a9f9' date '4 January 2011' time '8:04:37 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.106' message 'more cleanup added ZnBivalentWriteStream>>next:putAll:startingAt: fixed ZnStaticFileServerDelegate example' id '2e02dc65-d058-4d72-94ff-309d005a7c16' date '4 January 2011' time '4:30:49 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.105' message 'removing unused extension methods' id '93d4f4d1-39de-40ca-9e38-6a8741df39c4' date '4 January 2011' time '4:11 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.104' message 'massive migration from builtin Url to ZnUrl; added asZnUrl to String and Url ' id '73cb3a10-8b68-4f91-96a4-80a4f8603695' date '4 January 2011' time '3:34:16 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.103' message 'first version of ZnUrl class' id '8e7d4ba7-f5d9-41e7-a489-e7bfa2804c8e' date '4 January 2011' time '12:22:49 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.102' message 'added an extra guard to ZnSingleThreadedServer>>#releaseServerSocket' id '8f40387c-7d98-4816-ad2b-35665b66b14b' date '19 December 2010' time '2:53:27 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.101' message 'added caching to ZnDefaultDelegate>>#bytes: to improve benchmarking performance: this make a huge difference (thx, Philippe Marschall); refactored ZnMultiThreadedServer>>#readRequestSafely: to use #, to concatenate exceptions into an exception set (how elegant) ' id 'ab05d220-caa7-4f39-9276-e71491ca9b78' date '19 December 2010' time '2:43:29 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.100' message 'added /bytes to ZnDefaultServerDelegate to measure the huge speed difference between binary and UTF-8 encoded data; added ZnServer>>#isListening' id '4c960061-613e-443b-82d6-268c144d5d52' date '15 December 2010' time '9:42:47 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.99' message 'refactored ZnServer hierarchy: - renamed old ZnServer to ZnSingleThreadedServer - renamed old ZnExperimentalServer to ZnMultiThreadedServer - added ZnServer as superclass and facade ZnServer class>>#defaultServerClass is now ZnMultiThreadedServer! ' id 'f1366cea-f241-4260-bd60-23b6747b537b' date '15 December 2010' time '3:56:59 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.98' message 'finally ''solved'' the ab (apachebench) concurrent load problem (ab -k does HTTP/1.0 with Connection:keep-alive and expects Connection:keep-alive back); added #isHttp10 and #isHttp11 to ZnRequest and ZnRequestLine; rewrote ZnMessage>>#isConnectionClose and #isConnectionKeepAlive; added ZnMessage>>#setConnectionKeepAlive; added ZnRequest>>#wantConnectionClose; added ZnResponse>>#setKeepAliveFor:; improved ZnServer logging with proper header (including PID); Zn[Experimental]Server>>#readRequest and #writeResponse:on: now do logging themselves #logRequest and logResponse now set lastRequest and lastResponse debugging instance variables ' id 'a463c5c8-a719-4d6e-b916-2b17116a8df0' date '14 December 2010' time '3:01:14 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.97' message 'revised #printOn: and helper methods of ZnMessage and ZnEntity hierarchy to support ZnServer>>#logRequest and #logResponse; fixed a bug in ZnStringEntity encoder initialization; extended ZnServer>>#acceptWaitTimeout to 60s; ' id 'f6ba0f3f-5b5a-4eb4-a54e-2c6c316ae95d' date '14 December 2010' time '12:23:09 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.96' message 'added #favicon: and #random: handlers to ZnDefaultServerDelegate' id '28d9458b-51e9-45e7-8ecf-3611b5039d2c' date '14 December 2010' time '10:54:06 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.95' message 'added #logger and #log: to Zn[Experimental]Server for extensive tracing' id '9a30d6f8-cd49-4ef4-8723-88d73ec297fe' date '14 December 2010' time '9:26:40 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.94' message 'made a number of socket related constants explicit in ZnUtils and ZnServer; ZnUtils class>>#socketStreamOn: now sets more options explicitely; improved process name in Zn[Experimental]Server; ZnDefaultServerDelegate>>#welcome: now replaces CR with LF in ZnConstants class>>#welcomePageHtml ' id 'b6740682-52d3-4cc6-af7a-8ce6f5a2dbfc' date '13 December 2010' time '5:02:18 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.93' message 'refactored ZnServer''s and ZnExperimentalServer''s #listenLoop and #serveConnection[s]On: with the introduction of #initializeServerSocket, #releaseServerSocket, #executeOneRequestResponseOn: and #executeRequestResponseLoopOn:' id '7308c60d-4aa0-4653-89eb-78c703dd047f' date '10 December 2010' time '4:17:17 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.92' message 'Simplified ZnServer by moving functionality to ZnDefaultServerDelegate, a new class handling echo, dw-bench, unicode and / welcome' id '3f058ee0-89a2-4999-bd25-f02bf68cf0ff' date '10 December 2010' time '3:54:08 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.91' message 'added ad improved ZnServer method comments' id '0a8191cc-e438-4345-bc9b-e42a11ef367e' date '10 December 2010' time '3:05:34 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.90' message 'added ZnBufferedWriteStream class>>#on:do: modeled after #fileNamed:do: a convenience method that makes sure #flush is a called' id 'b8d896bf-6688-41e0-8ca5-267326b29c2a' date '9 December 2010' time '6:26:21 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.89' message 'added ZnUtils>>#socketStreamToHostNamed:port: followed by some simplification and refactoring' id 'a00bab52-f57d-4d34-bc86-be0a4b2be3cc' date '8 December 2010' time '11:19:14 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.88' message 'added experimental ZnBufferWriteStream' id 'fd2dd63e-035b-4c72-a4d4-58933b890e13' date '8 December 2010' time '10:21:55 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.87' message 'added ZnValueDelegate that converts #handleRequest: to #value: on a wrapped object' id '34a705ac-c414-441f-a606-443e50f91449' date '7 December 2010' time '4:20:02 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.86' message 'some more comment improvements' id '6e89b08f-198b-4ccd-b334-801598105a9e' date '7 December 2010' time '3:23:09 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.85' message 'renamed ZnMagicCookie[Jar] to ZnCookie[Jar]' id '1885b80b-6dfc-4366-8f69-ba459de201ea' date '7 December 2010' time '12:02:25 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.84' message 'moved all classes from category ''Zinc-HTTP-New-*'' to ''Zinc-HTTP-*''' id 'fb5273fe-7cd7-4bf0-b4e4-a366bf735e65' date '6 December 2010' time '9:41:56 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.83' message 'removed all Zinc-HTTP-Old-* categorized classes from the Zinc-HTTP package (these will be moved to a new MC package called ''Zinc-Old'')' id '4123ffde-b6f7-4233-b9c8-ddfdac314c1f' date '6 December 2010' time '5:26:43 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.82' message 'removed #isBinary from ZnEntity (and subclasses) ''testing'' protocol' id '3b12b147-c0bb-447b-bac2-53d899b54703' date '6 December 2010' time '4:05:17 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.81' message 'ZnStringEntity>>#printContentsOn: now relies on #nextPutAll: instead of #print: to avoid quoting by String>>#storeOn:' id '83409534-1da5-4991-a7ba-eeed6de8b6c9' date '6 December 2010' time '3:16:22 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.80' message 'renamed class ZnNewStringEntity to ZnStringEntity' id 'ef1213ed-3501-4a47-b346-424edb8828c3' date '6 December 2010' time '1:50:02 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.79' message 'removed class ZnStringEntity' id '305134b7-e6f5-4930-b3ed-70ee5213bf01' date '6 December 2010' time '1:47:48 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.78' message 'ZnMessage>>#hasHeaders was wrong; ZnBivalentWriteStream class>>#on: will no longer instanciate a new wrapper if the wrapped stream is of its own type; went over all class comments and updated lots of them ' id '0ac22c19-d755-4abf-8271-701953203148' date '6 December 2010' time '1:12:57 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.77' message 'fixed ZnHTTPSocketFacade>>#httpPut:to:user:passwd: (apparently MC passed in a byte array instead of a string, luckily ZnEntity>>#with: can deal with this)' id '58c44c1f-02ea-40e3-a5bd-e54fcd38ffd3' date '4 December 2010' time '2:26:11 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.76' message 'large changeset: switch from ZnStringEntity to ZnNewStringEntity, now using binary socket streams on server, all with the goal of proper UTF-8 support; - ZnEntity and subclasses not do proper #printOn: using #printContentsOn: (this is used in ZnServer''s echo handler); - added ZnBivalentWriteStream>>#isBinary which caches the #isBinary property of the stream it wraps (added fallback when DNU #isBinary); - added ZnUtils>>#socketStreamOn: which is used by ZnServer>>#serveConnectionOn: to force a binary stream; - fixed ZnMessage>>#hasHeaders and ZnMimePart>>#hasHeaders; - debugged ZnNewStringEntity - in order to support both binary and character streams, ZnMessage, ZnStatusLine, ZnRequestLine and ZnHeaders now use a ZnBivalentWriteStream in their #writeOn: implementations; - fixed ZnUserAgent>>#processResponse: to only read headers and no entity when doing a HEAD request ' id 'c7354231-e350-4fa6-aee7-b3d7e68eae66' date '4 December 2010' time '2:11:32 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.75' message 'added instance creation and preferred subclass accessing protocol to ZnEntity to make it a facade; replace all direct references to ZnStringEntity and ZnByteArrayEntity with ZnEntity facade invocations ' id '38988dd8-c300-47cb-8aca-bf620c808fc3' date '3 December 2010' time '2:08:08 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.74' message 'added #isCharSetUTF8 and #setCharSetUTF8 to ZnMimeType; changed the defaults/constants #textPlain and #textHtml of ZnMimeType to use UTF-8 as charset; created new class ZnNewStringEntity that uses an encoder to write/read strings to/from a binary stream ' id 'b5a8d802-77ff-4880-9e20-3af6d16d14c4' date '2 December 2010' time '1:50:43 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.73' message 'ZnUTF8Encoder: introduced next block in #nextPut:toStream: to reduce code duplication; made #nextFrom: more compact' id 'b0852d58-48b1-48d8-8172-d54525449ef6' date '30 November 2010' time '1:49:46 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.72' message 'introduction of ZnCharacterEncoder, ZnNullEncoder and ZnUTF8Encoder' id '7cdd0747-637c-44a9-a835-8b055e0353b9' date '30 November 2010' time '12:28 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-pmm.71' message '- fix unit tests - see http://hudson.lukas-renggli.ch/job/Zinc/' id '3554a779-86fe-4c2b-a826-900044edbb67' date '25 October 2010' time '7:10:47 am' author 'pmm' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.70' message 'added ZnBufferedEntity (part 1 of a refactoring of entities)' id 'b703ca9b-f970-416a-bb28-c08a0246d585' date '20 October 2010' time '10:40:38 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.69' message 'ZnUtils>>socketStreamToUrl: meant to put the stream in binary mode but was using isBinary, fixed' id 'e85c3518-20bc-407b-9522-4cca9e0ce34d' date '14 October 2010' time '2:35:45 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-MattKennedy.68' message 'Added isComplete testing message to the ZnCredential classes to answer true if all required fields are set. Updated ZnUserAgent>>prepareCredentials:for:method to use ZnCredential>>isComplete test. Updated ZnUserAgent>>defaultErrorHandler to raise exceptions again.' id '25b31f4c-23b2-458e-939d-557bce7e1e71' date '6 October 2010' time '5:24:46 pm' author 'MattKennedy' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.67' message 'removed another String>>#trimBoth usage from ZnMimePart>>#contentDispositionValues; reimplemented ZnUserAgentSettings class>>#platform more elegantly ' id '72a2d1b8-f68a-4c85-84c6-e7f515f1879b' date '6 October 2010' time '9:34:33 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-MattKennedy.66' message 'Reverted ZnUserAgent>>defaultErrorHandler change. Wasn''t passing all tests correctly.' id '6a148c14-5451-4ca5-8180-767e1c376f08' date '5 October 2010' time '5:39:08 pm' author 'MattKennedy' ancestors ((name 'Zinc-HTTP-MattKennedy.65' message 'ZnUserAgent default error handler raises exceptions to the debugger again. Added ZnHttpClient>>parameterAt:add:' id '433b8d17-912b-46dd-9a52-3888f753fdc4' date '5 October 2010' time '5:33:49 pm' author 'MattKennedy' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.64' message 'added ZnUtils class>>#trimString: until String>>#trimBoth is available everywhere; fixed usage in ZnMimeType>>#contentDispositionValues ' id 'd25e7ffe-691e-43c1-9607-842b9225d5a8' date '5 October 2010' time '9:26:53 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.63' message 'first complete/working version of ZnMultiPartFormDataEntity and ZnMimePart (reading/writing/instance creation/accessing); added ZnMimeType>>#parameterAt:[ifAbsent:] ' id '5c9658b2-329f-4197-b9a5-d25751435191' date '5 October 2010' time '8:33:32 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.62' message 'first rough and unfinished implementation of ZnMultiPartFormDataEntity; started extending ZnMimePart to allow field handling; introduced ZnBivalentWriteStream ' id '19b39ff5-631f-4e08-bda2-370466c52bae' date '4 October 2010' time '9:24:15 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-MattKennedy.61' message 'Added ZnHttpClient which subclasses ZnUserAgent to implement a high level API. Updated ZnUserAgent>>prepareCredentials:for:method: to handle credentials stored on the session before the client receives a 401 from the server. ' id '70e0bcdb-0b42-4f13-9c9b-c7d1b8a01815' date '1 October 2010' time '10:31:54 pm' author 'MattKennedy' ancestors ((name 'Zinc-HTTP-MattKennedy.60' message 'Expanded options for MD5 hash mechanisms in ZnDigestAuthenticator. Added test method to ZnDigestAuthenticator to answer if MD5 support is available.' id '7b1d4f73-febb-4e32-86ca-8af7b3e610e5' date '1 October 2010' time '5:44:52.598 pm' author 'MattKennedy' ancestors ((name 'Zinc-HTTP-svc.59' message 'OK, even more fixes after testing in Squeak 4.1 (MD5 is still missing though)' id '44a8cccf-1470-4fa8-9e15-344cba9e6411' date '1 October 2010' time '9:56:22.612 pm' author 'svc' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.58' message 'OK, some more fixes after testing in Pharo 1.2' id '93d5f2cc-330a-4931-8163-599c21f80253' date '1 October 2010' time '9:44:24 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.57' message 'reimplemented ZnUserAgentSettings class>>#platform to deal with Pharo 1.1/1.2 portability issues (introduction of OSPlatform class); modified ZnUserAgent>>#prepareHeaders:for: to use ZnHeaders>>#addAll: ' id 'bf8f9509-4a6c-4fed-9575-3202a9627d2e' date '1 October 2010' time '9:37:10 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-MattKennedy.56' message 'Added .errorHandler to ZnUserAgent' id 'ae9aa81f-770d-40cc-859d-d1316d3a12cd' date '1 October 2010' time '2:44:47 pm' author 'MattKennedy' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.55' message 'merging' id '3cae8f4c-33ca-44ab-85e9-c7e5e8f6a84d' date '1 October 2010' time '9:43:18 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.54' message 'introducing ZnMimePart (has maybe to much implementation in common with ZnMessage, but in use they are less similar) ' id '8888796c-9303-408d-b6c0-30310fee5ab6' date '1 October 2010' time '9:41:57 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-MattKennedy.53' message 'Removed trimBoth: sender from ZnDigestCredential>>parseAuthRequest:' id '5d0dfdae-b927-4634-a4a9-272e3d78aeb0' date '30 September 2010' time '12:28:40 pm' author 'MattKennedy' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.52' message 'changed the required protocol for a ZnServer delegate from #value: to #handleRequest: ' id '6f652f18-f202-4ce8-b139-a47c687d36f1' date '30 September 2010' time '6:15:10 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.51' message 'changed ZnServer authenticator protocol from #value:value to #authenticateRequest:do: introduction of ZnBasicAuthenticator class as a first plugin ' id '49469b61-5c90-45cb-8253-5483f43f79e1' date '30 September 2010' time '4:35:01 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-LukasRenggli.50' message '- removed the sender of #trimBoth: that removes $" before and after the basic-autentication string, as #trimBoth: is not part of PharoCore - this fixes 2 breaking tests, but maybe introduces a regression on certain we browsers?' id 'a991e99b-b085-4cf0-ae5a-1d9addb5d83a' date '30 September 2010' time '8:33:20 am' author 'lr' ancestors ((name 'Zinc-HTTP-MattKennedy.49' message 'ZnDigestCredential now implements working Digest authentication support for client requests in ZnUserAgent.' id '4fb9842a-9138-4567-b15a-0136611d6ce8' date '29 September 2010' time '5:18:28 pm' author 'MattKennedy' ancestors ((name 'Zinc-HTTP-MattKennedy.48' message 'Handling authentication credentials for ZnUserAgent with ZnCredentials and ZnUserAgentSession implemented, currently with support only for Basic authentication.' id '40c5bd87-c830-4b93-97d7-4f6b4a52b0de' date '29 September 2010' time '12:57:02 am' author 'MattKennedy' ancestors ((name 'Zinc-HTTP-MattKennedy.47' message 'Added ZnCredential and subclasses for Basic and Digest auth. Only stubs right now, next step to flesh out with test cases. Updated ZnUserAgentSession for storing credential objects. Added ZnMagicCookieJar>>cookieAt:forUrl: and ZnUserAgent>>cookieAt:' id '45c35930-c60a-48b8-b2b5-68a29e905ca4' date '28 September 2010' time '4:38:54 pm' author 'MattKennedy' ancestors ((name 'Zinc-HTTP-MattKennedy.46' message 'Added ZnMagicCookie, ZnMagicCookieJar, ZnUserAgentSession. ZnUserAgent now accepts and sends cookies. Modified ZnHeaders>>readOneHeaderFrom: to add items with ZnHeaders>>at:add: instead of ZnHeaders>>at:put: to handle requests and responses with multiple Set-Cookie or Cookie headers.' id 'baf796cb-154c-454c-9ebd-c4f2d412a64c' date '28 September 2010' time '1:56:36 pm' author 'MattKennedy' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.45' message 'added ZnMessage>>#contents and ZnResponse>>#isSuccess; added ZnStreamingEntity>>#contents (non-repeatable); extended ZnFixedClient (added #isConnected and reimplemented #executeRequest error handling logic)' id '3831115e-48cf-466f-81e0-752247f6aefc' date '28 September 2010' time '2:17:57 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.44' message 'Merging Matt Kenedy''s code: Added ZnUserAgent and ZnUserAgentSettings' id '527f4690-0c3e-4e62-8482-de4bb3f76b0b' date '27 September 2010' time '11:36:10 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.43' message 'introduced ZnExperimentalServer to test server side connection keepalive/reuse; added ZnMessage>>#isConnectionClose; refactored ZnFixedClient with #preProcessRequest and #postProcessResponse (which handles server side connection close now) ' id 'bc799fbc-48ab-45c3-8cde-38fd1dd418bb' date '27 September 2010' time '11:25:06 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.42' message 'extended ZnEntityReader with the ability to read Gzip content encoded entities; added ZnRequest>>#setAcceptEncodingGzip; we now use socket streams in binary mode by default (see ZnUtils>>#socketStreamToUrl:); we''re now using ZnLineReader to read CRLF delimited lines (handles bivalent access); ZnEntities set content length in #readFrom: when reading upToEnd; refactored ZnLimitedReadStream to track position explicitely (added #position); added #position to ZnChunkedReadStream; fixed ZnMessage>>#readStreamingFrom: ' id 'c60def04-29e9-4bb0-95d2-dad31539c4cc' date '27 September 2010' time '7:55:43 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.41' message 'extended ZnEntityReader with ability to read chunked transfer encoded content (see #readEntity); created helper class ZnChunkedReadStream wrapping a chunked transfer encoded stream, hiding the encoding from clients; all ZnEntities'' #readFrom: methods now work either with defined #contentLength (as before) or with undetermined #contentLength (doing #upToEnd); added ZnHeaders>>#keysAndValuesDo: ' id '3a023d61-98e4-4eaa-9c60-e7826ce05fbf' date '26 September 2010' time '8:10:27 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.40' message 'introduction of ZnEntityReader helper object; added some more operations to ZnFixedClient; some API cleanup' id 'c076371b-1e6b-48ad-ad3e-78a678785484' date '25 September 2010' time '11:16:35 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.39' message 'first version of ZnFixedClient for talking to one host:port combination and trying for connection reuse; added ZnMimeType>>#applicationJson (as non-binary!) ' id '784a8e5d-f9ef-4b96-838c-86d330aeec7b' date '25 September 2010' time '9:14:28 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.38' message 'replace #crlf with nextPutAll: String crlf to improve stream compatibility; added #url accessor to ZnRequest (alias to #uri)' id '12cb56a0-a124-4e23-bded-52ad0bbecf87' date '21 September 2010' time '10:06:40 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.37' message 'try to use MIMEDocument without referencing MIMEType' id '5b008ad4-0e12-4218-995a-635d765fa653' date '21 September 2010' time '4:15:01 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.36' message 'introduced ZnUtils>>#ipAddressToString:' id '6f149459-e4bf-4eca-a3c6-a20ede32ac0a' date '21 September 2010' time '4:01:10 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.35' message 'implemented a complete set of ZnClient methods (GET,PUT,POST,DELETE,HEAD) with basic authentication variants; introduced ZnClient>>#executeOneShot:on:; refactored ZnMessage and subclasses reading (#readFrom: #readStreamingFrom: #readHeaderFrom:) to support asymmetric head requests and remove code duplication; cleaned up ZnMessage and ZnHeaders #contentType and #contentLength access improved some ZnHeaders methods to better deal with missing headers dictionary (lazy initialization); added ZnServer>>#printOn:; renamed some older classes' id '71e40771-0e1a-477c-b999-94ac5537668c' date '21 September 2010' time '12:59:31 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.34' message 'added #printOn: to ZnStatusLine, ZnRequestLine, ZnHeaders and ZnEntity; some bug fixes and added robustness' id '58cafaad-d422-458a-9f26-57b801613e83' date '20 September 2010' time '7:40:27 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.33' message 'Renamed all categories with old code to Zinc-HTTP-Old-*' id '56666b16-26a2-4785-a7b0-69934e9f5a1b' date '19 September 2010' time '6:44:52 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.32' message 'various changes suggested by Code critics' id 'b9a81c31-f509-4443-b5ab-5d0980ba1f1b' date '17 September 2010' time '8:54:02 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.31' message 'first working implementation of ZnMonticelloServerDelegate; added ZnResponse #setLocation and #setWWWAuthenticate; added ZnResponse convencience instance creation methods #created: and #badRequest:; ZnResponse convencience instance creation methods now pass their uri through ZnUtils>>#urlPathQueryFragmentOf:; ZnUtils>>#httpDate: now does an #asUTC conversion; added ZnUtils>>#streamFrom:to:size: fast stream copier; added ZnUtils>>isSlash:' id 'e3e6a58f-52f3-4474-b700-132198106c9d' date '17 September 2010' time '3:45:38 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.30' message '1st working version of ZnStaticFileServerDelegate (on 1 directory with 1 prefix); extended ZnResponse with #notFound: and #redirect instance creation methods; added ZnUtils>>#httpDate: (and implemented #httpDate using it); extended ZnMimeType with MimeTypes and ExtensionsMap class variables for faster constant access and file extension to mime type mapping; ZnStreamingEntity>>#writeOn: now closes its stream after using it ' id '6074fdf3-5027-46f8-9e5b-9629d0ef5074' date '16 September 2010' time '8:50:45 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.29' message 'ZnStatusLine and ZnRequestLine now handle their own crlf line ending (see #readFrom: and #writeTo:); Experimental introduction of ZnStreamingEntity (see #readStreamingFrom:) ZnLimitedReadStream is now used in ZnApplicationFormUrlEncodedEntity>>#readFrom: ' id '4fae956f-e1d3-4307-90d0-eae856459f18' date '15 September 2010' time '8:24:23 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.28' message 'fixed ZnMimeType parser dependency on Grease #trimBoth; added serverSocket as inst var to ZnServer' id 'd09f0956-371c-442a-aeab-0eed4d433a3e' date '15 September 2010' time '9:59:36 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.27' message 'fixing ZnHTTPSocketFacade>>#httpPut:to:user:passwd: semantics; added ZnMessage #head: #post and #put; added ZnHeaders>>#removeKey:[ifAbsent:] ; allowed for missing content-type when reading entities; enforcing content-length header to be string in #acceptEntityDescription: ' id 'cb4bffd1-218f-4103-8679-b81e5e51dc7a' date '14 September 2010' time '3:15:59 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.26' message 'ZnHTTPSocketFacade: adjusting semantics; implemented some missing methods; some refactoring (#execute:on) ' id '541ca458-55fa-404a-a317-9a5801a6322b' date '14 September 2010' time '1:27:39 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.25' message 'some code reformatting in ZnHTTPSocketFacade; added more strings to ZnConstants; ZnServer now returns a nice default welcome page (the echo handler now only runs when the path starts with ''echo'')' id '7c2531d4-acde-449a-8c98-ed0d3affe342' date '14 September 2010' time '11:07:31 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.24' message 'first complete implementation of (new) ZnHTTPSocketFacade (incomplete tests); added #contents to ZnEntity; added #addAll: and #withAll to ZnHeaders and ZnApplicationFormUrlEncodedEntity; store remoteAddress as dotted IP string instead of printed byte array' id 'd30509ad-79a7-4410-9507-0a34a6639fc2' date '13 September 2010' time '10:31:18 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.23' message 'reorganized categories (Zinc-HTTP-New-Core, Zinc-HTTP-New-Client-Server, Zinc-HTTP-New-Support); started new implementation of ZnHTTPSocketFacade (renamed old one to ZnOldHTTPSocketFacade) with image access methods; refactored image access methods in ZnClient (introduced ZnClient>>#getImageOfType:usingParser:fromUrl:); changed ZnEntity>>#contentType: to only allow assigning mime types compatible with an entity''s designated mime type (if any) ' id 'eb6683ed-f103-46af-aa28-4d1c0d6689f3' date '13 September 2010' time '4:17:53 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.22' message 'added support for server side basic authentication' id '55c0e0fa-9e16-428f-800a-0ed87537fb45' date '13 September 2010' time '1:54:44 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.21' message 'added support for client side basic authentication' id 'f61af145-d04a-4c18-b8a9-4dc9c904c636' date '12 September 2010' time '8:34:56 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.20' message 'added simple http client proxy support using the system settings (untested though) ' id 'bae5ca73-9f54-4b2b-bfa2-3eb66228c7e1' date '12 September 2010' time '11:55:51 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.19' message 'refactored ZnEntity hierarchy with new instance creation framework; implementation of ZnApplicationFormUrlEncodedEntity; created mock ZnMultiPartFormDataEntity; added ZnUtils>>#parseQueryFrom: ZnMimeType>>#printOn: now simply prints the RFC string ' id '10746c52-3fcb-4b36-895f-a5fc34b8dd04' date '12 September 2010' time '11:28:17 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.18' message 'added header name normalization; added optional multi-valued header values; added optional header value merging' id '1e65b930-7310-4677-b5cf-b779a38bf759' date '10 September 2010' time '9:06:19 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-pmm.17' message 'use aStream print: anObject instead of aStream nextPutAll: anObject printString' id '4b6b2702-4ec3-4314-b712-ccc1d9da802c' date '10 September 2010' time '12:40:03 pm' author 'pmm' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.16' message 'replaced usage of #displayString with #printString; renamed ZnMimeType>>#greaseString to #asRFCString' id '10c584eb-c842-4aa1-8ac7-60d2ca426265' date '10 September 2010' time '12:22:15 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.15' message 'added #at:ifAbsent: to ZnHeaders; added #headersDo: to ZnMessage; added #isRunning to ZnServer; ZnServer now sets a (ZnConstants remoteAddressHeader) header with the client''s remote IP address; extended ZnServer with a general purpose delegate mechanism ' id 'b3fa69a2-3f1a-4ea5-94db-47447fcab5a6' date '9 September 2010' time '8:53:14 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.14' message '1st primitive but working ZnServer' id '996b6601-b412-48ae-a64c-7dc78dac058d' date '8 September 2010' time '11:06:03 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.13' message 'ZnClient #get: and #getJpeg: now work for normal situations' id 'cbbe9f1e-39a9-4b3a-a6f1-e08e11c4c5cf' date '7 September 2010' time '8:04:01 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.12' message 'Started the Zinc-HTTP-New implementation; not much to see yet' id 'de2cead7-a4dd-4a3c-ac68-69e4cef2964d' date '6 September 2010' time '11:05:54 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.11' message 'some more recategorizations' id '7b109f45-7460-4edc-9983-3a201efa0815' date '5 September 2010' time '11:10:46 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.10' message 'refactoring for a cleaner #executeMethod: introducing #allHeadersFor:on: #generateRequestOn: #sendContentTo: removed #noContentLength: renamed #MIMEDocument to #getResponseAsMIMEDocument ; renamed some post method classes' id '0e5bf523-5aa9-40f3-be02-17abc7a18d6b' date '3 September 2010' time '11:29:04 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.9' message 'forgot one usage of #page' id 'd56be428-7eed-4712-ab04-2094e3808c3a' date '2 September 2010' time '8:16:21 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.8' message 'fixed wrong header case in #mimeTypeHeaderOn: ; refactored the extension protocol on HierarchicalUrl using new method names (using the concept of path directory and adding the String suffix for conversion methods)' id '28ab58db-ba2b-4db5-a473-2cd613cca92b' date '2 September 2010' time '8:10:41 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.7' message 'using code critics to remove some dead code and obvious problems (but may issues are left open); more method categorizations' id '1c64f23b-0156-41d4-bc9b-72d9c52d0227' date '2 September 2010' time '4:36:45 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.6' message 'did an initial method categorization in the core classes ZnHTTPClient and ZnHTTMethod (and its subclasses); removed one no-op #initialize' id '45e8c7be-7a6e-4aa3-8c8d-6f30c0e26bf5' date '2 September 2010' time '12:41:10 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.5' message 'introduced ZnConnectNew, a plugin replacement for ZnConnection.The old code was using its own SocketStream, now we''re using the system supplied SocketStream. Some backwards compatibility protocol was added, could be cleaned up later. It is probably also possible to use SocketStream directly; added ZnHTTPClientFacade with 2 get methods' id '2d453fab-9a2f-4743-8ce5-d7879bbc14a1' date '2 September 2010' time '11:47:13 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.4' message 'reduced some dependencies on extensions' id 'e3317890-f543-461c-a2de-d32ba48b2af0' date '1 September 2010' time '9:02:15 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.3' message 'Some cleanup of ZnHTTPSocketFacade''s class methods' id '58105dc7-a59a-4e9b-add7-1ae71a212e3c' date '1 September 2010' time '7:59:08 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.2' message 'Renamed HC HTTP Client to Zinc HTTP Components; Renamed all classes to use Zn namespace prefix; Renamed all extension protocols to *zinc-http; Renamed Facade to HTTPSocketFacade' id '42475f7f-909f-4292-90d2-78b2fe48c9a2' date '1 September 2010' time '7:13:12 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.1' message 'Renamed HC HTTP Client to Zinc HTTP Components; Renamed all classes to use Zn namespace prefix; Renamed all extension protocols to *zinc-http; Renamed Facade to HTTPSocketFacade' id '4b0032ae-27eb-462c-b0db-29800c2cc647' date '1 September 2010' time '5:29:24 pm' author 'SvenVanCaekenberghe' 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 ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Zinc-HTTP-MattKennedy.43' message 'Added ZnUserAgent and ZnUserAgentSettings.' id '217daf1b-07d3-4c49-bdf1-7b00262c5f70' date '27 September 2010' time '3:10:26 pm' author 'MattKennedy' ancestors ((id 'c60def04-29e9-4bb0-95d2-dad31539c4cc')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Zinc-HTTP-MattKennedy.54' message 'Modifed ZnResponse so that the WWW-Authenticate response is no longer hard coded. ZnBasicAuthenticator supports optional custom realm settings. Added ZnDigestAuthenticator.' id '88223dbc-9831-4746-a680-f2eff6720e76' date '30 September 2010' time '5:36:25 pm' author 'MattKennedy' ancestors ((id '5d0dfdae-b927-4634-a4a9-272e3d78aeb0')) 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 ())) 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 ())) 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 ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Zinc-HTTP-MarcoSchmidt.166' message 'Patch to work behind firewall with basic authorization' id 'acb7f2fc-d621-5d4b-983f-25d217623f11' date '17 June 2011' time '3:31:11 pm' author 'MarcoSchmidt' ancestors ((name 'Zinc-HTTP-MarcoSchmidt.165' message 'Corrected wrong method send in NetworkUtils' id '4290066c-4367-794e-bb95-c058f1a268a0' date '17 June 2011' time '3:26:54 pm' author 'MarcoSchmidt' ancestors ((id '90d57d3d-fc41-4548-a2fd-dcd7c22a3a1f')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Zinc-HTTP-DamienPollet.175' message 'Fix typo in exception names.' id '82fd6138-b87e-4e81-93ff-4c874ff72e03' date '4 August 2011' time '2:22:04 pm' author 'DamienPollet' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.174' message 'ZnDefaultServerDelegate>>#echoRequest: added option to delay the response to /echo with a specified number of seconds, as in echo?delay=60' id 'bec35859-b638-42c1-9689-3f1d7a540c8b' date '14 July 2011' time '9:54:57 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.173' message 'added ZnSingleThreadedServer>>#onRequestRespond: convenience method' id '75b3a711-a7ff-430d-a049-95a5dd1a1c3c' date '1 July 2011' time '2:17:08 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.172' message 'implemented client side support for If-Modified-Since and Not Modified: - added ZnRequest>>#setIfModifiedSince: - refactored ZnMessage>>#readFrom to call #readEntityFrom: - overwritten ZnResponse>>#readEntityFrom: to take special no content response into account - extended ZnUtils class>>#httpDate: to accept any argument that understands #asTimeStamp ' id '64fe262e-fd77-4b45-8f6a-f874995d07ec' date '28 June 2011' time '11:05:10 am' author 'SvenVanCaekenberghe' ancestors ((id '11c76430-7cc0-4885-b4a0-709f3fbf4f57')) 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 ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Zinc-HTTP-SvenVanCaekenberghe.221' message 'added new #followsRedirects boolean option to ZnClient because setting #maxNumberOfRedirects to 0 did not work well for an example see the ZnClientTests>>#testRedirectDontFollow Thx Jan van de Sandt for reporting this' id '4df9982e-63e1-49ea-bfb0-2f9cb43f6f0b' date '23 November 2011' time '5:30:09 pm' author 'SvenVanCaekenberghe' ancestors ((id '147d6c42-b509-40e4-abb0-7c804d5df01d')) stepChildren ())(name 'Zinc-HTTP-SvenVanCaekenberghe.215' message 'modified ZnNeoClient>>#contents to return the stream when streaming is requested (more specifically: do not call #contents on the ZnStreamingEntity by default as this would defeat the whole idea of streaming; note that when there is a #contentReader it should do the right thing)' id 'c94ae1c2-5cc3-4ce6-9f04-28155f6834c9' date '26 October 2011' time '2:45:52 pm' author 'SvenVanCaekenberghe' ancestors ((id '248c4eaf-ca0f-4584-99f4-d399438fd2ed')) stepChildren ())) stepChildren ())(name 'Zinc-HTTP-SvenVanCaekenberghe.223' message 'added missing ZnChunkedReadStream>>#next:into: that was used by ZnEntityReader when reading a ZnByteArrayEntity fix to Pharo issue 5053 (http://code.google.com/p/pharo/issues/detail?id=5053) thanks Laurent Laffont for reporting' id '19ce4497-786a-46a7-bd6c-55fa682dba56' date '3 December 2011' time '5:51:17 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.222' message 'small fix to ZnEntityReader>>#readEntityFromStream added an extra guard copying extraHeaders from a chunked stream since these are missing when reading a streaming entity' id 'a1b1d190-4690-4cc0-b9b5-eab77cc5153b' date '1 December 2011' time '10:40:29 am' author 'SvenVanCaekenberghe' ancestors ((id '4df9982e-63e1-49ea-bfb0-2f9cb43f6f0b')) stepChildren ())) stepChildren ())) stepChildren ())(name 'Zinc-HTTP-SvenVanCaekenberghe.226' message 'changed ZnMimeType such that the ''constants'' returned by the methods in the class side convenience protocol can now be freely modified by returning a copy; implemented ZnMimeType>>#postCopy; ZnMimeType>>#parameters will now lazy initialize to a SmallDictionary instead of a regular Dictionary' id '52cc1692-4d4f-4c43-813c-21b61e386eaf' date '6 December 2011' time '8:56:22 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-NorbertHartl.225' message 'changed ZnApplicationFormUrlEncodedEntity to check encoding of contentType. If an encoding is present to presentation is written using the specified encoding' id '18a28639-5e95-4594-937c-268df69987ec' date '6 December 2011' time '6:30:33 pm' author 'NorbertHartl' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.224' message 'added ZnLimitedReadStream>>#peek' id '4f9dffc5-3af2-4adc-a0c9-0bc22d1de76e' date '4 December 2011' time '8:10:11 pm' author 'SvenVanCaekenberghe' ancestors ((id '19ce4497-786a-46a7-bd6c-55fa682dba56')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Zinc-HTTP-SvenVanCaekenberghe.232' message 'changed ZnClient>>#executeWithTimeout to use an explicit and selective #exceptionSetForIfFail so that only network, http parsing, http unsuccessful and unexpected content type exceptions trigger the #ifFailBlock; this fixes the problem where HTTPProgress exceptions triggered the ifFail block; thx Camillo Bruni ' id '3ca78fe3-4355-46ee-9ba3-5e0f540b9ec0' date '20 December 2011' time '2:24:53 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.231' message 'Extended the ZnHttpUnsuccessful and ZnUnexpectedContentType exceptions to contain the repsonse respectively the two content types so as to produce better error messages (thx Camillo Bruni for suggesting this)' id 'c94e86a8-3b1a-4c26-bae5-3aebc90764b2' date '20 December 2011' time '1:26:08 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.230' message 'Changed ZnClient>>#timeout to use the global ZnNetworkingUtils defaultSocketStreamTimeout as default' id 'fb0c7c07-a6dd-4105-bdd4-a65860b4b452' date '14 December 2011' time '2:07:42 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.229' message 'expanded the ZnUrl class comment' id 'b239edd4-c432-4139-a71a-d27618beef91' date '14 December 2011' time '1:45:28 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.228' message 'added ZnUrl>>#queryKeys' id 'f979e877-6dfa-4167-b159-ec322a629c98' date '13 December 2011' time '2:21:02 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.227' message 'added the WebDAV methods to ZnConstants class>>#knownHTTPMethods; added convenience constructor #xml: to ZnStringEntity and ZnEntity' id 'd8262a06-7f5b-4a88-9fdb-cc4bb05ed422' date '11 December 2011' time '7:47:11 pm' author 'SvenVanCaekenberghe' ancestors ((id '52cc1692-4d4f-4c43-813c-21b61e386eaf')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Zinc-HTTP-SvenVanCaekenberghe.233' message 'Rewrote ZnServer and subclasses''s class methods #startDefaultOn: and #defaultOn: to treat the default instance like a singleton by reusing/restarting/reconfiguring existing instances; expanded comments; Changed the implementation of ZnServer>>#start to automagically register the default instance; Changed the implementation of ZnServer>>#stop to always unregister; added ZnServer>>#stop: with an option to control the unregistering so that it does not happen when shutting down the image ' id '8dd541c9-2890-4a8f-b5cb-d6ac2e9341af' date '22 December 2011' time '12:54:05 pm' author 'SvenVanCaekenberghe' ancestors ((id '3ca78fe3-4355-46ee-9ba3-5e0f540b9ec0')) stepChildren ())) stepChildren ())(name 'Zinc-HTTP-SvenVanCaekenberghe.234' message 'changed the implementation of ZnHeaders to use ZnMultiValueDictionary; ZnLineReader now uses ZnConstants class>>#maximumLineLength (4096) as default for signaling a ZnLineTooLong exception; added a limit option to ZnMultiValueDictionary that defaults to ZnConstants class>>#maximumNumberOfDictionaryEntries (256) for signaling a ZnTooManyDictionaryEntries exception; added new ZnTooManyDictionaryEntries error; changed parent of ZnTooManyRedirects from Exception to Error and added a #isResumable true method; extended ZnMultiThreadedServer>>#readRequestSafely: to also catch ZnTooManyDictionaryEntries' id 'add34728-015e-46b6-9aeb-eda8f63e1f03' date '3 January 2012' time '3:42:40 pm' author 'SvenVanCaekenberghe' ancestors ((id '8dd541c9-2890-4a8f-b5cb-d6ac2e9341af')) stepChildren ())) stepChildren ())(name 'Zinc-HTTP-SvenVanCaekenberghe.235' message 'now using #trimBoth instead of #withBlanksTrimmed' id 'bc327259-a3d3-4829-a24a-504b08ab8cbf' date '8 January 2012' time '2:20:02 pm' author 'SvenVanCaekenberghe' ancestors ((id 'add34728-015e-46b6-9aeb-eda8f63e1f03')) stepChildren ())) stepChildren ())(name 'Zinc-HTTP-SvenVanCaekenberghe.242' message 'added ZnEntityTooLarge to the exceptions silently catched by ZnMultiThreadedServer>>#readRequestSafely:' id '8c18da8d-4ec0-40a7-92ea-01e7c09b9929' date '1 February 2012' time '11:26:10 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.241' message 'simplified and optimized implementation of ZnChunkedReadStream' id '36d5243f-deb3-4689-9315-d3d4c5393da7' date '31 January 2012' time '9:21 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.240' message 'added some speed improvements to the implementation of ZnLimitedReadStream' id '24874b38-2c00-4d0c-b3b3-cec7c4f91d71' date '31 January 2012' time '9:08:09 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.239' message 'fixed the implementation of ZnLimitedReadStream to honor EOF on the underlying stream' id '16a06aa4-34ec-4c81-87ca-701823088ac2' date '31 January 2012' time '8:55:24 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.238' message 'introduction of a resource limit to the size of entities read from a stream; added ZnConstants class>>#maximumEntitySize[:] added ZnEntityTooLarge resumable exception added ZnUtils class>>#readUpToEnd:limit: #readFrom: logic of Zn[String|ByteArray|MultiPartFormData]Entity now take the limit into account extended ZnChunkedReadStream and ZnLimitedReadStream with #readInto:startingAt:count: as a first step to improve their performance' id '4af222aa-e05c-458b-a1ce-2d62b2d23d2d' date '31 January 2012' time '2:02:43 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.237' message 'changed ZnMimePart class>>#fieldName:value: to use ZnEntity>>#with: on the value so that Strings become ZnStringEntities and others become ZnByteArrayEntities; changed ZnUrl>>#queryAt: to signal a KeyNotFound error when there is no query' id '37e466f7-592f-4f15-a016-f2689b56f3fb' date '29 January 2012' time '7:43:08 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.236' message 'added ZnUrl>>#retrieveContents convenience method' id 'b5d081c0-6b4f-40a2-8e4c-5b58c4a02de5' date '24 January 2012' time '11:59:43 am' author 'SvenVanCaekenberghe' ancestors ((id 'bc327259-a3d3-4829-a24a-504b08ab8cbf')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Zinc-HTTP-SvenVanCaekenberghe.256' message 'renamed ZnServer>>#interface[:] to ZnServer>>#bindingAddress[:] following a suggestion by Norbert Hartl, Thx!' id 'a3d6638c-d5c4-4c20-a6c1-566e00b752fb' date '13 April 2012' time '1:20:15 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-HTTP-SvenVanCaekenberghe.255' message 'added technology to allow entities to be read binary even when they are textual, thus disabling Zn''s normal decoding behavior; this is what Seaside expects (as Seaside does its own conversions); added ZnEntityReader>>#[is]Binary; added ZnMessage[class]>>#readBinaryFrom: added ZnEntity class>>#readBinaryFrom:usingType:andLength: added ZnSingleThreadedServer>>#reader[:] to allow customizing entity reading' id 'e0d6d894-7fbb-41dd-8376-f87e4ca9da32' date '7 April 2012' time '6:29:44 pm' author 'SvenVanCaekenberghe' ancestors ((id '3b82b4f5-a0ed-44b4-bcd1-a5ec129d9d42')) stepChildren ())) stepChildren ())) stepChildren ())(name 'Zinc-HTTP-PaulDeBruicker.257' message ' Added ZnResponse>>#isError which checks if the ZnStatusLine code is >399. ' id '63eca7f3-2b5b-4112-b91e-b76ddcf0453c' date '19 April 2012' time '5:05:46.274 pm' author 'PaulDeBruicker' ancestors ((id 'a3d6638c-d5c4-4c20-a6c1-566e00b752fb')) 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 ())(name 'Zinc-HTTP-SvenVanCaekenberghe.282' message 'killed a (comment) reference to mac.com' id 'de6f7d59-22da-4612-937b-07111df60678' date '4 July 2012' time '5:56:31.754 pm' author 'SvenVanCaekenberghe' ancestors ((id '1fcf9d84-c2c3-4e70-b45a-6c68a381329d')) stepChildren ())(name 'Zinc-HTTP-SvenVanCaekenberghe.283' message 'added an efficiency improvement to ZnMultiPartFormDataEntity>>#parse:boundary: added convenience protocol to ZnUrl: - #withPathSegment[s]: #/ - #withQuery: #? #&' id '51351ae8-99a9-44cc-856a-976fcd55e2cf' date '9 July 2012' time '4:38:29.98 pm' author 'SvenVanCaekenberghe' ancestors ((id '03911f2b-c422-4142-bedf-617d90674243')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Zinc-REST.package/ZnAutoMatchedRestCall.class/methodProperties.json b/repository/Zinc-REST.package/ZnAutoMatchedRestCall.class/methodProperties.json new file mode 100644 index 00000000..965225bc --- /dev/null +++ b/repository/Zinc-REST.package/ZnAutoMatchedRestCall.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + "match:" : "SvenVanCaekenberghe 6/15/2011 17:30", + "pattern" : "SvenVanCaekenberghe 6/15/2011 21:47" }, + "instance" : { + } } diff --git a/repository/Zinc-REST.package/ZnCallHierarchyRestUriSpace.class/methodProperties.json b/repository/Zinc-REST.package/ZnCallHierarchyRestUriSpace.class/methodProperties.json new file mode 100644 index 00000000..7b88ddf6 --- /dev/null +++ b/repository/Zinc-REST.package/ZnCallHierarchyRestUriSpace.class/methodProperties.json @@ -0,0 +1,7 @@ +{ + "class" : { + }, + "instance" : { + "match:" : "SvenVanCaekenberghe 6/15/2011 17:32", + "rootClass" : "SvenVanCaekenberghe 6/15/2011 10:57", + "rootClass:" : "SvenVanCaekenberghe 6/15/2011 10:57" } } diff --git a/repository/Zinc-REST.package/ZnRestCall.class/methodProperties.json b/repository/Zinc-REST.package/ZnRestCall.class/methodProperties.json new file mode 100644 index 00000000..95dd3f3a --- /dev/null +++ b/repository/Zinc-REST.package/ZnRestCall.class/methodProperties.json @@ -0,0 +1,19 @@ +{ + "class" : { + }, + "instance" : { + "credentials" : "SvenVanCaekenberghe 6/16/2011 14:31", + "credentials:" : "SvenVanCaekenberghe 6/16/2011 14:31", + "delegate" : "SvenVanCaekenberghe 6/15/2011 10:58", + "delegate:" : "SvenVanCaekenberghe 6/15/2011 10:58", + "execute" : "SvenVanCaekenberghe 6/15/2011 11:07", + "isAuthorized" : "SvenVanCaekenberghe 6/16/2011 15:22", + "method" : "SvenVanCaekenberghe 6/15/2011 10:56", + "principal" : "SvenVanCaekenberghe 6/15/2011 11:08", + "principal:" : "SvenVanCaekenberghe 6/15/2011 11:08", + "request" : "SvenVanCaekenberghe 6/15/2011 10:58", + "request:" : "SvenVanCaekenberghe 6/15/2011 10:58", + "response" : "SvenVanCaekenberghe 6/15/2011 10:58", + "response:" : "SvenVanCaekenberghe 6/15/2011 10:58", + "variables" : "SvenVanCaekenberghe 6/15/2011 10:58", + "variables:" : "SvenVanCaekenberghe 6/15/2011 10:58" } } diff --git a/repository/Zinc-REST.package/ZnRestCallUnauthorized.class/methodProperties.json b/repository/Zinc-REST.package/ZnRestCallUnauthorized.class/methodProperties.json new file mode 100644 index 00000000..a269cc05 --- /dev/null +++ b/repository/Zinc-REST.package/ZnRestCallUnauthorized.class/methodProperties.json @@ -0,0 +1,7 @@ +{ + "class" : { + "call:" : "SvenVanCaekenberghe 6/16/2011 15:17" }, + "instance" : { + "call" : "SvenVanCaekenberghe 6/16/2011 15:17", + "call:" : "SvenVanCaekenberghe 6/16/2011 15:17", + "request" : "SvenVanCaekenberghe 6/16/2011 15:18" } } diff --git a/repository/Zinc-REST.package/ZnRestServerDelegate.class/methodProperties.json b/repository/Zinc-REST.package/ZnRestServerDelegate.class/methodProperties.json new file mode 100644 index 00000000..5fbf46a4 --- /dev/null +++ b/repository/Zinc-REST.package/ZnRestServerDelegate.class/methodProperties.json @@ -0,0 +1,20 @@ +{ + "class" : { + }, + "instance" : { + "authenticate:" : "SvenVanCaekenberghe 6/16/2011 15:22", + "callUnauthorized:" : "SvenVanCaekenberghe 6/16/2011 21:10", + "debug" : "SvenVanCaekenberghe 6/15/2011 10:58", + "debug:" : "SvenVanCaekenberghe 6/15/2011 10:57", + "errorResponse:code:message:" : "SvenVanCaekenberghe 6/16/2011 14:01", + "execute:" : "SvenVanCaekenberghe 6/16/2011 15:19", + "handleRequest:" : "SvenVanCaekenberghe 6/17/2011 15:36", + "isAuthorizationValid:" : "SvenVanCaekenberghe 6/16/2011 15:20", + "match:" : "SvenVanCaekenberghe 6/15/2011 17:34", + "noHandlerFound:" : "SvenVanCaekenberghe 6/16/2011 21:10", + "server" : "SvenVanCaekenberghe 6/15/2011 10:57", + "server:" : "SvenVanCaekenberghe 6/15/2011 10:57", + "serverError:exception:" : "SvenVanCaekenberghe 6/20/2011 17:34", + "uriSpace" : "SvenVanCaekenberghe 6/15/2011 10:57", + "uriSpace:" : "SvenVanCaekenberghe 6/15/2011 10:57", + "wrongMethod:" : "SvenVanCaekenberghe 6/16/2011 21:11" } } diff --git a/repository/Zinc-REST.package/ZnRestServerUtils.class/methodProperties.json b/repository/Zinc-REST.package/ZnRestServerUtils.class/methodProperties.json new file mode 100644 index 00000000..49d84192 --- /dev/null +++ b/repository/Zinc-REST.package/ZnRestServerUtils.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + "extractBasicAuthorization:" : "SvenVanCaekenberghe 6/15/2011 16:18", + "matchPath:pattern:" : "SvenVanCaekenberghe 6/16/2011 14:17" }, + "instance" : { + } } diff --git a/repository/Zinc-REST.package/ZnRestUriSpace.class/methodProperties.json b/repository/Zinc-REST.package/ZnRestUriSpace.class/methodProperties.json new file mode 100644 index 00000000..f73221c4 --- /dev/null +++ b/repository/Zinc-REST.package/ZnRestUriSpace.class/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "match:" : "SvenVanCaekenberghe 6/15/2011 17:30" } } diff --git a/repository/Zinc-Tests.package/ZnBivalentWriteStreamTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnBivalentWriteStreamTests.class/methodProperties.json new file mode 100644 index 00000000..fa43b775 --- /dev/null +++ b/repository/Zinc-Tests.package/ZnBivalentWriteStreamTests.class/methodProperties.json @@ -0,0 +1,7 @@ +{ + "class" : { + }, + "instance" : { + "testByteWriting" : "PaulDeBruicker 04/10/2011 10:43", + "testByteWritingToTranscript" : "PaulDeBruicker 04/10/2011 10:43", + "testCharacterWriting" : "SvenVanCaekenberghe 12/3/2010 21:02" } } diff --git a/repository/Zinc-Tests.package/ZnBufferedWriteStreamTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnBufferedWriteStreamTests.class/methodProperties.json new file mode 100644 index 00000000..63e3db03 --- /dev/null +++ b/repository/Zinc-Tests.package/ZnBufferedWriteStreamTests.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "testWriting" : "SvenVanCaekenberghe 12/8/2010 09:54", + "testWritingOverflow" : "SvenVanCaekenberghe 12/8/2010 09:53" } } diff --git a/repository/Zinc-Tests.package/ZnCharacterEncoderTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnCharacterEncoderTests.class/methodProperties.json new file mode 100644 index 00000000..02883699 --- /dev/null +++ b/repository/Zinc-Tests.package/ZnCharacterEncoderTests.class/methodProperties.json @@ -0,0 +1,12 @@ +{ + "class" : { + }, + "instance" : { + "decodeBytes:with:" : "SvenVanCaekenberghe 11/30/2010 11:57", + "encodeString:with:" : "SvenVanCaekenberghe 11/30/2010 11:57", + "testConvencienceMethods" : "SvenVanCaekenberghe 5/2/2012 16:35", + "testLatin2Encoder" : "PaulDeBruicker 04/10/2011 10:44", + "testNullEncoder" : "PaulDeBruicker 04/10/2011 10:45", + "testUTF8Encoder" : "PaulDeBruicker 04/10/2011 10:44", + "testUTF8EncoderAuto" : "SvenVanCaekenberghe 11/30/2010 13:42", + "testUTF8EncoderByteCount" : "PaulDeBruicker 04/10/2011 10:44" } } diff --git a/repository/Zinc-Tests.package/ZnCharacterStreamTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnCharacterStreamTests.class/methodProperties.json new file mode 100644 index 00000000..e9df95ea --- /dev/null +++ b/repository/Zinc-Tests.package/ZnCharacterStreamTests.class/methodProperties.json @@ -0,0 +1,7 @@ +{ + "class" : { + }, + "instance" : { + "testReadStream" : "SvenVanCaekenberghe 5/3/2012 21:35", + "testSimpleUTF8ReadStream" : "SvenVanCaekenberghe 5/3/2012 21:26", + "testSimpleUTF8WriteStream" : "SvenVanCaekenberghe 5/3/2012 21:27" } } diff --git a/repository/Zinc-Tests.package/ZnChunkedReadStreamTests.class/instance/testReadingBuffered.st b/repository/Zinc-Tests.package/ZnChunkedReadStreamTests.class/instance/testReadingBuffered.st new file mode 100644 index 00000000..61d6b50b --- /dev/null +++ b/repository/Zinc-Tests.package/ZnChunkedReadStreamTests.class/instance/testReadingBuffered.st @@ -0,0 +1,13 @@ +testing +testReadingBuffered + | data chunked plain buffer readStream | + data := String withAll: ($a to: $z), ($A to: $Z). + chunked := String streamContents: [ :stream | + ZnUtils nextPutAll: data on: stream chunked: 16 ]. + readStream := ZnChunkedReadStream on: chunked readStream. + buffer := String new: 11. + plain := String streamContents: [ :output | | readCount | + [ readStream atEnd ] whileFalse: [ + readCount := readStream readInto: buffer startingAt: 1 count: buffer size. + output next: readCount putAll: buffer ] ]. + self assert: plain equals: data \ No newline at end of file diff --git a/repository/Zinc-Tests.package/ZnChunkedReadStreamTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnChunkedReadStreamTests.class/methodProperties.json new file mode 100644 index 00000000..784542c7 --- /dev/null +++ b/repository/Zinc-Tests.package/ZnChunkedReadStreamTests.class/methodProperties.json @@ -0,0 +1,10 @@ +{ + "class" : { + }, + "instance" : { + "testReading" : "SvenVanCaekenberghe 9/27/2010 15:07", + "testReadingBuffered" : "SvenVanCaekenberghe 8/2/2012 10:58", + "testReadingGzip" : "SvenVanCaekenberghe 9/27/2010 15:18", + "testReadingGzipStepped" : "SvenVanCaekenberghe 9/27/2010 15:17", + "testReadingNext" : "SvenVanCaekenberghe 12/3/2011 17:39", + "testReadingNextInto" : "SvenVanCaekenberghe 12/3/2011 17:40" } } diff --git a/repository/Zinc-Tests.package/ZnClientOldTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnClientOldTests.class/methodProperties.json new file mode 100644 index 00000000..4b524812 --- /dev/null +++ b/repository/Zinc-Tests.package/ZnClientOldTests.class/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "testGet" : "SvenVanCaekenberghe 11/8/2011 22:11" } } diff --git a/repository/Zinc-Tests.package/ZnClientTests.class/instance/testDownloadSmallHTML.st b/repository/Zinc-Tests.package/ZnClientTests.class/instance/testDownloadSmallHTML.st index 636836c2..f6443003 100644 --- a/repository/Zinc-Tests.package/ZnClientTests.class/instance/testDownloadSmallHTML.st +++ b/repository/Zinc-Tests.package/ZnClientTests.class/instance/testDownloadSmallHTML.st @@ -1,28 +1,25 @@ testing testDownloadSmallHTML | client | - (FileDirectory default fileExists: 'small.html') - ifTrue: [ FileDirectory default deleteFileNamed: 'small.html' ]. + ZnFileSystemUtils deleteIfExists: 'small.html'. "First download to a directory" (client := ZnClient new) url: 'http://zn.stfx.eu/zn/small.html'; - downloadTo: FileDirectory default fullName. + downloadTo: ZnFileSystemUtils defaultDirectoryPath. self assert: client isSuccess. self assert: client response contentType = ZnMimeType textHtml. - FileStream + ZnFileSystemUtils oldFileNamed: 'small.html' do: [ :stream | self assert: (stream upToEnd includesSubString: 'Small') ]. - (FileDirectory default fileExists: 'small.html') - ifTrue: [ FileDirectory default deleteFileNamed: 'small.html' ]. + ZnFileSystemUtils deleteIfExists: 'small.html'. "Second download to an explicitly named file" client url: 'http://zn.stfx.eu/zn/small.html'; downloadTo: 'small.html'. self assert: client isSuccess. self assert: client response contentType = ZnMimeType textHtml. - FileStream + ZnFileSystemUtils oldFileNamed: 'small.html' do: [ :stream | self assert: (stream upToEnd includesSubString: 'Small') ]. client close. - (FileDirectory default fileExists: 'small.html') - ifTrue: [ FileDirectory default deleteFileNamed: 'small.html' ] + ZnFileSystemUtils deleteIfExists: 'small.html'. diff --git a/repository/Zinc-Tests.package/ZnClientTests.class/instance/testGetSmallHTMLStreaming.st b/repository/Zinc-Tests.package/ZnClientTests.class/instance/testGetSmallHTMLStreaming.st index 35a8d9ce..4e9c61a5 100644 --- a/repository/Zinc-Tests.package/ZnClientTests.class/instance/testGetSmallHTMLStreaming.st +++ b/repository/Zinc-Tests.package/ZnClientTests.class/instance/testGetSmallHTMLStreaming.st @@ -9,6 +9,6 @@ testGetSmallHTMLStreaming self assert: client response contentType = ZnMimeType textHtml. self assert: result isStream. self assert: client entity stream = result. - contents := result upToEnd. + contents := ZnUTF8Encoder new decodeBytes: result upToEnd. self assert: (contents includesSubString: 'Small'). client close \ No newline at end of file diff --git a/repository/Zinc-Tests.package/ZnClientTests.class/instance/testPostMultipart.st b/repository/Zinc-Tests.package/ZnClientTests.class/instance/testPostMultipart.st index 73c8259c..ce6c1a85 100644 --- a/repository/Zinc-Tests.package/ZnClientTests.class/instance/testPostMultipart.st +++ b/repository/Zinc-Tests.package/ZnClientTests.class/instance/testPostMultipart.st @@ -1,8 +1,9 @@ testing testPostMultipart | client filename | - filename := (FileDirectory default / 'testPostMultiPart.txt') fullName. - FileDirectory default fileNamed: filename do: [ :stream | stream nextPutAll: '0123456789' ]. + ZnFileSystemUtils deleteIfExists: 'testPostMultiPart.txt'. + filename := ZnFileSystemUtils fullNameFor: 'testPostMultiPart.txt'. + ZnFileSystemUtils newFileNamed: filename do: [ :stream | stream nextPutAll: '0123456789' ]. self withServerDo: [ :server | (client := ZnClient new) url: server localUrl; @@ -13,4 +14,4 @@ testPostMultipart post. self assert: client isSuccess. self assert: (client contents includesSubString: 'multipart') ]. - FileDirectory default deleteFileNamed: filename \ No newline at end of file + ZnFileSystemUtils deleteIfExists: 'testPostMultiPart.txt'. diff --git a/repository/Zinc-Tests.package/ZnClientTests.class/instance/testUploadSmallDocument.st b/repository/Zinc-Tests.package/ZnClientTests.class/instance/testUploadSmallDocument.st index b9dd09ef..70c78f66 100644 --- a/repository/Zinc-Tests.package/ZnClientTests.class/instance/testUploadSmallDocument.st +++ b/repository/Zinc-Tests.package/ZnClientTests.class/instance/testUploadSmallDocument.st @@ -1,12 +1,11 @@ testing testUploadSmallDocument self withServerDo: [ :server | | client contents path | - path := (FileDirectory default / 'small.txt') fullName. + path := ZnFileSystemUtils fullNameFor: 'small.txt'. contents := String streamContents: [ :stream | stream print: DateAndTime now; space; print: 9999 atRandom ]. - (FileDirectory default fileExists: 'small.txt') - ifTrue: [ FileDirectory default deleteFileNamed: 'small.txt' ]. - FileStream fileNamed: path do: [ :stream | stream nextPutAll: contents ]. + ZnFileSystemUtils deleteIfExists: 'small.txt'. + ZnFileSystemUtils newFileNamed: path do: [ :stream | stream nextPutAll: contents ]. (client := ZnClient new) url: server localUrl; addPath: 'echo'; @@ -19,5 +18,4 @@ testUploadSmallDocument self assert: client entity contentType = ZnMimeType textPlain. self assert: (client contents includesSubString: contents). client close. - (FileDirectory default fileExists: 'small.txt') - ifTrue: [ FileDirectory default deleteFileNamed: 'small.txt' ] ] \ No newline at end of file + ZnFileSystemUtils deleteIfExists: 'small.txt' ] \ No newline at end of file diff --git a/repository/Zinc-Tests.package/ZnClientTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnClientTests.class/methodProperties.json new file mode 100644 index 00000000..088b2c1b --- /dev/null +++ b/repository/Zinc-Tests.package/ZnClientTests.class/methodProperties.json @@ -0,0 +1,33 @@ +{ + "class" : { + }, + "instance" : { + "port" : "SvenVanCaekenberghe 3/12/2012 20:15", + "testConstruction" : "SvenVanCaekenberghe 11/8/2011 22:16", + "testCookies" : "SvenVanCaekenberghe 5/14/2012 17:15", + "testDownloadSmallHTML" : "SvenVanCaekenberghe 7/3/2012 00:19", + "testGetAfterPost" : "SvenVanCaekenberghe 5/14/2012 17:15", + "testGetGeoIP" : "SvenVanCaekenberghe 11/8/2011 22:16", + "testGetSmallHTML" : "SvenVanCaekenberghe 11/8/2011 22:16", + "testGetSmallHTMLOneShot" : "SvenVanCaekenberghe 11/8/2011 22:16", + "testGetSmallHTMLStreaming" : "SvenVanCaekenberghe 7/13/2012 20:28", + "testGetSmallHTMLTwice" : "SvenVanCaekenberghe 11/8/2011 22:16", + "testGetSmallHTMLUrlConstruction" : "SvenVanCaekenberghe 11/8/2011 22:16", + "testHeadSmallHTML" : "SvenVanCaekenberghe 3/12/2012 20:13", + "testIfFailNonExistingHost" : "SvenVanCaekenberghe 11/8/2011 22:16", + "testIfFailNotFound" : "SvenVanCaekenberghe 11/8/2011 22:16", + "testIfFailWrongType" : "SvenVanCaekenberghe 11/8/2011 22:16", + "testIfModifiedSinceNotModified" : "SvenVanCaekenberghe 11/8/2011 22:16", + "testLogging" : "SvenVanCaekenberghe 11/8/2011 22:16", + "testPostForm" : "SvenVanCaekenberghe 3/12/2012 20:13", + "testPostMultipart" : "SvenVanCaekenberghe 7/3/2012 00:31", + "testProgress" : "SvenVanCaekenberghe 11/8/2011 22:19", + "testProgressNoIfFail" : "SvenVanCaekenberghe 12/20/2011 13:55", + "testQueryGoogle" : "SvenVanCaekenberghe 11/8/2011 22:16", + "testRedirect" : "SvenVanCaekenberghe 11/8/2011 22:16", + "testRedirectDontFollow" : "SvenVanCaekenberghe 11/23/2011 17:13", + "testRedirectWithCookies" : "SvenVanCaekenberghe 5/14/2012 17:16", + "testRelativeRedirect" : "SvenVanCaekenberghe 5/14/2012 17:16", + "testTimeout" : "SvenVanCaekenberghe 3/12/2012 20:14", + "testUploadSmallDocument" : "SvenVanCaekenberghe 7/3/2012 00:31", + "withServerDo:" : "SvenVanCaekenberghe 8/31/2011 21:59" } } diff --git a/repository/Zinc-Tests.package/ZnCredentialTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnCredentialTests.class/methodProperties.json new file mode 100644 index 00000000..09e18988 --- /dev/null +++ b/repository/Zinc-Tests.package/ZnCredentialTests.class/methodProperties.json @@ -0,0 +1,14 @@ +{ + "class" : { + }, + "instance" : { + "ignoringDeprecation:" : "SvenVanCaekenberghe 10/4/2011 14:11", + "port" : "SvenVanCaekenberghe 3/12/2012 21:32", + "testBasicAuthorization" : "SvenVanCaekenberghe 3/12/2012 21:34", + "testBasicAuthorizationFailure" : "SvenVanCaekenberghe 3/12/2012 21:37", + "testDigestAuthorization" : "SvenVanCaekenberghe 3/12/2012 21:38", + "testDigestAuthorizationFailure" : "SvenVanCaekenberghe 3/12/2012 21:39", + "testFindHandlerFor" : "SvenVanCaekenberghe 3/12/2012 21:39", + "testFindRealmFor" : "SvenVanCaekenberghe 3/12/2012 21:40", + "testZnServerBasicAuthRealm" : "SvenVanCaekenberghe 3/12/2012 21:41", + "withServerDo:" : "SvenVanCaekenberghe 3/12/2012 21:32" } } diff --git a/repository/Zinc-Tests.package/ZnDigestAuthenticatorTests.class/README.md b/repository/Zinc-Tests.package/ZnDigestAuthenticatorTests.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Zinc-Tests.package/ZnDigestAuthenticatorTests.class/instance/testParseEmpty.st b/repository/Zinc-Tests.package/ZnDigestAuthenticatorTests.class/instance/testParseEmpty.st new file mode 100644 index 00000000..62c43f0b --- /dev/null +++ b/repository/Zinc-Tests.package/ZnDigestAuthenticatorTests.class/instance/testParseEmpty.st @@ -0,0 +1,20 @@ +testing +testParseEmpty + | keys headerValue | + headerValue := ' Digest username="Mufasa", + realm="testrealm@host.com", + nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", + uri="/dir/index.html", + qop=, + nc="", + cnonce="0a4f113b", + response="6629fae49393a05397450978507c4ef1", + opaque="5ccc069c403ebaf9f0171e9517f40e41"'. + keys := ZnDigestAuthenticator parseAuthRequest: headerValue. + self assert: (keys at: 'username') equals: 'Mufasa'. + self assert: (keys at: 'realm') equals: 'testrealm@host.com'. + self assert: (keys at: 'qop') equals: ''. + self assert: (keys at: 'nc') equals: ''. + self assert: (keys at: 'cnonce') equals: '0a4f113b'. + self assert: (keys at: 'response') equals: '6629fae49393a05397450978507c4ef1'. + \ No newline at end of file diff --git a/repository/Zinc-Tests.package/ZnDigestAuthenticatorTests.class/instance/testParseOK.st b/repository/Zinc-Tests.package/ZnDigestAuthenticatorTests.class/instance/testParseOK.st new file mode 100644 index 00000000..33c4e972 --- /dev/null +++ b/repository/Zinc-Tests.package/ZnDigestAuthenticatorTests.class/instance/testParseOK.st @@ -0,0 +1,20 @@ +testing +testParseOK + | keys headerValue | + headerValue := ' Digest username="Mufasa", + realm="testrealm@host.com", + nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", + uri="/dir/index.html", + qop=auth, + nc=00000001, + cnonce="0a4f113b", + response="6629fae49393a05397450978507c4ef1", + opaque="5ccc069c403ebaf9f0171e9517f40e41"'. + keys := ZnDigestAuthenticator parseAuthRequest: headerValue. + self assert: (keys at: 'username') equals: 'Mufasa'. + self assert: (keys at: 'realm') equals: 'testrealm@host.com'. + self assert: (keys at: 'qop') equals: 'auth'. + self assert: (keys at: 'nc') equals: '00000001'. + self assert: (keys at: 'cnonce') equals: '0a4f113b'. + self assert: (keys at: 'response') equals: '6629fae49393a05397450978507c4ef1'. + \ No newline at end of file diff --git a/repository/Zinc-Tests.package/ZnDigestAuthenticatorTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnDigestAuthenticatorTests.class/methodProperties.json new file mode 100644 index 00000000..6617856c --- /dev/null +++ b/repository/Zinc-Tests.package/ZnDigestAuthenticatorTests.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "testParseEmpty" : "SvenVanCaekenberghe 5/22/2012 10:12", + "testParseOK" : "SvenVanCaekenberghe 5/22/2012 10:11" } } diff --git a/repository/Zinc-Tests.package/ZnDigestAuthenticatorTests.class/properties.json b/repository/Zinc-Tests.package/ZnDigestAuthenticatorTests.class/properties.json new file mode 100644 index 00000000..d9041e84 --- /dev/null +++ b/repository/Zinc-Tests.package/ZnDigestAuthenticatorTests.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Zinc-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "ZnDigestAuthenticatorTests", + "pools" : [ + ], + "super" : "TestCase", + "type" : "normal" } diff --git a/repository/Zinc-Tests.package/ZnDispatcherDelegateTest.class/methodProperties.json b/repository/Zinc-Tests.package/ZnDispatcherDelegateTest.class/methodProperties.json new file mode 100644 index 00000000..06fd6c20 --- /dev/null +++ b/repository/Zinc-Tests.package/ZnDispatcherDelegateTest.class/methodProperties.json @@ -0,0 +1,7 @@ +{ + "class" : { + }, + "instance" : { + "port" : "SvenVanCaekenberghe 3/12/2012 21:10", + "testDispatcherDelegate" : "SvenVanCaekenberghe 3/12/2012 21:13", + "withServerDo:" : "SvenVanCaekenberghe 3/12/2012 21:10" } } diff --git a/repository/Zinc-Tests.package/ZnEasyTests.class/instance/testGetSmallHTMLDocument.st b/repository/Zinc-Tests.package/ZnEasyTests.class/instance/testGetSmallHTMLDocument.st index d2951c59..94ccf438 100644 --- a/repository/Zinc-Tests.package/ZnEasyTests.class/instance/testGetSmallHTMLDocument.st +++ b/repository/Zinc-Tests.package/ZnEasyTests.class/instance/testGetSmallHTMLDocument.st @@ -1,7 +1,7 @@ testing testGetSmallHTMLDocument | url response | - url := 'http://homepage.mac.com/svc/Zinc-HTTP-Components/small.html'. + url := 'http://zn.stfx.eu/zn/small.html'. response := ZnEasy get: url. self assert: (response headers contentType = ZnMimeType textHtml). self assert: (response statusLine code = 200). diff --git a/repository/Zinc-Tests.package/ZnEasyTests.class/instance/testHeadSmallHTMLDocument.st b/repository/Zinc-Tests.package/ZnEasyTests.class/instance/testHeadSmallHTMLDocument.st index 012adb14..26b47ce2 100644 --- a/repository/Zinc-Tests.package/ZnEasyTests.class/instance/testHeadSmallHTMLDocument.st +++ b/repository/Zinc-Tests.package/ZnEasyTests.class/instance/testHeadSmallHTMLDocument.st @@ -1,7 +1,7 @@ testing testHeadSmallHTMLDocument | url response | - url := 'http://homepage.mac.com/svc/Zinc-HTTP-Components/small.html'. + url := 'http://zn.stfx.eu/zn/small.html'. response := ZnEasy head: url. self assert: (response headers contentType = ZnMimeType textHtml). self assert: (response statusLine code = 200). diff --git a/repository/Zinc-Tests.package/ZnEasyTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnEasyTests.class/methodProperties.json new file mode 100644 index 00000000..8bf786e3 --- /dev/null +++ b/repository/Zinc-Tests.package/ZnEasyTests.class/methodProperties.json @@ -0,0 +1,14 @@ +{ + "class" : { + }, + "instance" : { + "port" : "SvenVanCaekenberghe 3/12/2012 21:02", + "testDelete" : "SvenVanCaekenberghe 3/12/2012 21:03", + "testGetJpeg" : "SvenVanCaekenberghe 9/15/2011 16:34", + "testGetSmallHTMLDocument" : "SvenVanCaekenberghe 7/2/2012 15:30", + "testHeadSmallHTMLDocument" : "SvenVanCaekenberghe 7/4/2012 17:33", + "testPost" : "SvenVanCaekenberghe 3/12/2012 21:05", + "testPostUnicodeUtf8" : "SvenVanCaekenberghe 3/12/2012 21:05", + "testPut" : "SvenVanCaekenberghe 3/12/2012 21:06", + "testTimeout" : "SvenVanCaekenberghe 3/12/2012 21:07", + "withServerDo:" : "SvenVanCaekenberghe 3/12/2012 21:02" } } diff --git a/repository/Zinc-Tests.package/ZnEntityReaderTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnEntityReaderTests.class/methodProperties.json new file mode 100644 index 00000000..d818935e --- /dev/null +++ b/repository/Zinc-Tests.package/ZnEntityReaderTests.class/methodProperties.json @@ -0,0 +1,8 @@ +{ + "class" : { + }, + "instance" : { + "testChunked" : "SvenVanCaekenberghe 12/3/2010 16:03", + "testChunkedWithExtraHeaders" : "SvenVanCaekenberghe 12/3/2010 16:04", + "testReadStreaming" : "SvenVanCaekenberghe 2/21/2011 23:08", + "testReadStreamingWriting" : "SvenVanCaekenberghe 2/21/2011 23:13" } } diff --git a/repository/Zinc-Tests.package/ZnEntityTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnEntityTests.class/methodProperties.json new file mode 100644 index 00000000..453d6861 --- /dev/null +++ b/repository/Zinc-Tests.package/ZnEntityTests.class/methodProperties.json @@ -0,0 +1,15 @@ +{ + "class" : { + }, + "instance" : { + "testMultiPartFormDataWriteRead" : "SvenVanCaekenberghe 1/27/2011 17:15", + "testReading" : "SvenVanCaekenberghe 12/3/2010 15:41", + "testReadingBinary" : "SvenVanCaekenberghe 4/7/2012 17:45", + "testReadingLimited" : "SvenVanCaekenberghe 1/31/2012 13:39", + "testStringEntityEncoderInitialization" : "SvenVanCaekenberghe 12/14/2010 12:13", + "testUTF8ReadingDetermined" : "PaulDeBruicker 04/10/2011 10:46", + "testUTF8ReadingUndetermined" : "PaulDeBruicker 04/10/2011 10:46", + "testUTF8Writing" : "PaulDeBruicker 04/10/2011 10:46", + "testWritingApplicationUrlEncoding" : "SvenVanCaekenberghe 9/12/2010 10:11", + "testWritingApplicationUrlEncodingWithTextEncodingLatin1" : "NorbertHartl 12/6/2011 18:33", + "testWritingApplicationUrlEncodingWithTextEncodingUtf8" : "NorbertHartl 12/6/2011 18:33" } } diff --git a/repository/Zinc-Tests.package/ZnFixedClientTests.class/instance/testGetSmallHTMLDocument.st b/repository/Zinc-Tests.package/ZnFixedClientTests.class/instance/testGetSmallHTMLDocument.st index 0c6c43a5..3b140a6a 100644 --- a/repository/Zinc-Tests.package/ZnFixedClientTests.class/instance/testGetSmallHTMLDocument.st +++ b/repository/Zinc-Tests.package/ZnFixedClientTests.class/instance/testGetSmallHTMLDocument.st @@ -3,9 +3,9 @@ testGetSmallHTMLDocument self ignoringDeprecation: [ | client response | - client := ZnFixedClient host: 'homepage.mac.com'. + client := ZnFixedClient host: 'zn.stfx.eu'. [ - response := client get: '/svc/Zinc-HTTP-Components/small.html'. + response := client get: '/zn/small.html'. self assert: response headers contentType = ZnMimeType textHtml. self assert: response statusLine code = 200. self assert: (response entity string includesSubString: 'small') ] diff --git a/repository/Zinc-Tests.package/ZnFixedClientTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnFixedClientTests.class/methodProperties.json new file mode 100644 index 00000000..85a0e183 --- /dev/null +++ b/repository/Zinc-Tests.package/ZnFixedClientTests.class/methodProperties.json @@ -0,0 +1,7 @@ +{ + "class" : { + }, + "instance" : { + "ignoringDeprecation:" : "SvenVanCaekenberghe 10/4/2011 13:55", + "testGetSmallHTMLDocument" : "SvenVanCaekenberghe 7/2/2012 15:31", + "testIfModifiedSinceNotModified" : "SvenVanCaekenberghe 10/4/2011 13:55" } } diff --git a/repository/Zinc-Tests.package/ZnHTTPSocketFacadeTests.class/instance/testGetSmallHTMLDocument.st b/repository/Zinc-Tests.package/ZnHTTPSocketFacadeTests.class/instance/testGetSmallHTMLDocument.st index a6d1cc6e..ce6150d4 100644 --- a/repository/Zinc-Tests.package/ZnHTTPSocketFacadeTests.class/instance/testGetSmallHTMLDocument.st +++ b/repository/Zinc-Tests.package/ZnHTTPSocketFacadeTests.class/instance/testGetSmallHTMLDocument.st @@ -1,6 +1,6 @@ testing testGetSmallHTMLDocument | mimeDocument | - mimeDocument := ZnHTTPSocketFacade httpGetDocument: 'http://homepage.mac.com/svc/Zinc-HTTP-Components/small.html'. + mimeDocument := ZnHTTPSocketFacade httpGetDocument: 'http://zn.stfx.eu/zn/small.html'. self assert: (mimeDocument contents includesSubString: 'small'). self assert: (mimeDocument contentType includesSubString: 'text/html') \ No newline at end of file diff --git a/repository/Zinc-Tests.package/ZnHTTPSocketFacadeTests.class/instance/testGetSmallHTMLStream.st b/repository/Zinc-Tests.package/ZnHTTPSocketFacadeTests.class/instance/testGetSmallHTMLStream.st index a892d6be..f7fcfe1e 100644 --- a/repository/Zinc-Tests.package/ZnHTTPSocketFacadeTests.class/instance/testGetSmallHTMLStream.st +++ b/repository/Zinc-Tests.package/ZnHTTPSocketFacadeTests.class/instance/testGetSmallHTMLStream.st @@ -1,5 +1,5 @@ testing testGetSmallHTMLStream | stream | - stream := ZnHTTPSocketFacade httpGet: 'http://homepage.mac.com/svc/Zinc-HTTP-Components/small.html'. + stream := ZnHTTPSocketFacade httpGet: 'http://zn.stfx.eu/zn/small.html'. self assert: (stream contents includesSubString: 'small') \ No newline at end of file diff --git a/repository/Zinc-Tests.package/ZnHTTPSocketFacadeTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnHTTPSocketFacadeTests.class/methodProperties.json new file mode 100644 index 00000000..95446b4e --- /dev/null +++ b/repository/Zinc-Tests.package/ZnHTTPSocketFacadeTests.class/methodProperties.json @@ -0,0 +1,8 @@ +{ + "class" : { + }, + "instance" : { + "testExtendUrlWithArgs" : "SvenVanCaekenberghe 4/30/2011 13:59", + "testGetSmallHTMLDocument" : "SvenVanCaekenberghe 7/2/2012 15:30", + "testGetSmallHTMLStream" : "SvenVanCaekenberghe 7/2/2012 15:30", + "testPut" : "SvenVanCaekenberghe 3/12/2012 22:11" } } diff --git a/repository/Zinc-Tests.package/ZnHeadersTests.class/instance/testReadingMultiline.st b/repository/Zinc-Tests.package/ZnHeadersTests.class/instance/testReadingMultiline.st new file mode 100644 index 00000000..bb96be6f --- /dev/null +++ b/repository/Zinc-Tests.package/ZnHeadersTests.class/instance/testReadingMultiline.st @@ -0,0 +1,15 @@ +testing +testReadingMultiline + | string headers | + string := 'Content-Type: text/plain', String crlf, + 'Long: foo', String crlf, + ' bar', String crlf, + String tab, 'baz', String crlf, + 'Content-Length: 128', String crlf. + headers := ZnHeaders readFrom: string readStream. + self assert: (headers includesKey: 'Content-Type'). + self assert: (headers includesKey: 'Content-Length'). + self assert: (headers at: 'Content-Type') = 'text/plain'. + self assert: (headers at: 'Content-Length') = '128'. + self assert: (headers includesKey: #Long). + self assert: (headers at: #long) equals: 'foo bar baz'. \ No newline at end of file diff --git a/repository/Zinc-Tests.package/ZnHeadersTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnHeadersTests.class/methodProperties.json new file mode 100644 index 00000000..32efa86e --- /dev/null +++ b/repository/Zinc-Tests.package/ZnHeadersTests.class/methodProperties.json @@ -0,0 +1,11 @@ +{ + "class" : { + }, + "instance" : { + "testMergeValued" : "SvenVanCaekenberghe 9/10/2010 20:59", + "testMultiValued" : "SvenVanCaekenberghe 9/10/2010 20:57", + "testMultiValuedStreaming" : "SvenVanCaekenberghe 9/10/2010 21:03", + "testNormalization" : "SvenVanCaekenberghe 9/10/2010 20:55", + "testReading" : "SvenVanCaekenberghe 9/6/2010 20:16", + "testReadingMultiline" : "SvenVanCaekenberghe 5/22/2012 10:42", + "testWriting" : "SvenVanCaekenberghe 9/6/2010 20:20" } } diff --git a/repository/Zinc-Tests.package/ZnHttpClientTests.class/instance/testGet.st b/repository/Zinc-Tests.package/ZnHttpClientTests.class/instance/testGet.st index 4ff90ad9..ae0758a0 100644 --- a/repository/Zinc-Tests.package/ZnHttpClientTests.class/instance/testGet.st +++ b/repository/Zinc-Tests.package/ZnHttpClientTests.class/instance/testGet.st @@ -3,7 +3,7 @@ testGet self ignoringDeprecation: [ | client response | client := ZnHttpClient new. response := client - url: 'http://homepage.mac.com/svc/Zinc-HTTP-Components/small.html'; + url: 'http://zn.stfx.eu/zn/small.html'; get. self assert: response notNil. self assert: client status = 200 ] \ No newline at end of file diff --git a/repository/Zinc-Tests.package/ZnHttpClientTests.class/instance/testGetMultParam.st b/repository/Zinc-Tests.package/ZnHttpClientTests.class/instance/testGetMultParam.st index 87f741c9..e57aaa07 100644 --- a/repository/Zinc-Tests.package/ZnHttpClientTests.class/instance/testGetMultParam.st +++ b/repository/Zinc-Tests.package/ZnHttpClientTests.class/instance/testGetMultParam.st @@ -2,7 +2,7 @@ testing testGetMultParam self ignoringDeprecation: [ | client response | client := ZnHttpClient new - url: 'http://homepage.mac.com/svc/Zinc-HTTP-Components/small.html'; + url: 'http://zn.stfx.eu/zn/small.html'; parameterAt: 'test' add: 'value1'; parameterAt: 'test' add: 'value2'. self assert: (client params at: 'test') isArray. diff --git a/repository/Zinc-Tests.package/ZnHttpClientTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnHttpClientTests.class/methodProperties.json new file mode 100644 index 00000000..c73a24bc --- /dev/null +++ b/repository/Zinc-Tests.package/ZnHttpClientTests.class/methodProperties.json @@ -0,0 +1,18 @@ +{ + "class" : { + }, + "instance" : { + "ignoringDeprecation:" : "SvenVanCaekenberghe 10/4/2011 14:11", + "port" : "SvenVanCaekenberghe 3/12/2012 20:20", + "testBasicAuthorization" : "SvenVanCaekenberghe 3/12/2012 20:31", + "testBasicAuthorizationFailure" : "SvenVanCaekenberghe 3/12/2012 20:31", + "testCookieAt" : "SvenVanCaekenberghe 3/12/2012 20:23", + "testDelete" : "SvenVanCaekenberghe 3/12/2012 20:31", + "testDigestAuthorization" : "SvenVanCaekenberghe 3/12/2012 20:31", + "testDigestAuthorizationFailure" : "SvenVanCaekenberghe 3/12/2012 20:31", + "testGet" : "SvenVanCaekenberghe 7/4/2012 17:32", + "testGetMultParam" : "SvenVanCaekenberghe 7/4/2012 17:33", + "testPost" : "SvenVanCaekenberghe 3/12/2012 20:32", + "testPut" : "SvenVanCaekenberghe 3/12/2012 20:31", + "testRelativeRedirect" : "SvenVanCaekenberghe 5/14/2012 17:16", + "withServerDo:" : "SvenVanCaekenberghe 3/12/2012 20:20" } } diff --git a/repository/Zinc-Tests.package/ZnLimitedReadStreamTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnLimitedReadStreamTests.class/methodProperties.json new file mode 100644 index 00000000..e2375580 --- /dev/null +++ b/repository/Zinc-Tests.package/ZnLimitedReadStreamTests.class/methodProperties.json @@ -0,0 +1,14 @@ +{ + "class" : { + }, + "instance" : { + "testBinary" : "PaulDeBruicker 04/10/2011 10:47", + "testBinaryAll" : "PaulDeBruicker 04/10/2011 10:47", + "testMatch" : "SvenVanCaekenberghe 5/2/2012 16:05", + "testNext" : "SvenVanCaekenberghe 1/31/2012 20:49", + "testNextCount" : "SvenVanCaekenberghe 2/21/2011 23:24", + "testNextCountInto" : "SvenVanCaekenberghe 2/21/2011 23:26", + "testNextCountIntoShort" : "SvenVanCaekenberghe 1/31/2012 20:41", + "testNextCountShort" : "SvenVanCaekenberghe 2/21/2011 23:24", + "testSimple" : "SvenVanCaekenberghe 9/27/2010 13:04", + "testSimpleEof" : "SvenVanCaekenberghe 1/31/2012 20:45" } } diff --git a/repository/Zinc-Tests.package/ZnLineReaderTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnLineReaderTests.class/methodProperties.json new file mode 100644 index 00000000..ac8dc548 --- /dev/null +++ b/repository/Zinc-Tests.package/ZnLineReaderTests.class/methodProperties.json @@ -0,0 +1,8 @@ +{ + "class" : { + }, + "instance" : { + "testBinary" : "SvenVanCaekenberghe 9/27/2010 19:22", + "testLineTooLong" : "SvenVanCaekenberghe 2/28/2011 14:21", + "testLineTooLongDefault" : "SvenVanCaekenberghe 1/2/2012 19:18", + "testSimple" : "SvenVanCaekenberghe 9/27/2010 19:02" } } diff --git a/repository/Zinc-Tests.package/ZnLogSupportTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnLogSupportTests.class/methodProperties.json new file mode 100644 index 00000000..3ab4ed39 --- /dev/null +++ b/repository/Zinc-Tests.package/ZnLogSupportTests.class/methodProperties.json @@ -0,0 +1,7 @@ +{ + "class" : { + }, + "instance" : { + "testFilter" : "SvenVanCaekenberghe 3/29/2011 14:59", + "testLogEvent" : "SvenVanCaekenberghe 4/13/2011 00:23", + "testSimple" : "SvenVanCaekenberghe 3/29/2011 11:42" } } diff --git a/repository/Zinc-Tests.package/ZnMagicCookieJarTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnMagicCookieJarTests.class/methodProperties.json new file mode 100644 index 00000000..3c21b11e --- /dev/null +++ b/repository/Zinc-Tests.package/ZnMagicCookieJarTests.class/methodProperties.json @@ -0,0 +1,9 @@ +{ + "class" : { + }, + "instance" : { + "cookieString" : "MattKennedy 9/28/2010 16:25", + "cookieStringAlt" : "MattKennedy 9/28/2010 16:31", + "testAdd" : "SvenVanCaekenberghe 1/4/2011 14:19", + "testCookieAtForUrl" : "SvenVanCaekenberghe 1/4/2011 15:03", + "testCookiesForUrl" : "SvenVanCaekenberghe 1/4/2011 15:02" } } diff --git a/repository/Zinc-Tests.package/ZnMagicCookieTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnMagicCookieTests.class/methodProperties.json new file mode 100644 index 00000000..b768aeb8 --- /dev/null +++ b/repository/Zinc-Tests.package/ZnMagicCookieTests.class/methodProperties.json @@ -0,0 +1,9 @@ +{ + "class" : { + }, + "instance" : { + "cookieString" : "MattKennedy 9/28/2010 15:16", + "cookieStringSubpath" : "MattKennedy 9/28/2010 16:11", + "testFromString" : "SvenVanCaekenberghe 1/4/2011 14:20", + "testInDomain" : "SvenVanCaekenberghe 1/4/2011 15:01", + "testInPath" : "SvenVanCaekenberghe 1/4/2011 14:20" } } diff --git a/repository/Zinc-Tests.package/ZnMimeTypeTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnMimeTypeTests.class/methodProperties.json new file mode 100644 index 00000000..6910bf5d --- /dev/null +++ b/repository/Zinc-Tests.package/ZnMimeTypeTests.class/methodProperties.json @@ -0,0 +1,12 @@ +{ + "class" : { + }, + "instance" : { + "testAsMimeType" : "SvenVanCaekenberghe 1/4/2011 19:59", + "testCharset" : "SvenVanCaekenberghe 3/6/2012 11:05", + "testCopying" : "SvenVanCaekenberghe 12/6/2011 20:51", + "testDefault" : "SvenVanCaekenberghe 12/6/2011 20:44", + "testIdentity" : "SvenVanCaekenberghe 12/6/2011 20:44", + "testParameters" : "SvenVanCaekenberghe 3/6/2012 11:02", + "testReading" : "SvenVanCaekenberghe 12/2/2010 11:29", + "testWriting" : "SvenVanCaekenberghe 12/2/2010 11:29" } } diff --git a/repository/Zinc-Tests.package/ZnMultiValueDictionaryTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnMultiValueDictionaryTests.class/methodProperties.json new file mode 100644 index 00000000..64d50142 --- /dev/null +++ b/repository/Zinc-Tests.package/ZnMultiValueDictionaryTests.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "testMultiValues" : "PaulDeBruicker 04/10/2011 10:48", + "testTooManyEntries" : "SvenVanCaekenberghe 1/2/2012 19:23" } } diff --git a/repository/Zinc-Tests.package/ZnRequestLineTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnRequestLineTests.class/methodProperties.json new file mode 100644 index 00000000..ee8084b9 --- /dev/null +++ b/repository/Zinc-Tests.package/ZnRequestLineTests.class/methodProperties.json @@ -0,0 +1,8 @@ +{ + "class" : { + }, + "instance" : { + "testReading" : "SvenVanCaekenberghe 9/15/2010 14:08", + "testReadingWrongMethod" : "DamienPollet 8/4/2011 14:04", + "testReadingWrongVersion" : "DamienPollet 8/4/2011 14:05", + "testWriting" : "SvenVanCaekenberghe 9/15/2010 14:11" } } diff --git a/repository/Zinc-Tests.package/ZnRequestTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnRequestTests.class/methodProperties.json new file mode 100644 index 00000000..095d1480 --- /dev/null +++ b/repository/Zinc-Tests.package/ZnRequestTests.class/methodProperties.json @@ -0,0 +1,9 @@ +{ + "class" : { + }, + "instance" : { + "testBasicAuthenticate" : "SvenVanCaekenberghe 9/12/2010 20:25", + "testCookiesParsing" : "SvenVanCaekenberghe 3/4/2012 21:40", + "testCookiesWriting" : "SvenVanCaekenberghe 3/4/2012 23:18", + "testReading" : "SvenVanCaekenberghe 12/4/2010 13:34", + "testReadingWithEntity" : "SvenVanCaekenberghe 12/4/2010 13:35" } } diff --git a/repository/Zinc-Tests.package/ZnResponseTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnResponseTests.class/methodProperties.json new file mode 100644 index 00000000..e46a196e --- /dev/null +++ b/repository/Zinc-Tests.package/ZnResponseTests.class/methodProperties.json @@ -0,0 +1,13 @@ +{ + "class" : { + }, + "instance" : { + "testCookie" : "NickAger 5/10/2011 11:30", + "testCookies" : "NickAger 5/10/2011 11:30", + "testCreated" : "SvenVanCaekenberghe 1/4/2011 14:20", + "testIsError" : "PaulDeBruicker 4/19/2012 17:01", + "testNotFound" : "SvenVanCaekenberghe 1/4/2011 14:20", + "testRedirect" : "SvenVanCaekenberghe 1/4/2011 14:20", + "testSlashdotGzipChunked" : "SvenVanCaekenberghe 9/13/2011 22:18", + "testWritingBinary" : "SvenVanCaekenberghe 12/3/2010 21:29", + "testWritingCharacter" : "SvenVanCaekenberghe 12/3/2010 21:30" } } diff --git a/repository/Zinc-Tests.package/ZnServerTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnServerTests.class/methodProperties.json new file mode 100644 index 00000000..8d6f7db0 --- /dev/null +++ b/repository/Zinc-Tests.package/ZnServerTests.class/methodProperties.json @@ -0,0 +1,13 @@ +{ + "class" : { + }, + "instance" : { + "port" : "SvenVanCaekenberghe 3/12/2012 20:36", + "testAuthorizationFailed" : "SvenVanCaekenberghe 3/12/2012 20:39", + "testAuthorizationSuccessful" : "SvenVanCaekenberghe 3/12/2012 20:41", + "testDefault" : "SvenVanCaekenberghe 3/12/2012 22:06", + "testEcho" : "SvenVanCaekenberghe 3/12/2012 20:42", + "testEchoBinary" : "SvenVanCaekenberghe 4/7/2012 18:05", + "testEchoLocalInterface" : "SvenVanCaekenberghe 4/13/2012 13:13", + "testGetUnicodeUtf8" : "SvenVanCaekenberghe 3/12/2012 20:44", + "withServerDo:" : "SvenVanCaekenberghe 3/12/2012 20:36" } } diff --git a/repository/Zinc-Tests.package/ZnStaticFileServerDelegateTests.class/instance/setUp.st b/repository/Zinc-Tests.package/ZnStaticFileServerDelegateTests.class/instance/setUp.st index 5f01d552..2bbcefde 100644 --- a/repository/Zinc-Tests.package/ZnStaticFileServerDelegateTests.class/instance/setUp.st +++ b/repository/Zinc-Tests.package/ZnStaticFileServerDelegateTests.class/instance/setUp.st @@ -1,7 +1,7 @@ running setUp self tearDown. - FileDirectory default + ZnFileSystemUtils newFileNamed: 'small.html' do: [ :stream | stream nextPutAll: self smallHtml ] \ No newline at end of file diff --git a/repository/Zinc-Tests.package/ZnStaticFileServerDelegateTests.class/instance/tearDown.st b/repository/Zinc-Tests.package/ZnStaticFileServerDelegateTests.class/instance/tearDown.st index 49a4d02f..cc0960be 100644 --- a/repository/Zinc-Tests.package/ZnStaticFileServerDelegateTests.class/instance/tearDown.st +++ b/repository/Zinc-Tests.package/ZnStaticFileServerDelegateTests.class/instance/tearDown.st @@ -1,5 +1,4 @@ running tearDown - (FileDirectory default fileExists: 'small.html') - ifTrue: [ FileDirectory default deleteFileNamed: 'small.html' ] + ZnFileSystemUtils deleteIfExists: 'small.html' \ No newline at end of file diff --git a/repository/Zinc-Tests.package/ZnStaticFileServerDelegateTests.class/instance/testBasicGet.st b/repository/Zinc-Tests.package/ZnStaticFileServerDelegateTests.class/instance/testBasicGet.st index 610e5878..1a710b98 100644 --- a/repository/Zinc-Tests.package/ZnStaticFileServerDelegateTests.class/instance/testBasicGet.st +++ b/repository/Zinc-Tests.package/ZnStaticFileServerDelegateTests.class/instance/testBasicGet.st @@ -11,7 +11,7 @@ testBasicGet self assert: (client contents includesSubString: 'Small'). self assert: (ZnUtils parseHttpDate: (client response headers at: 'Modification-Date')) - equals: (FileDirectory default directoryEntryFor: 'small.html') modificationDateAndTime asUTC asTimeStamp. + equals: (ZnFileSystemUtils modificationTimeFor: 'small.html') asUTC asTimeStamp. self assert: (ZnUtils parseHttpDate: (client response headers at: 'Expires')) > (DateAndTime now + 10 days). self diff --git a/repository/Zinc-Tests.package/ZnStaticFileServerDelegateTests.class/instance/testBasicHead.st b/repository/Zinc-Tests.package/ZnStaticFileServerDelegateTests.class/instance/testBasicHead.st index 9125ae65..c9aecd00 100644 --- a/repository/Zinc-Tests.package/ZnStaticFileServerDelegateTests.class/instance/testBasicHead.st +++ b/repository/Zinc-Tests.package/ZnStaticFileServerDelegateTests.class/instance/testBasicHead.st @@ -11,7 +11,7 @@ testBasicHead self deny: client response hasEntity. self assert: (ZnUtils parseHttpDate: (client response headers at: 'Modification-Date')) - equals: (FileDirectory default directoryEntryFor: 'small.html') modificationDateAndTime asUTC asTimeStamp. + equals: (ZnFileSystemUtils modificationTimeFor: 'small.html') asUTC asTimeStamp. self assert: (ZnUtils parseHttpDate: (client response headers at: 'Expires')) > (DateAndTime now + 10 days). self diff --git a/repository/Zinc-Tests.package/ZnStaticFileServerDelegateTests.class/instance/testIfModifiedSinceNotModified.st b/repository/Zinc-Tests.package/ZnStaticFileServerDelegateTests.class/instance/testIfModifiedSinceNotModified.st index 666a261a..0de1a4bd 100644 --- a/repository/Zinc-Tests.package/ZnStaticFileServerDelegateTests.class/instance/testIfModifiedSinceNotModified.st +++ b/repository/Zinc-Tests.package/ZnStaticFileServerDelegateTests.class/instance/testIfModifiedSinceNotModified.st @@ -7,7 +7,7 @@ testIfModifiedSinceNotModified addPath: #('local-files' 'small.html'); "We have to cheat a little bit since our #setUp just created the file, it does not alter the semantics of what we try to test" - setIfModifiedSince: Date tomorrow; + setIfModifiedSince: (Date today addDays: 2); get. self assert: client response isNotModified. self deny: client response hasEntity ] \ No newline at end of file diff --git a/repository/Zinc-Tests.package/ZnStaticFileServerDelegateTests.class/instance/withServerDo..st b/repository/Zinc-Tests.package/ZnStaticFileServerDelegateTests.class/instance/withServerDo..st index b285ea44..c30c003c 100644 --- a/repository/Zinc-Tests.package/ZnStaticFileServerDelegateTests.class/instance/withServerDo..st +++ b/repository/Zinc-Tests.package/ZnStaticFileServerDelegateTests.class/instance/withServerDo..st @@ -5,7 +5,7 @@ withServerDo: block [ (staticFileServerDelegate := ZnStaticFileServerDelegate new) prefixFromString: 'local-files'; - directory: FileDirectory default; + directory: ZnFileSystemUtils defaultDirectory; mimeTypeExpirations: ZnStaticFileServerDelegate defaultMimeTypeExpirations. server delegate: staticFileServerDelegate. server start. diff --git a/repository/Zinc-Tests.package/ZnStaticFileServerDelegateTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnStaticFileServerDelegateTests.class/methodProperties.json new file mode 100644 index 00000000..d2a5d049 --- /dev/null +++ b/repository/Zinc-Tests.package/ZnStaticFileServerDelegateTests.class/methodProperties.json @@ -0,0 +1,12 @@ +{ + "class" : { + }, + "instance" : { + "port" : "SvenVanCaekenberghe 5/14/2012 09:52", + "setUp" : "SvenVanCaekenberghe 7/3/2012 00:35", + "smallHtml" : "SvenVanCaekenberghe 5/14/2012 10:08", + "tearDown" : "SvenVanCaekenberghe 7/3/2012 00:35", + "testBasicGet" : "SvenVanCaekenberghe 7/3/2012 00:40", + "testBasicHead" : "SvenVanCaekenberghe 7/3/2012 00:40", + "testIfModifiedSinceNotModified" : "SvenVanCaekenberghe 8/3/2012 22:47", + "withServerDo:" : "SvenVanCaekenberghe 7/3/2012 00:38" } } diff --git a/repository/Zinc-Tests.package/ZnStatusLineTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnStatusLineTests.class/methodProperties.json new file mode 100644 index 00000000..d7a19261 --- /dev/null +++ b/repository/Zinc-Tests.package/ZnStatusLineTests.class/methodProperties.json @@ -0,0 +1,9 @@ +{ + "class" : { + }, + "instance" : { + "testReading" : "SvenVanCaekenberghe 9/15/2010 14:09", + "testReadingWrongCode" : "DamienPollet 8/4/2011 14:04", + "testReadingWrongVersion" : "DamienPollet 8/4/2011 14:05", + "testReadingWrongVersion2" : "DamienPollet 8/4/2011 14:05", + "testWriting" : "NickAger 5/10/2011 09:03" } } diff --git a/repository/Zinc-Tests.package/ZnUrlTests.class/instance/testConvenienceMethods.st b/repository/Zinc-Tests.package/ZnUrlTests.class/instance/testConvenienceMethods.st new file mode 100644 index 00000000..751cf54c --- /dev/null +++ b/repository/Zinc-Tests.package/ZnUrlTests.class/instance/testConvenienceMethods.st @@ -0,0 +1,16 @@ +testing +testConvenienceMethods + | baseUrl | + baseUrl := 'http://api.host.com' asZnUrl. + self + assert: baseUrl + equals: 'http://api.host.com' asZnUrl. + self + assert: (baseUrl / 'doc' / 'file.html') + equals: 'http://api.host.com/doc/file.html' asZnUrl. + self + assert: (baseUrl / 'search' ? (#q -> 'Smalltalk') & (#lang -> #en)) + equals: 'http://api.host.com/search?q=Smalltalk&lang=en' asZnUrl. + self + assert: baseUrl + equals: 'http://api.host.com' asZnUrl \ No newline at end of file diff --git a/repository/Zinc-Tests.package/ZnUrlTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnUrlTests.class/methodProperties.json new file mode 100644 index 00000000..3f7e3cb6 --- /dev/null +++ b/repository/Zinc-Tests.package/ZnUrlTests.class/methodProperties.json @@ -0,0 +1,29 @@ +{ + "class" : { + }, + "instance" : { + "testAsZnUrl" : "SvenVanCaekenberghe 1/4/2011 13:40", + "testAuthority" : "SvenVanCaekenberghe 1/4/2011 13:05", + "testConvenienceMethods" : "SvenVanCaekenberghe 7/9/2012 16:33", + "testDefaultScheme" : "SvenVanCaekenberghe 8/11/2011 15:13", + "testDefaultSchemeAndPort" : "SvenVanCaekenberghe 8/11/2011 15:14", + "testDefaults" : "SvenVanCaekenberghe 8/11/2011 15:14", + "testEncodedSlash" : "SvenVanCaekenberghe 4/17/2011 10:29", + "testIsSlash" : "SvenVanCaekenberghe 1/4/2011 13:42", + "testLocalHost" : "SvenVanCaekenberghe 5/13/2011 10:44", + "testMissingScheme" : "SvenVanCaekenberghe 8/11/2011 14:55", + "testParsePathOnly" : "SvenVanCaekenberghe 8/11/2011 15:20", + "testParsingEmpty" : "SvenVanCaekenberghe 1/4/2011 12:17", + "testParsingEscape" : "SvenVanCaekenberghe 2/28/2011 15:36", + "testParsingSimple" : "SvenVanCaekenberghe 1/3/2011 16:41", + "testParsingWrongEscape" : "SvenVanCaekenberghe 2/28/2011 15:50", + "testParsingWrongEscapeQuery" : "SvenVanCaekenberghe 2/28/2011 15:55", + "testParsingWrongPort" : "SvenVanCaekenberghe 2/28/2011 15:28", + "testParsingWrongScheme" : "DamienPollet 8/4/2011 14:05", + "testPrintingSimple" : "SvenVanCaekenberghe 1/4/2011 12:21", + "testQuery" : "SvenVanCaekenberghe 1/4/2011 15:26", + "testQueryEncoding" : "SvenVanCaekenberghe 12/13/2011 14:16", + "testQueryManipulation" : "SvenVanCaekenberghe 12/13/2011 14:14", + "testRelative" : "SvenVanCaekenberghe 8/11/2011 15:10", + "testRetrieveContents" : "SvenVanCaekenberghe 1/24/2012 11:44", + "testWriteUrlPathQueryFragmentOfOn" : "SvenVanCaekenberghe 1/4/2011 13:57" } } diff --git a/repository/Zinc-Tests.package/ZnUserAgentSessionTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnUserAgentSessionTests.class/methodProperties.json new file mode 100644 index 00000000..c7c94a3e --- /dev/null +++ b/repository/Zinc-Tests.package/ZnUserAgentSessionTests.class/methodProperties.json @@ -0,0 +1,8 @@ +{ + "class" : { + }, + "instance" : { + "dummyCredential" : "MattKennedy 9/28/2010 15:11", + "testAccessors" : "SvenVanCaekenberghe 8/30/2011 22:00", + "testAddCredential" : "MattKennedy 9/28/2010 15:14", + "testWithCookieJar" : "SvenVanCaekenberghe 12/7/2010 00:00" } } diff --git a/repository/Zinc-Tests.package/ZnUserAgentSettingsTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnUserAgentSettingsTests.class/methodProperties.json new file mode 100644 index 00000000..a6c7b12f --- /dev/null +++ b/repository/Zinc-Tests.package/ZnUserAgentSettingsTests.class/methodProperties.json @@ -0,0 +1,7 @@ +{ + "class" : { + }, + "instance" : { + "testAccessors" : "MattKennedy 9/28/2010 14:58", + "testClassDefaults" : "SvenVanCaekenberghe 12/7/2010 00:00", + "testLoadSession" : "MattKennedy 9/28/2010 14:59" } } diff --git a/repository/Zinc-Tests.package/ZnUserAgentTests.class/instance/testGetSmallHTMLDocument.st b/repository/Zinc-Tests.package/ZnUserAgentTests.class/instance/testGetSmallHTMLDocument.st index 0bbe37a4..f913904b 100644 --- a/repository/Zinc-Tests.package/ZnUserAgentTests.class/instance/testGetSmallHTMLDocument.st +++ b/repository/Zinc-Tests.package/ZnUserAgentTests.class/instance/testGetSmallHTMLDocument.st @@ -1,7 +1,7 @@ testing testGetSmallHTMLDocument self ignoringDeprecation: [ | url response | - url := 'http://homepage.mac.com/svc/Zinc-HTTP-Components/small.html'. + url := 'http://zn.stfx.eu/zn/small.html'. response := ZnUserAgent new get: url. self assert: response headers contentType = ZnMimeType textHtml. self assert: response statusLine code = 200. diff --git a/repository/Zinc-Tests.package/ZnUserAgentTests.class/instance/testHeadSmallHTMLDocument.st b/repository/Zinc-Tests.package/ZnUserAgentTests.class/instance/testHeadSmallHTMLDocument.st index a4a8bdea..b32c8412 100644 --- a/repository/Zinc-Tests.package/ZnUserAgentTests.class/instance/testHeadSmallHTMLDocument.st +++ b/repository/Zinc-Tests.package/ZnUserAgentTests.class/instance/testHeadSmallHTMLDocument.st @@ -1,7 +1,7 @@ testing testHeadSmallHTMLDocument self ignoringDeprecation: [ | url response | - url := 'http://homepage.mac.com/svc/Zinc-HTTP-Components/small.html'. + url := 'http://zn.stfx.eu/zn/small.html'. response := ZnUserAgent new head: url. self assert: response headers contentType = ZnMimeType textHtml. self assert: response statusLine code = 200 ] \ No newline at end of file diff --git a/repository/Zinc-Tests.package/ZnUserAgentTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnUserAgentTests.class/methodProperties.json new file mode 100644 index 00000000..f95abdf3 --- /dev/null +++ b/repository/Zinc-Tests.package/ZnUserAgentTests.class/methodProperties.json @@ -0,0 +1,16 @@ +{ + "class" : { + }, + "instance" : { + "ignoringDeprecation:" : "SvenVanCaekenberghe 10/4/2011 14:11", + "port" : "SvenVanCaekenberghe 3/12/2012 20:48", + "testCookieAt" : "SvenVanCaekenberghe 3/12/2012 20:48", + "testDelete" : "SvenVanCaekenberghe 3/12/2012 20:49", + "testErrorHandler" : "SvenVanCaekenberghe 3/12/2012 20:50", + "testFollowRedirect" : "SvenVanCaekenberghe 3/12/2012 20:50", + "testGetSmallHTMLDocument" : "SvenVanCaekenberghe 7/2/2012 15:30", + "testHeadSmallHTMLDocument" : "SvenVanCaekenberghe 7/4/2012 17:33", + "testPost" : "SvenVanCaekenberghe 3/12/2012 20:51", + "testPut" : "SvenVanCaekenberghe 3/12/2012 20:52", + "testRelativeRedirect" : "SvenVanCaekenberghe 5/14/2012 17:17", + "withServerDo:" : "SvenVanCaekenberghe 3/12/2012 20:48" } } diff --git a/repository/Zinc-Tests.package/ZnUtilsTests.class/instance/testStreamingBinaryWithoutSize.st b/repository/Zinc-Tests.package/ZnUtilsTests.class/instance/testStreamingBinaryWithoutSize.st new file mode 100644 index 00000000..e404ed1b --- /dev/null +++ b/repository/Zinc-Tests.package/ZnUtilsTests.class/instance/testStreamingBinaryWithoutSize.st @@ -0,0 +1,11 @@ +testing +testStreamingBinaryWithoutSize + | data in out | + data := ByteArray streamContents: [ :stream | + 1 to: 10000 do: [ :each | + stream nextPut: #(1 2 3) atRandom ] ]. + in := data readStream. + out := WriteStream on: (ByteArray new: data size). + ZnUtils streamFrom: in to: out. + self assert: in atEnd. + self assert: out contents equals: data \ No newline at end of file diff --git a/repository/Zinc-Tests.package/ZnUtilsTests.class/instance/testStreamingNonBinaryWithoutSize.st b/repository/Zinc-Tests.package/ZnUtilsTests.class/instance/testStreamingNonBinaryWithoutSize.st new file mode 100644 index 00000000..f0d9bd9a --- /dev/null +++ b/repository/Zinc-Tests.package/ZnUtilsTests.class/instance/testStreamingNonBinaryWithoutSize.st @@ -0,0 +1,11 @@ +testing +testStreamingNonBinaryWithoutSize + | data in out | + data := String streamContents: [ :stream | + 1 to: 10000 do: [ :each | + stream nextPut: 'abc' atRandom ] ]. + in := data readStream. + out := WriteStream on: (String new: data size). + ZnUtils streamFrom: in to: out. + self assert: in atEnd. + self assert: out contents equals: data \ No newline at end of file diff --git a/repository/Zinc-Tests.package/ZnUtilsTests.class/methodProperties.json b/repository/Zinc-Tests.package/ZnUtilsTests.class/methodProperties.json new file mode 100644 index 00000000..010f9afc --- /dev/null +++ b/repository/Zinc-Tests.package/ZnUtilsTests.class/methodProperties.json @@ -0,0 +1,20 @@ +{ + "class" : { + }, + "instance" : { + "testBase64" : "SvenVanCaekenberghe 3/21/2011 20:25", + "testCapitalizeString" : "SvenVanCaekenberghe 9/10/2010 20:09", + "testHttpDate" : "PaulDeBruicker 04/10/2011 10:48", + "testIsCapitalizedString" : "SvenVanCaekenberghe 9/10/2010 20:10", + "testParseHttpDate" : "SeanDeNigris 5/10/2012 11:58", + "testParseHttpDateAlternative1" : "SeanDeNigris 5/10/2012 11:58", + "testParseHttpDateDashes" : "SeanDeNigris 5/10/2012 11:58", + "testParseHttpDateDashesAlternative1" : "SvenVanCaekenberghe 5/10/2012 20:27", + "testQueryParsing" : "SvenVanCaekenberghe 9/11/2010 21:36", + "testQueryWriting" : "SvenVanCaekenberghe 9/17/2010 14:55", + "testReadUpToEndBinary" : "SvenVanCaekenberghe 1/31/2012 12:57", + "testReadUpToEndNonBinary" : "SvenVanCaekenberghe 1/31/2012 12:58", + "testStreamingBinary" : "SvenVanCaekenberghe 1/31/2012 12:56", + "testStreamingBinaryWithoutSize" : "SvenVanCaekenberghe 8/3/2012 22:36", + "testStreamingNonBinary" : "SvenVanCaekenberghe 1/31/2012 12:56", + "testStreamingNonBinaryWithoutSize" : "SvenVanCaekenberghe 8/3/2012 22:37" } } diff --git a/repository/Zinc-Tests.package/monticello.meta/version b/repository/Zinc-Tests.package/monticello.meta/version index d1234861..0dc76a63 100644 --- a/repository/Zinc-Tests.package/monticello.meta/version +++ b/repository/Zinc-Tests.package/monticello.meta/version @@ -1 +1 @@ -(name 'Zinc-Tests-SvenVanCaekenberghe.143' message 'replaced direct usage of ZnValueDelegate with indirect usage through the #onRequestRespond: method' id '9972b054-538c-4edc-9203-b0c82d0ef62b' date '14 May 2012' time '5:21:23 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.142' message 'added ZnStaticFileServerDelegateTests for - expiration - cache-control - if-modified-since, not-modified' id '9f8498a3-c576-4844-a0f5-bafc5c5cbeca' date '14 May 2012' time '11:11:41 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.141' message 'merged ZnUtils class>>#parseHttpDate: improvements by Sean DeNigris' id '13c0a808-d2be-4e91-a5ed-b7aea00412c1' date '10 May 2012' time '8:31:37 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SeanDeNigris.140' message 'Fix the HTTP date parsing to comply with the HTTP/1.1 standard. See discussion at http://forum.world.st/Parsing-HTTP-dates-td4623688.html' id 'ea4710db-8f89-4b77-bc48-c268f42d6961' date '10 May 2012' time '12:22:56.663 pm' author 'SeanDeNigris' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.139' message 'added ZnClientTests>>#testUploadSmallDocument' id 'f3dd9dc9-b488-4211-8b1d-c61620c1cfb0' date '9 May 2012' time '9:58:54 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.138' message 'added ZnCharacterStreamTests' id '08fa8343-de91-467d-8fab-35b090b4443d' date '3 May 2012' time '10:16:27 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.137' message 'added #match: and #contents to ZnChunkedReadStream and ZnLimitedReadStream; added some convenience methods to ZnCharacterEncoder: #encodeString: #decodeBytes: and #encodedByteCountForString:' id '61f9a691-603d-4aee-892c-4fe74f0a7ee2' date '2 May 2012' time '4:44:58 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.136' message 'ZnClientTests>>#testDownloadSmallHTML follow switch from ZnClient>>#downloadToFileNamed: to ZnClient>>#downloadTo:' id 'b1c212b4-6b1c-45b1-88d1-5410f135de5e' date '26 April 2012' time '4:49:07 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.135' message 'added test for ZnClient>>#downloadToFileNamed: ' id '364763a4-b7d7-4d0e-b66b-7e117e9194f3' date '25 April 2012' time '9:21:15 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.134' message 'timezone offsets should be Durations' id '26cfd348-8c5f-49ef-879b-45eeb8b41a23' date '23 April 2012' time '3:42:50 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-PaulDeBruicker.133' message 'Added tests for the ZnResponse>>#isError method I added to Zn' id '237a106b-ccbd-4183-8aaf-27439ebd5c98' date '19 April 2012' time '5:03:29.72 pm' author 'PaulDeBruicker' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.132' message 'renamed ZnServer>>#interface[:] to ZnServer>>#bindingAddress[:] following a suggestion by Norbert Hartl, Thx!' id 'a8ccf290-5116-475d-88c7-eb635daf6fe4' date '13 April 2012' time '1:21 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.131' message 'added technology to allow entities to be read binary even when they are textual, thus disabling Zn''s normal decoding behavior; this is what Seaside expects (as Seaside does its own conversions); added ZnEntityReader>>#[is]Binary; added ZnMessage[class]>>#readBinaryFrom: added ZnEntity class>>#readBinaryFrom:usingType:andLength: added ZnSingleThreadedServer>>#reader[:] to allow customizing entity reading' id '80c5b50f-d5d8-455e-9b21-c581f6ca84b7' date '7 April 2012' time '6:30:35 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.130' message 'rewrote all tests that use ZnServer to use #withServerDo: and/or a randomized port (between 1701 and 1710) to mitigate problems when running 2 Zn test suits concurrently on the same machine' id '7ba47490-c194-44a8-9252-f5a99246cd54' date '12 March 2012' time '10:26:51 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.129' message 'added the option to restrict ZnServers to only listen on a specific interface; added Zn[SingleThreaded]Server>>interface[:]; added ZnNetworkingUtils [class]>>#serverSocketOn:interface added ZnServerTests>>#testEchoLocalInterface' id '7d187299-518a-4f64-b855-d602b48fcc02' date '12 March 2012' time '7:52:33 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.128' message 'added some extra API to ZnMimeType to manipulate parameters and charSets' id '89affdf2-4eb5-4f15-8ff3-7b994c4e91b9' date '6 March 2012' time '11:11:39 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.127' message 'added 2 cookie related tests' id '3fdb3447-f066-4fa1-b5bd-58abcff73cfa' date '4 March 2012' time '11:21:57 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-MarcusDenker.126' message 'Issue 5299: Yet another Zn update http://code.google.com/p/pharo/issues/detail?id=5299' id '1f3a4aa8-996f-4162-b79a-0ff3fab1918f' date '17 February 2012' time '3:13:18 pm' author 'MarcusDenker' ancestors ((name 'Zinc-Tests-StephaneDucasse.123' message '- Issue 5157: Finder > Class > right-click > Hierarchy opens not on Class but on FinderClassNode. Tx Benjamin van Ryseghem. http://code.google.com/p/pharo/issues/detail?id=5157 - Issue 5151: Recategorization of PanelMorph. Thanks Benjamin van Ryseghem. There is no useless cleans. Even small steps are cool and important. http://code.google.com/p/pharo/issues/detail?id=5151 - Issue 5154: It would be great to have a setting to allow the Debugger to open centered and be 3/4 of screen. Thanks Alain Plantec. http://code.google.com/p/pharo/issues/detail?id=5154 - Issue 5148: LimitNumberOfEntriesInZnMultiValueDictionary. Thanks Sven van Caekenberghe. http://code.google.com/p/pharo/issues/detail?id=5148 ' id 'a7f69ceb-4c9b-40c3-abe1-5cc680f4886b' date '7 January 2012' time '7:13:43 pm' author 'StephaneDucasse' ancestors ((name 'Zinc-Tests-ZincUpdate.122' message '- Issue 5127: Zinc update http://code.google.com/p/pharo/issues/detail?id=5127 - last bit of Issue 4688: progress bar disappears on image save http://code.google.com/p/pharo/issues/detail?id=4688' id '54546963-f9f6-42ab-a1d8-3d4fb9f878d9' date '25 December 2011' time '11:02:04 pm' author 'ZincUpdate' ancestors ((name 'Zinc-Tests-StephaneDucasse.121' message '- Issue 5117: MNU: Transcripter class>>open. Thanks vpnbecmann. http://code.google.com/p/pharo/issues/detail?id=5117 - Issue 5122: ZnUpdate-Dec-20. Thanks sven van caekenberghe. http://code.google.com/p/pharo/issues/detail?id=5120' id '3cf2343f-1556-4ae0-ae03-26f2afc23899' date '25 December 2011' time '11:47:57 am' author 'StephaneDucasse' ancestors ((name 'Zinc-Tests-MarcusDenker.119' message 'Issue 5063: Zinc uses default encoding of utf-8 when encoding url safe encoded strings http://code.google.com/p/pharo/issues/detail?id=5063' id '7827ec5e-187b-4488-8d60-dba014f52080' date '9 December 2011' time '1:18:03 pm' author 'MarcusDenker' ancestors ((name 'Zinc-Tests-MarcusDenker.116' message 'Issue 4998: ContextPart>>#runUntilErrorOrReturnFrom: (for testing) http://code.google.com/p/pharo/issues/detail?id=4998 Issue 4994: Two failing test in ProcessTest http://code.google.com/p/pharo/issues/detail?id=4994 Issue 5014: zn updates http://code.google.com/p/pharo/issues/detail?id=5014' id '20189c38-b14d-4878-a8a3-3c104ad67b78' date '25 November 2011' time '4:03:30 pm' author 'MarcusDenker' ancestors ((name 'Zinc-Tests-StephaneDucasse.115' message 'ZnTests now :)' id '71d09a5d-c10e-412e-b9e2-2db68cbc2ac5' date '19 November 2011' time '10:18:54 am' author 'StephaneDucasse' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.114' message 'renamed ZnNeoClientTests -> ZnClientTests' id '709cd18e-4550-4b4f-ac0f-755c9d923271' date '8 November 2011' time '10:34:14 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.113' message 'renamed ZnClientTests -> ZnClientOldTests' id '61688dd0-20a0-4ac5-9ea9-27262f3ea53d' date '8 November 2011' time '10:15:11 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.112' message 'added ZnNeoClientTests>>#testGetSmallHTMLStreaming' id 'a097c21c-05df-480d-8afe-e8f5fee222a2' date '8 November 2011' time '9:07:05 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.109' message 'Following deprecation of instance creation (#new) of ZnFixedClient (and ZnExtendedFixedClient) and ZnUserAgent (and ZnHttpClient): kept all tests in ZnFixedClientTests, ZnUserAgentTests, ZnHttpClientTests and ZnCredentialsTests, but running under #ignoringDeprecation: ZnDispatcherTests now using ZnNeoClient directly' id '1da42667-075d-41cb-bbb0-94acd4038cb2' date '4 October 2011' time '2:25:57 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.108' message 'added basic ZnNeoClient>>#signalProgress support' id '37f5e20a-957a-40db-892a-722cd21ee1a5' date '4 October 2011' time '1:48:29 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.107' message 'made ZnClient deprecations proceedable and added a test for this behavior' id '016ea4f4-0161-4086-9422-8619a4ef0750' date '3 October 2011' time '2:44:51 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.106' message 'added ZnNeoClientTests>>#testGetAfterPost to test ZnNeoClient>>#resetRequestIfNeeded logic' id 'e7748414-dfa0-4ab8-8291-13e347971e78' date '23 September 2011' time '2:59:26 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.105' message 'extended ZnNeoClientTests>>#testRedirect with a resume of ZnTooManyRedirects' id 'f62dea54-3bc1-4b52-b1a2-3cbf8764afa3' date '19 September 2011' time '1:31:17 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.104' message 'added ZnNeoClient redirect tests' id 'c324d699-9454-4c3a-acd9-4d851de45ea9' date '19 September 2011' time '11:10:41 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.103' message 'added ZnNeoClient>>#setIfModifiedSince: and test' id '9d840776-d54a-46cb-9d7a-2223c92b5559' date '17 September 2011' time '8:43:05 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.102' message 'introducing ZnEasy to take over the class side functionality of ZnClient; ZnClient class side protocol being deprecated; renamed ZnClientTests to ZnEasyTests' id '65352f99-bcf8-45de-942b-d39f82882e34' date '15 September 2011' time '8:44:02 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.101' message 'patch the crippled ZnResponseTests>>#testSlashdotGzipChunked test even further; note: this really has to be rewritten altogether' id 'd7fedf37-3513-4106-b9d3-23e4c9e8e3bf' date '13 September 2011' time '10:20:10 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.100' message 'added tests for ZnUtils class>>#parseHttpDate: ' id '27156429-e7ca-4b20-b91d-479133d69751' date '13 September 2011' time '11:51:53 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.99' message 'added ZnNeoClientTests>>#testQueryGoogle' id '151e6ec9-94ac-45a8-b244-f4fc2731abc2' date '4 September 2011' time '7:59:50 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.98' message 'improved ZnNeoClientTests code a bit' id 'eaa2045b-0c32-4b32-882e-ab9051c0243b' date '31 August 2011' time '10:07:03 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.97' message 'added ZnNeoClientTests>>#testCookies; follow API changes related to cookies' id '946371f2-1bc4-40fa-b484-545baf59bcd6' date '30 August 2011' time '10:54:45 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.96' message 'now using the #contentReader option in ZnNeoClient>>#testGetGeoIP' id '6ead5c52-6b4d-4e30-9cc0-dddbc313a396' date '19 August 2011' time '5:29:21 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.95' message 'implemented ZnNeoClient>>#head ' id 'b3e73bcf-0d37-4e73-81d3-5c96251a8b63' date '18 August 2011' time '1:57:45 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.94' message 'extended ZnNeoClient with #ifFail:, #enforceHttpSuccess, #enforceAcceptContentType and retry behavior' id '9620aef4-bb7b-4f62-9e83-36c0fab74756' date '17 August 2011' time '9:43:26 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.93' message 'added ZnMimePart class>>#fieldName:entity: and #fieldName:fileNamed: added ZnNeoClient timeout option, more url building api, support for applicationFormUrlEncoded and multiPartFormData encoded entities for post/put' id 'ad46ba6d-e503-4ca7-a440-5328e3cc1bc3' date '17 August 2011' time '2:25:20 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.92' message 'added ZnNeoClient>>#testGetGeoIP' id '9d9c4ca4-4520-42d2-891f-bbd5ecbfc0a8' date '12 August 2011' time '2:10:32 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.91' message 'added ZnNeoClientTests' id 'ae555b6a-c685-4316-adb5-a74bf82d1428' date '12 August 2011' time '1:52:32 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.90' message 'added various tests to ZnUrlTests related to default scheme/port issues' id '21395d2e-5782-496e-a4e9-8296befc55c5' date '11 August 2011' time '3:30:38 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-DamienPollet.89' message 'Fix typo in exception names.' id 'bb1698f3-5db3-4191-b078-50d52d3ab887' date '4 August 2011' time '2:22:33 pm' author 'DamienPollet' ancestors ((name 'Zinc-Tests-StephaneDucasse.88' message '- Issue 4520: Zinc update http://code.google.com/p/pharo/issues/detail?id=4520 ZnDefaultServerDelegate>>#echoRequest: added option to delay the response to /echo with a specified number of seconds, as in echo?delay=60 added ZnSingleThreadedServer>>#onRequestRespond: convenience method implemented client side support for If-Modified-Since and Not Modified: - added ZnRequest>>#setIfModifiedSince: - refactored ZnMessage>>#readFrom to call #readEntityFrom: - overwritten ZnResponse>>#readEntityFrom: to take special no content response into account - extended ZnUtils class>>#httpDate: to accept any argument that understands #asTimeStamp ' id 'bb7a5fd9-7179-4fd1-b667-bcca7461b347' date '14 July 2011' time '12:20:38 pm' author 'StephaneDucasse' ancestors ((name 'Zinc-Tests-StephaneDucasse.85' message '- Update Zinc fixing support for HTTP proxies (thanks Alexandre Bergel for reporting this) requests to localhost are excluding from being proxied - ZnRequestLine>>#writeOn: now outputs absolute URLs when proxying - added ZnNetWorkingUtils class #isProxySet #shouldProxyUrl: and #httpProxy - added ZnUrl>>#isLocalHost - changed ZnUrl>>#host: to lowerCase its argument. - Fix methodClass - Issue 4237: Few fix for Settings. Thanks Benjamin van Ryseghem. - Issue 4235: Selection update. Thanks Benjamin van Ryseghem.' id '84becf3d-e476-48be-902e-90e2c51805b4' date '16 May 2011' time '7:05:29 pm' author 'StephaneDucasse' ancestors ((name 'Zinc-Tests-StephaneDucasse.78' message '- Issue 4130: Zinc should be added to core. Thanks sven van caekenberghe.' id '230e4d43-b504-43f5-a2d3-461e6c28ac02' date '12 May 2011' time '6:52 pm' author 'StephaneDucasse' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.77' message 'rewrote ZnHTTPSocketFacade class>>#entendURL:withArguments: to be compatible with HTTPSocket class>>#argString: (Thanks Esteban Lorenzano); added ZnSocketFacadeTests>>#testExtendUrlWithArgs' id '367e5a56-7e1a-4387-a3af-298cd651e876' date '30 April 2011' time '8:56:05 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.76' message 'small fix to ZnUrl>>#printPathOn: to deal with cases where forward slashes are encoded in URLs (Thanks, Jan van de Sandt for pointing this out); added ZnUrlTests>>#testEncodedSlash to cover these cases' id '0013f47d-6076-4d1d-a64e-0f29049dd527' date '17 April 2011' time '10:33:49 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.75' message 'attempt to make ZnLogSupportTests>>#testLogEvent a bit less silly (take higher resolution clocks into account)' id '54c6a29b-3155-46f9-a6ac-495af44a98f8' date '13 April 2011' time '12:24:50 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-PaulDeBruicker.74' message 'For portability to Gemstone I changed the declaration of ByteArrays from x:=#[98 99]. to x:=#(98 99) asByteArray and Unicode characters from x:=Unicode value: 16r00A2. to x:= 16r00A2 asCharacter. Now the same set of tests load and run safely in Gemstone and Pharo' id '2fc28b34-8196-4cdb-8aac-7029109b4e6f' date '10 April 2011' time '11:15:09 am' author 'PaulDeBruicker' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.73' message 'added ZnLogSupportTests for minimal testing of the new logging framework' id 'a2b7de93-f7ac-437e-bd43-ea9b32528adb' date '29 March 2011' time '4:50:53 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.72' message 'bugfix: it turns out that String>>#base64Encoded introduces newlines which we definitively do not want when doing Basic HTTP Encoding for example; introduced ZnUtils class>>#encodeBase64: to do the right thing and invoke Base64MimeConvertor with the #mimeEncode: multiLine: false; replaced all usages (added a #decodeBase64: for orthogonality); added a unit test to catch this ' id 'd922fbf4-127c-44c5-ac37-64e0e6397487' date '21 March 2011' time '8:50:58 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.71' message 'introduced ZnUnknownScheme exception' id '466c6bd3-e4b7-4cac-acc3-873cd1abd256' date '18 March 2011' time '1:32:01 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.70' message 'added multiple tests for ZnParseError hiearchy ' id 'd27b7580-5689-4262-9992-415b57e4e3c6' date '28 February 2011' time '4:00:39 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.69' message 'added to ZnLimitedReadStreamTests and ZnEntityReaderTests so that implemented ZnLimitedReadStream>>#next:into: has coverage' id '7d38a658-e074-43a9-9041-16050de2decc' date '21 February 2011' time '11:33:19 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.68' message 'changed the Pharo URL to http://www.pharo-project.org' id '66a414d0-c398-489f-b43a-0e8a4cc7374c' date '31 January 2011' time '1:59:26 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.67' message 'modified ZnEntityTests>>#testMultiPartFormDataWriteRead to test for proper content length behavior' id '18c512c0-687e-419f-9d59-7f08b9c22031' date '27 January 2011' time '5:18:41 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.66' message 'added ZnCharacterEncoderTests>>#testLatin2Encoder' id 'd2818b21-daca-4ebc-a624-2dbe1fc325dd' date '25 January 2011' time '1:49:18 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.65' message 'added ZnUserAgent & ZnHttpClient #testRelativeRedirect tests' id '137f30b0-2c23-4613-ac81-07be5650356c' date '14 January 2011' time '10:04:09 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.64' message 'tracking API changes; added ZnMultiValueDictionaryTests' id '822ad9e0-fdca-4c5c-8508-336ce44da1ea' date '12 January 2011' time '2:04:23 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.63' message 'split of ZnNetworkingUtils from ZnUtils to separate related functionality (Thx S.Ducasses)' id '64f22bc9-32f7-4cb4-8e38-ba7ff4013c12' date '7 January 2011' time '7:53:10 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.62' message 'introduced #asZnMimeType on ZnMimeType, MIMEType & String to replace ZnUtils class>>#asMimeType: which was removed' id '1ef05e59-9f86-41b2-ab10-9a8787168d3b' date '4 January 2011' time '8:04:59 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.61' message 'massive migration from builtin Url to ZnUrl; added asZnUrl to String and Url ' id 'c469756f-c232-4f60-8720-75ec3ea4db3f' date '4 January 2011' time '3:34:33 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.60' message 'first version of ZnUrlTests class' id 'f8383a39-97fb-4d91-ab22-7c4294f177b4' date '4 January 2011' time '12:23:12 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.59' message 'switched to the idiom "self assert: server isRunning & server isListening" to test for a running / responsive server in unit tests' id '8f6cb988-82fb-40a6-8d25-48f1908eba95' date '15 December 2010' time '9:45:30 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.58' message 'fixed a bug in ZnStringEntity encoder initialization; removed Transcript printing from ZnCredentialTests and ZnUserAgentTests' id '236c9006-952a-48f9-b69a-f02512688d59' date '14 December 2010' time '12:24:17 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.57' message 'ZnDefaultServerDelegate now generates the Unicode test page so we can delete ZnUnicodeTestServerDelegate' id 'fd1141a1-2056-48e5-81a6-e84f2f254d4e' date '10 December 2010' time '3:55:15 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.56' message 'added experimental ZnBufferWriteStreamTests' id '42334358-1af8-4f29-a658-4afdc51f2b09' date '8 December 2010' time '10:22:11 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.55' message 'some more comment improvements' id 'be04ece0-6dfd-427a-bf2b-2af8b4424e43' date '7 December 2010' time '3:23:23 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.54' message 'renamed ZnMagicCookie[Jar] to ZnCookie[Jar]' id '4894f9a3-97fc-4860-8894-7c1d0cb5e2cc' date '7 December 2010' time '12:02:47 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.53' message 'renamed category of all tests from ''Zinc-Tests-New'' to ''Zinc-Tests''' id 'cb19cbc7-b0c1-464a-ae28-d18aa227edf6' date '6 December 2010' time '9:38:17 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.52' message 'removed all Zinc-Tests-Old categorized classes from the Zinc-Test package (these will be moved to a new MC package called ''Zinc-Old'')' id '4b6e5436-8c56-4a42-8601-357e7a6639d1' date '6 December 2010' time '5:28:09 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.51' message 'added ZnClientTests>>#testPostUnicodeUtf8' id '55aaa0b5-e2a5-43e1-bd5a-5d7aaa0d394f' date '6 December 2010' time '3:17:18 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.50' message 'renamed class ZnNewStringEntity to ZnStringEntity' id '08896c90-59c8-42e6-b5d4-56f1fd290b21' date '6 December 2010' time '1:50:16 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.49' message 'added ZnServerTests>>testGetUnicodeUtf8' id 'f1246875-dadc-4c73-af8a-1cd42e266504' date '6 December 2010' time '1:13:44 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.48' message 'large changeset: switch from ZnStringEntity to ZnNewStringEntity, now using binary socket streams on server, all with the goal of proper UTF-8 support; added various tests for binary reading/writing and for tracking protocol/api changes ' id '40094644-090b-4431-ac51-6deaca8fe30c' date '4 December 2010' time '2:17:39 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.47' message 'replace all direct references to ZnStringEntity and ZnByteArrayEntity with ZnEntity facade invocations ' id '58f7acc6-2ab5-40c7-b5fc-c09497f9434e' date '3 December 2010' time '2:08:40 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.46' message 'added some tests to ZnMimeTypeTests and ZnEntityTests for UTF-8 encoding' id '40b0fe72-bb8e-4346-ab92-c65c3dda2ca2' date '2 December 2010' time '1:51:41 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.45' message 'added ZnCharacterEncodingTests>>#testUTF8EncoderAuto' id 'b018cb8e-29f5-4aa0-8aec-17b26b968377' date '30 November 2010' time '1:50:29 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.44' message 'introduction of ZnCharacterEncoderTests' id 'bd6db570-c0cd-444a-8a51-9534201d3185' date '30 November 2010' time '12:28:31 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.43' message 'added ZnUnicodeTestServerDelegate (not yet in units tests)' id '8e9b6cef-d243-43c3-9ea5-517b54c1089a' date '20 October 2010' time '10:41:54 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-MattKennedy.42' message 'Added ZnHttpClientTests>>testGetMultParam for coverage of ZnHttpClient>>parameterAt:add:' id 'a4c74476-3361-422a-8425-37464bf5b8e5' date '5 October 2010' time '5:40:11 pm' author 'MattKennedy' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.41' message 'added elementary test for ZnMultiPartFormDataEntity and ZnMimePart' id 'c829d4b3-3ff7-46e0-9787-94460133ef95' date '5 October 2010' time '8:34:03 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-MattKennedy.40' message 'Added ZnHttpClientTests' id 'af1a7ffc-c4a7-4c84-979a-0563cc60833a' date '1 October 2010' time '10:32:21 pm' author 'MattKennedy' ancestors ((name 'Zinc-Tests-MattKennedy.39' message 'Modified ZnCredentialTests Digest authentication tests to answer clearly if MD5 support is absent. Squeak 4.1 default image is missing the methods HTTPSocket uses for MD5, so not sure if it''s there out of the box.' id '3ad9ef4f-3551-4fa8-adad-ee219534c69b' date '1 October 2010' time '5:47:36.817 pm' author 'MattKennedy' ancestors ((name 'Zinc-Tests-MattKennedy.38' message 'Added test cases for ZnCredentialTests for erroneous credentials. Test case in ZnUserAgent for error handler.' id '8285ba9e-2eaf-4eaa-85c5-f40376db3644' date '1 October 2010' time '2:45:51 pm' author 'MattKennedy' ancestors ((name 'Zinc-Tests-MattKennedy.37' message 'Added ZnCredentialTests>>testZnServerBasicAuthRealm to test custom realm names in server authenticator. Modified ZnCredentialTests>>testDigestAuthorization to use ZnServer now with ZnDigestAuthenticator.' id 'eeff8920-9775-47e2-95ac-fac88443cdd4' date '30 September 2010' time '5:38:01 pm' author 'MattKennedy' ancestors ((name 'Zinc-Tests-MattKennedy.36' message 'Removed stray inspect sender from ZnCredentialTests>>testDigestAuthorization' id '48fdd73c-85be-476d-a74d-4548ccd40890' date '30 September 2010' time '12:29:53 pm' author 'MattKennedy' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.35' message 'tracking API changes for basic authentication' id 'bcb08816-6c72-45b1-84f8-4c893556fdc5' date '30 September 2010' time '4:35:39 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-MattKennedy.34' message 'Added ZnCredentialTests>>testDigestAuthorization. Requires an external web server URL to call to in order to work at present.' id 'ea944c4a-b1b5-45a4-995f-04c70d58b5b8' date '29 September 2010' time '5:19:35 pm' author 'MattKennedy' ancestors ((name 'Zinc-Tests-MattKennedy.33' message 'Added ZnCredentialsTests.' id '929d376a-4fb4-4c24-88fa-bc6272eeb0bf' date '29 September 2010' time '12:57:38 am' author 'MattKennedy' ancestors ((name 'Zinc-Tests-MattKennedy.32' message 'Added ZnMagicCookieTests, ZnMagicCookieJarTests, ZnUserAgentSessionTests, and ZnUserAgentSettingsTest Added ZnUserAgentTests>>testCookieAt.' id '16f451aa-8b83-47d1-9db4-6887b5aa3aba' date '28 September 2010' time '4:40:15 pm' author 'MattKennedy' ancestors ((name 'Zinc-Tests-MattKennedy.31' message 'Added ZnUserAgentTests>>testFollowRedirect' id '561fdc97-0599-4a00-871d-46522f3e7253' date '28 September 2010' time '1:57:41 pm' author 'MattKennedy' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.30' message 'apparently Slashdot.org is not always chunked/gzip encoded, too bad' id 'dd8e5fe4-059a-4f8e-815b-1c3111c9215b' date '28 September 2010' time '4:01:02 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.29' message 'added a simple test for ZnFixedClient' id '371b1c05-bea0-40ec-bd07-c2e4da5100a8' date '28 September 2010' time '2:24:23 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.28' message 'Merging Matt Kenedy''s code: Added ZnUserAgentTests' id 'a50cc91b-c235-4762-b0bb-2560f604e36f' date '27 September 2010' time '11:37:18 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-MattKennedy.27' message 'Added ZnUserAgentTests' id '09d2df49-71c2-48e0-a56a-fa0e6f74bd4b' date '27 September 2010' time '3:11:11 pm' author 'MattKennedy' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.26' message 'added tests for ZnLimitedReadStream, ZnChunkedReadStream and ZnLineReader; added functional test ZnResponseTests>>#testSlashdotGzipChunked ' id '72a36bfb-859a-4b5d-b0fb-7728800f168e' date '27 September 2010' time '7:57:08 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.25' message 'added ZnEntityReader tests #testChunked and #testChunkedWithExtraHeaders' id '7250940a-d71a-4783-b55d-b4f2a57f11c5' date '26 September 2010' time '8:11:26 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.24' message 'introduction of ZnEntityReader helper object; added some more operations to ZnFixedClient; some API cleanup' id 'a6469ddc-386c-4e3b-9c18-fd55df11db9c' date '25 September 2010' time '11:15:49 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.23' message 'added some elementary ZnRequest reading tests' id 'd16e9c4f-5628-490a-b692-616f907d312f' date '25 September 2010' time '11:14:29 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.22' message 'added basic ZnClient PUT, POST & HEAD methods' id 'da53c39e-2566-4bd1-9f44-4e232d54b48e' date '21 September 2010' time '1:00:24 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.21' message 'Renamed category with old code to Zinc-Test-Old' id '7048013c-a76b-475b-ad43-349299dddb50' date '19 September 2010' time '6:45:29 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.20' message 'following some Lint advice' id '57d98003-f5c0-4a16-b385-2484086dbe67' date '17 September 2010' time '4:15:57 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.19' message 'improved test coverage: added tests to ZnUtilsTests, ZnResponseTests and ZnMimeTypeTests; renamed ZnHTTPMethodTests to ZnOldHTTPMethodTests ' id 'e2349506-4ce2-46fb-9969-9148325d6d65' date '17 September 2010' time '3:47:25 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.18' message 'fixing the test (thx http://hudson.lukas-renggli.ch/job/Zinc/ for catching this, it worked in my image)' id '65d1cb02-1463-4ed8-9f38-cfe92e124cef' date '16 September 2010' time '11:50:54 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.17' message 'added some asserts to ZnServerTests to catch the situation where the server port is not available.' id '29841272-e167-4858-973a-3d4bf4a3f266' date '16 September 2010' time '11:39:51 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.16' message 'ZnStatusLine and ZnRequestLine now handle their own crlf line ending (see #readFrom: and #writeTo:)' id '700d65a9-563e-43b2-b67b-dafc062ce473' date '15 September 2010' time '8:24:48 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.15' message 'fixed ZnMimeType parser dependency on Grease #trimBoth' id 'c6c44454-82e2-4e4a-92b2-af8a446611c4' date '15 September 2010' time '9:59:55 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.14' message 'fixing ZnHTTPSocketFacade>>#httpPut:to:user:passwd: semantics; added ZnMessage #head: #post and #put; added ZnHeaders>>#removeKey:[ifAbsent:] ; allowed for missing content-type when reading entities; enforcing content-length header to be string in #acceptEntityDescription: ' id 'b8cc69ee-4ee8-4669-b1c9-0ecc06974d8b' date '14 September 2010' time '3:12:30 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.13' message 'added ZnHTTPSocketFacade>>#testPut' id 'f60e0f04-bb28-4e28-9081-30d1488a510d' date '14 September 2010' time '3:08:25 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.12' message 'ZnHTTPSocketFacade: adjusting semantics ' id 'aad4ed72-9c44-4f33-b11f-85ab3c74fe74' date '14 September 2010' time '1:28:08 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.11' message 'first complete implementation of (new) ZnHTTPSocketFacade (incomplete tests)' id '0e442350-2cef-483d-93ed-77f7e3c85f53' date '13 September 2010' time '10:31:39 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.10' message 'added support for server side basic authentication' id '3483f716-801a-4c1d-acae-dd2a02bd2940' date '13 September 2010' time '1:55:03 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.9' message 'added support for client side basic authentication' id '0181a1a0-a07e-42dd-8d81-dbf6c5fc89e2' date '12 September 2010' time '8:35:10 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.8' message 'added some tests related to entities and query parsing' id '4b2806bd-c3cf-41a0-b14e-35acb7467533' date '12 September 2010' time '11:29:43 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.7' message 'added header name normalization; added optional multi-valued header values; added optional header value merging' id '753b4898-f9c4-4b17-928d-cd33702a92de' date '10 September 2010' time '9:06:43 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.6' message '1st primitive but working ZnServer' id 'b1a9a8ed-1955-4370-a88a-8e4eacaea787' date '8 September 2010' time '11:06:18 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.5' message 'ZnClient #get: and #getJpeg: now work for normal situations' id '6a7d2dc3-b759-4b91-8581-7d03a7d32012' date '7 September 2010' time '8:04:18 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.4' message 'Started the Zinc-Tests-New category; not much to see yet' id 'd51b0a36-ae16-4b95-bcf2-50dbc0855a01' date '6 September 2010' time '11:06:51 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.3' message 'removed old bogus test; added 1st functional test' id '52a21560-c504-4466-aa7d-0264cd8a4265' date '1 September 2010' time '7:52:23 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.2' message 'Renamed HC HTTP Client to Zinc HTTP Components; Renamed all classes to use Zn namespace prefix' id '83eb4cfc-4a78-4e11-b8d5-29bccf1dd8ba' date '1 September 2010' time '7:14:14 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.1' message 'Renamed HC HTTP Client to Zinc HTTP Components; Renamed all classes to use Zn namespace prefix' id 'da047f84-cace-4fa8-971b-366c26046539' date '1 September 2010' time '5:29:46 pm' author 'SvenVanCaekenberghe' 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 ())) 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 ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Zinc-Tests-SvenVanCaekenberghe.84' message 'added ZnUrlTests>>#testLocalHost' id '7cf44874-99c6-43b8-949e-74ae2d94d2b2' date '13 May 2011' time '2:14:24 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-NickAger.83' message 'tests updated to reflect cookie refactoring in Zinc-HTTP-NickAger.158' id '3e8391dd-bdbe-4fbe-8e08-98fe89387c59' date '10 May 2011' time '11:40:10 am' author 'NickAger' ancestors ((name 'Zinc-Tests-NickAger.82' message 'refactored ZnResponse tests to use new ZnStatusLine creation constants' id '164025a5-c6c8-4e89-be63-963fdc41b226' date '10 May 2011' time '9:14:28 am' author 'NickAger' ancestors ((name 'Zinc-Tests-NickAger.81' message 'added ZnResponseTests>>#testCookie' id 'a8baa8f0-6812-4091-a6d2-fc5e29e503a8' date '10 May 2011' time '8:38:35 am' author 'NickAger' ancestors ((name 'Zinc-Tests-NickAger.80' message 'added tests for: Request cookie accessor Response cookie setter' id 'ce58e3e6-2e8c-4864-a7bd-ad60199fb2ba' date '10 May 2011' time '2:53:56 am' author 'NickAger' ancestors ((name 'Zinc-Tests-NickAger.79' message 'renamed the test method in ZnDispatcherDelegateTest' id '64636642-57e3-4468-8f86-806f5fe5e9ea' date '9 May 2011' time '9:50:01 pm' author 'NickAger' ancestors ((name 'Zinc-Tests-NickAger.78' message 'added test for ZnDispatcherDelegate' id '7d72bd6f-a8fe-47a2-b5c2-784f196a6806' date '9 May 2011' time '9:46:13 pm' author 'NickAger' ancestors ((id '367e5a56-7e1a-4387-a3af-298cd651e876')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Zinc-Tests-SvenVanCaekenberghe.87' message 'added ZnClientTests>>#testTimeout to test the correct working of ZnConnectionTimeout' id 'd1f2d440-8420-4b11-84ec-d79bdc48e16b' date '14 July 2011' time '9:55:47 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.86' message 'improved some test code' id '29572b64-6b2e-4dbc-b62f-a1f77f2a8748' date '28 June 2011' time '11:23:39 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.85' message 'added ZnFixedClientTests>>#testIfModifiedSinceNotModified' id '07998dae-f824-4bd3-a9a6-06f0dcf5a305' date '28 June 2011' time '11:05:52 am' author 'SvenVanCaekenberghe' ancestors ((id '7cf44874-99c6-43b8-949e-74ae2d94d2b2')) 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 ())(name 'Zinc-Tests-SvenVanCaekenberghe.115' message 'added ZnClientTests>>#testRedirectDontFollow to test the new #followsRedirects boolean option to ZnClient, including under the case of #enforceHttpSuccess: true' id 'eb8c67e4-bdf2-4741-b149-78bdaf5d4970' date '23 November 2011' time '5:31:22 pm' author 'SvenVanCaekenberghe' ancestors ((id '709cd18e-4550-4b4f-ac0f-755c9d923271')) stepChildren ())) stepChildren ())(name 'Zinc-Tests-SvenVanCaekenberghe.118' message 'added ZnMimeTypeTests>>testCopying to test whether the ''constants'' returned by the class side convenience methods of ZnMimeType can be freely modified; modified ZnMimeType>>#testDefault and #testIdentity to not longer assume the ''constants'' returned by the class side convenience methods of ZnMimeType are #==' id 'ce3f20f9-22d1-4b52-afe0-9c3a04813224' date '6 December 2011' time '8:58:47 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-NorbertHartl.117' message 'second commit. Last time I added the test to an old version. Redid for newest version: added two tests to check encoding handling of ZnApplicationFormUrlEncodedEntity when writing representation' id '4971e3f3-ba21-46ab-8674-560d00dfe751' date '6 December 2011' time '6:35:28 pm' author 'NorbertHartl' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.116' message 'added tests for ZnChunkedReadStream>>#next: and the new ZnChunkedReadStream>>#next:into: ' id '53fe3bee-246a-4668-b88d-7ad66a840d80' date '3 December 2011' time '5:52:55 pm' author 'SvenVanCaekenberghe' ancestors ((id 'eb8c67e4-bdf2-4741-b149-78bdaf5d4970')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Zinc-Tests-SvenVanCaekenberghe.120' message 'added ZnClientTests>>#testProgressNoIfFail' id 'b438f907-dd03-4735-b093-620cfb10f738' date '20 December 2011' time '2:27:32 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.119' message 'added some ZnUrl tests' id 'a3dd71d9-325a-4470-a454-31db977215e9' date '13 December 2011' time '2:20:21 pm' author 'SvenVanCaekenberghe' ancestors ((id 'ce3f20f9-22d1-4b52-afe0-9c3a04813224')) stepChildren ())) stepChildren ())) stepChildren ())(name 'Zinc-Tests-SvenVanCaekenberghe.121' message 'added ZnServerTests>>#testDefault to test the new semantics of ZnServer class>>#startDefaultOn:' id 'c1396284-0787-4c42-bedd-fb6ae918c68d' date '22 December 2011' time '12:56:23 pm' author 'SvenVanCaekenberghe' ancestors ((id 'b438f907-dd03-4735-b093-620cfb10f738')) stepChildren ())) stepChildren ())(name 'Zinc-Tests-SvenVanCaekenberghe.122' message 'added ZnLineReaderTests>>#testLineTooLongDefault and ZnMultiValueDictionary>>#testTooManyEntries' id '41edccdf-4322-41c3-b06c-2b8dca3d9ce3' date '3 January 2012' time '3:44:21 pm' author 'SvenVanCaekenberghe' ancestors ((id 'c1396284-0787-4c42-bedd-fb6ae918c68d')) stepChildren ())) stepChildren ())(name 'Zinc-Tests-SvenVanCaekenberghe.125' message 'fixed the implementation of ZnLimitedReadStream to honor EOF on the underlying stream' id 'd40a9a35-5bd7-446d-b3e5-f707426a281b' date '31 January 2012' time '8:58 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.124' message 'introduction of a resource limit to the size of entities read from a stream; added ZnConstants class>>#maximumEntitySize[:] added ZnEntityTooLarge resumable exception ' id '2277a62b-e817-4f08-822d-f1e6846921a7' date '31 January 2012' time '2:04:24 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.123' message 'added ZnUrl>>#retrieveContents convenience method tests' id 'd6917a3f-397c-4c35-8f24-52222a7a047d' date '24 January 2012' time '12:01:54 pm' author 'SvenVanCaekenberghe' ancestors ((id '41edccdf-4322-41c3-b06c-2b8dca3d9ce3')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'Zinc-Tests-SvenVanCaekenberghe.152' message 'fixed an offset bug in ZnUtils>>#streamFrom:to: (thx again, Chris Bailey) added ZnUtilsTests>>#testStreaming[Non]BinaryWithoutSize' id 'cadd39cb-ff17-4405-a56e-718a6d5e7c24' date '3 August 2012' time '10:51:05.644 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.151' message 'added new ZnChunkedReadStreamTests>>#testReadingBuffered to validate various fixes to ZnChunkedReadStream>>#readInto:startingAt:count: (thx Chris Bailey for reporting the problem)' id '3da15e83-c0ca-4066-a496-71d91393db01' date '2 August 2012' time '11:27:58.739 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.150' message 'Changed ZnStreamingEntity>>#readFrom: to no longer switch to non-binary - this was wrong anyway since no encoding was used' id 'f2e201da-d33e-4f34-b000-ebc8a5f705b0' date '13 July 2012' time '8:31:14.501 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.149' message 'added tests for convenience protocol to ZnUrl: - #withPathSegment[s]: #/ - #withQuery: #? #&' id '073d89ad-3cc3-40b1-92a3-fbb045bba864' date '9 July 2012' time '4:39:38.336 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-MarcusDenker.148' message 'Issue 6269: Zinc Kill last usages of mac.com domain http://code.google.com/p/pharo/issues/detail?id=6269 Issue 6267: Spec-Widget new version http://code.google.com/p/pharo/issues/detail?id=6267 Issue 6266: Adding a missing method on TextInputField http://code.google.com/p/pharo/issues/detail?id=6266 Issue 6263: Spec-Layout new version http://code.google.com/p/pharo/issues/detail?id=6263 Issue 6273: Fixing monticello mocks http://code.google.com/p/pharo/issues/detail?id=6273' id 'e5d9431a-de69-46da-92b7-0507bcaae82d' date '4 July 2012' time '11:01:31.049 pm' author 'MarcusDenker' ancestors ((name 'Zinc-Tests-MarcusDenker.147' message 'Issue 6259: DataStream is still there http://code.google.com/p/pharo/issues/detail?id=6259 Issue 6255: Zinc Pharo Conference update with FileSystem support http://code.google.com/p/pharo/issues/detail?id=6255 Issue 6223: FileLocator and FileRerernce have extension from File Package http://code.google.com/p/pharo/issues/detail?id=6223' id 'e8f91da3-98a4-4e7e-8468-b9e1ab8349d1' date '4 July 2012' time '4:16:31.525 pm' author 'MarcusDenker' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.146' message 'introduction of the Zinc-FileSystem-Legacy package (including the new ZnFileSystemUtils class) to deal with pre/post FIleSystem introduction in Pharo 2.0 - this is the old code' id '2c2b99bc-5d6d-4aea-a49a-8c797685a71f' date '3 July 2012' time '1:49:22.963 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.145' message 'Replace now defunct references to http://homepage.mac.com/svc/Zinc-HTTP-Components/small.html with http://zn.stfx.eu/zn/small.html' id '6d633387-5bcc-422d-980c-b2e92f6bc08a' date '2 July 2012' time '3:33:36.489 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.144' message 'added tests for multiline/continuation header line parsing to ZnHeadersTests; added some ZnDigestAuthenticatorTests' id '5fd44833-78c7-4a88-9c52-d0f4b0737f76' date '22 May 2012' time '10:50:47 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.143' message 'replaced direct usage of ZnValueDelegate with indirect usage through the #onRequestRespond: method' id '9972b054-538c-4edc-9203-b0c82d0ef62b' date '14 May 2012' time '5:21:23 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.142' message 'added ZnStaticFileServerDelegateTests for - expiration - cache-control - if-modified-since, not-modified' id '9f8498a3-c576-4844-a0f5-bafc5c5cbeca' date '14 May 2012' time '11:11:41 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.141' message 'merged ZnUtils class>>#parseHttpDate: improvements by Sean DeNigris' id '13c0a808-d2be-4e91-a5ed-b7aea00412c1' date '10 May 2012' time '8:31:37 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SeanDeNigris.140' message 'Fix the HTTP date parsing to comply with the HTTP/1.1 standard. See discussion at http://forum.world.st/Parsing-HTTP-dates-td4623688.html' id 'ea4710db-8f89-4b77-bc48-c268f42d6961' date '10 May 2012' time '12:22:56.663 pm' author 'SeanDeNigris' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.139' message 'added ZnClientTests>>#testUploadSmallDocument' id 'f3dd9dc9-b488-4211-8b1d-c61620c1cfb0' date '9 May 2012' time '9:58:54 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.138' message 'added ZnCharacterStreamTests' id '08fa8343-de91-467d-8fab-35b090b4443d' date '3 May 2012' time '10:16:27 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.137' message 'added #match: and #contents to ZnChunkedReadStream and ZnLimitedReadStream; added some convenience methods to ZnCharacterEncoder: #encodeString: #decodeBytes: and #encodedByteCountForString:' id '61f9a691-603d-4aee-892c-4fe74f0a7ee2' date '2 May 2012' time '4:44:58 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.136' message 'ZnClientTests>>#testDownloadSmallHTML follow switch from ZnClient>>#downloadToFileNamed: to ZnClient>>#downloadTo:' id 'b1c212b4-6b1c-45b1-88d1-5410f135de5e' date '26 April 2012' time '4:49:07 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.135' message 'added test for ZnClient>>#downloadToFileNamed: ' id '364763a4-b7d7-4d0e-b66b-7e117e9194f3' date '25 April 2012' time '9:21:15 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.134' message 'timezone offsets should be Durations' id '26cfd348-8c5f-49ef-879b-45eeb8b41a23' date '23 April 2012' time '3:42:50 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-PaulDeBruicker.133' message 'Added tests for the ZnResponse>>#isError method I added to Zn' id '237a106b-ccbd-4183-8aaf-27439ebd5c98' date '19 April 2012' time '5:03:29.72 pm' author 'PaulDeBruicker' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.132' message 'renamed ZnServer>>#interface[:] to ZnServer>>#bindingAddress[:] following a suggestion by Norbert Hartl, Thx!' id 'a8ccf290-5116-475d-88c7-eb635daf6fe4' date '13 April 2012' time '1:21 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.131' message 'added technology to allow entities to be read binary even when they are textual, thus disabling Zn''s normal decoding behavior; this is what Seaside expects (as Seaside does its own conversions); added ZnEntityReader>>#[is]Binary; added ZnMessage[class]>>#readBinaryFrom: added ZnEntity class>>#readBinaryFrom:usingType:andLength: added ZnSingleThreadedServer>>#reader[:] to allow customizing entity reading' id '80c5b50f-d5d8-455e-9b21-c581f6ca84b7' date '7 April 2012' time '6:30:35 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.130' message 'rewrote all tests that use ZnServer to use #withServerDo: and/or a randomized port (between 1701 and 1710) to mitigate problems when running 2 Zn test suits concurrently on the same machine' id '7ba47490-c194-44a8-9252-f5a99246cd54' date '12 March 2012' time '10:26:51 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.129' message 'added the option to restrict ZnServers to only listen on a specific interface; added Zn[SingleThreaded]Server>>interface[:]; added ZnNetworkingUtils [class]>>#serverSocketOn:interface added ZnServerTests>>#testEchoLocalInterface' id '7d187299-518a-4f64-b855-d602b48fcc02' date '12 March 2012' time '7:52:33 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.128' message 'added some extra API to ZnMimeType to manipulate parameters and charSets' id '89affdf2-4eb5-4f15-8ff3-7b994c4e91b9' date '6 March 2012' time '11:11:39 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.127' message 'added 2 cookie related tests' id '3fdb3447-f066-4fa1-b5bd-58abcff73cfa' date '4 March 2012' time '11:21:57 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-MarcusDenker.126' message 'Issue 5299: Yet another Zn update http://code.google.com/p/pharo/issues/detail?id=5299' id '1f3a4aa8-996f-4162-b79a-0ff3fab1918f' date '17 February 2012' time '3:13:18 pm' author 'MarcusDenker' ancestors ((name 'Zinc-Tests-StephaneDucasse.123' message '- Issue 5157: Finder > Class > right-click > Hierarchy opens not on Class but on FinderClassNode. Tx Benjamin van Ryseghem. http://code.google.com/p/pharo/issues/detail?id=5157 - Issue 5151: Recategorization of PanelMorph. Thanks Benjamin van Ryseghem. There is no useless cleans. Even small steps are cool and important. http://code.google.com/p/pharo/issues/detail?id=5151 - Issue 5154: It would be great to have a setting to allow the Debugger to open centered and be 3/4 of screen. Thanks Alain Plantec. http://code.google.com/p/pharo/issues/detail?id=5154 - Issue 5148: LimitNumberOfEntriesInZnMultiValueDictionary. Thanks Sven van Caekenberghe. http://code.google.com/p/pharo/issues/detail?id=5148 ' id 'a7f69ceb-4c9b-40c3-abe1-5cc680f4886b' date '7 January 2012' time '7:13:43 pm' author 'StephaneDucasse' ancestors ((name 'Zinc-Tests-ZincUpdate.122' message '- Issue 5127: Zinc update http://code.google.com/p/pharo/issues/detail?id=5127 - last bit of Issue 4688: progress bar disappears on image save http://code.google.com/p/pharo/issues/detail?id=4688' id '54546963-f9f6-42ab-a1d8-3d4fb9f878d9' date '25 December 2011' time '11:02:04 pm' author 'ZincUpdate' ancestors ((name 'Zinc-Tests-StephaneDucasse.121' message '- Issue 5117: MNU: Transcripter class>>open. Thanks vpnbecmann. http://code.google.com/p/pharo/issues/detail?id=5117 - Issue 5122: ZnUpdate-Dec-20. Thanks sven van caekenberghe. http://code.google.com/p/pharo/issues/detail?id=5120' id '3cf2343f-1556-4ae0-ae03-26f2afc23899' date '25 December 2011' time '11:47:57 am' author 'StephaneDucasse' ancestors ((name 'Zinc-Tests-MarcusDenker.119' message 'Issue 5063: Zinc uses default encoding of utf-8 when encoding url safe encoded strings http://code.google.com/p/pharo/issues/detail?id=5063' id '7827ec5e-187b-4488-8d60-dba014f52080' date '9 December 2011' time '1:18:03 pm' author 'MarcusDenker' ancestors ((name 'Zinc-Tests-MarcusDenker.116' message 'Issue 4998: ContextPart>>#runUntilErrorOrReturnFrom: (for testing) http://code.google.com/p/pharo/issues/detail?id=4998 Issue 4994: Two failing test in ProcessTest http://code.google.com/p/pharo/issues/detail?id=4994 Issue 5014: zn updates http://code.google.com/p/pharo/issues/detail?id=5014' id '20189c38-b14d-4878-a8a3-3c104ad67b78' date '25 November 2011' time '4:03:30 pm' author 'MarcusDenker' ancestors ((name 'Zinc-Tests-StephaneDucasse.115' message 'ZnTests now :)' id '71d09a5d-c10e-412e-b9e2-2db68cbc2ac5' date '19 November 2011' time '10:18:54 am' author 'StephaneDucasse' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.114' message 'renamed ZnNeoClientTests -> ZnClientTests' id '709cd18e-4550-4b4f-ac0f-755c9d923271' date '8 November 2011' time '10:34:14 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.113' message 'renamed ZnClientTests -> ZnClientOldTests' id '61688dd0-20a0-4ac5-9ea9-27262f3ea53d' date '8 November 2011' time '10:15:11 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.112' message 'added ZnNeoClientTests>>#testGetSmallHTMLStreaming' id 'a097c21c-05df-480d-8afe-e8f5fee222a2' date '8 November 2011' time '9:07:05 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.109' message 'Following deprecation of instance creation (#new) of ZnFixedClient (and ZnExtendedFixedClient) and ZnUserAgent (and ZnHttpClient): kept all tests in ZnFixedClientTests, ZnUserAgentTests, ZnHttpClientTests and ZnCredentialsTests, but running under #ignoringDeprecation: ZnDispatcherTests now using ZnNeoClient directly' id '1da42667-075d-41cb-bbb0-94acd4038cb2' date '4 October 2011' time '2:25:57 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.108' message 'added basic ZnNeoClient>>#signalProgress support' id '37f5e20a-957a-40db-892a-722cd21ee1a5' date '4 October 2011' time '1:48:29 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.107' message 'made ZnClient deprecations proceedable and added a test for this behavior' id '016ea4f4-0161-4086-9422-8619a4ef0750' date '3 October 2011' time '2:44:51 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.106' message 'added ZnNeoClientTests>>#testGetAfterPost to test ZnNeoClient>>#resetRequestIfNeeded logic' id 'e7748414-dfa0-4ab8-8291-13e347971e78' date '23 September 2011' time '2:59:26 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.105' message 'extended ZnNeoClientTests>>#testRedirect with a resume of ZnTooManyRedirects' id 'f62dea54-3bc1-4b52-b1a2-3cbf8764afa3' date '19 September 2011' time '1:31:17 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.104' message 'added ZnNeoClient redirect tests' id 'c324d699-9454-4c3a-acd9-4d851de45ea9' date '19 September 2011' time '11:10:41 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.103' message 'added ZnNeoClient>>#setIfModifiedSince: and test' id '9d840776-d54a-46cb-9d7a-2223c92b5559' date '17 September 2011' time '8:43:05 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.102' message 'introducing ZnEasy to take over the class side functionality of ZnClient; ZnClient class side protocol being deprecated; renamed ZnClientTests to ZnEasyTests' id '65352f99-bcf8-45de-942b-d39f82882e34' date '15 September 2011' time '8:44:02 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.101' message 'patch the crippled ZnResponseTests>>#testSlashdotGzipChunked test even further; note: this really has to be rewritten altogether' id 'd7fedf37-3513-4106-b9d3-23e4c9e8e3bf' date '13 September 2011' time '10:20:10 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.100' message 'added tests for ZnUtils class>>#parseHttpDate: ' id '27156429-e7ca-4b20-b91d-479133d69751' date '13 September 2011' time '11:51:53 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.99' message 'added ZnNeoClientTests>>#testQueryGoogle' id '151e6ec9-94ac-45a8-b244-f4fc2731abc2' date '4 September 2011' time '7:59:50 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.98' message 'improved ZnNeoClientTests code a bit' id 'eaa2045b-0c32-4b32-882e-ab9051c0243b' date '31 August 2011' time '10:07:03 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.97' message 'added ZnNeoClientTests>>#testCookies; follow API changes related to cookies' id '946371f2-1bc4-40fa-b484-545baf59bcd6' date '30 August 2011' time '10:54:45 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.96' message 'now using the #contentReader option in ZnNeoClient>>#testGetGeoIP' id '6ead5c52-6b4d-4e30-9cc0-dddbc313a396' date '19 August 2011' time '5:29:21 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.95' message 'implemented ZnNeoClient>>#head ' id 'b3e73bcf-0d37-4e73-81d3-5c96251a8b63' date '18 August 2011' time '1:57:45 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.94' message 'extended ZnNeoClient with #ifFail:, #enforceHttpSuccess, #enforceAcceptContentType and retry behavior' id '9620aef4-bb7b-4f62-9e83-36c0fab74756' date '17 August 2011' time '9:43:26 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.93' message 'added ZnMimePart class>>#fieldName:entity: and #fieldName:fileNamed: added ZnNeoClient timeout option, more url building api, support for applicationFormUrlEncoded and multiPartFormData encoded entities for post/put' id 'ad46ba6d-e503-4ca7-a440-5328e3cc1bc3' date '17 August 2011' time '2:25:20 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.92' message 'added ZnNeoClient>>#testGetGeoIP' id '9d9c4ca4-4520-42d2-891f-bbd5ecbfc0a8' date '12 August 2011' time '2:10:32 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.91' message 'added ZnNeoClientTests' id 'ae555b6a-c685-4316-adb5-a74bf82d1428' date '12 August 2011' time '1:52:32 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.90' message 'added various tests to ZnUrlTests related to default scheme/port issues' id '21395d2e-5782-496e-a4e9-8296befc55c5' date '11 August 2011' time '3:30:38 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-DamienPollet.89' message 'Fix typo in exception names.' id 'bb1698f3-5db3-4191-b078-50d52d3ab887' date '4 August 2011' time '2:22:33 pm' author 'DamienPollet' ancestors ((name 'Zinc-Tests-StephaneDucasse.88' message '- Issue 4520: Zinc update http://code.google.com/p/pharo/issues/detail?id=4520 ZnDefaultServerDelegate>>#echoRequest: added option to delay the response to /echo with a specified number of seconds, as in echo?delay=60 added ZnSingleThreadedServer>>#onRequestRespond: convenience method implemented client side support for If-Modified-Since and Not Modified: - added ZnRequest>>#setIfModifiedSince: - refactored ZnMessage>>#readFrom to call #readEntityFrom: - overwritten ZnResponse>>#readEntityFrom: to take special no content response into account - extended ZnUtils class>>#httpDate: to accept any argument that understands #asTimeStamp ' id 'bb7a5fd9-7179-4fd1-b667-bcca7461b347' date '14 July 2011' time '12:20:38 pm' author 'StephaneDucasse' ancestors ((name 'Zinc-Tests-StephaneDucasse.85' message '- Update Zinc fixing support for HTTP proxies (thanks Alexandre Bergel for reporting this) requests to localhost are excluding from being proxied - ZnRequestLine>>#writeOn: now outputs absolute URLs when proxying - added ZnNetWorkingUtils class #isProxySet #shouldProxyUrl: and #httpProxy - added ZnUrl>>#isLocalHost - changed ZnUrl>>#host: to lowerCase its argument. - Fix methodClass - Issue 4237: Few fix for Settings. Thanks Benjamin van Ryseghem. - Issue 4235: Selection update. Thanks Benjamin van Ryseghem.' id '84becf3d-e476-48be-902e-90e2c51805b4' date '16 May 2011' time '7:05:29 pm' author 'StephaneDucasse' ancestors ((name 'Zinc-Tests-StephaneDucasse.78' message '- Issue 4130: Zinc should be added to core. Thanks sven van caekenberghe.' id '230e4d43-b504-43f5-a2d3-461e6c28ac02' date '12 May 2011' time '6:52 pm' author 'StephaneDucasse' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.77' message 'rewrote ZnHTTPSocketFacade class>>#entendURL:withArguments: to be compatible with HTTPSocket class>>#argString: (Thanks Esteban Lorenzano); added ZnSocketFacadeTests>>#testExtendUrlWithArgs' id '367e5a56-7e1a-4387-a3af-298cd651e876' date '30 April 2011' time '8:56:05 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.76' message 'small fix to ZnUrl>>#printPathOn: to deal with cases where forward slashes are encoded in URLs (Thanks, Jan van de Sandt for pointing this out); added ZnUrlTests>>#testEncodedSlash to cover these cases' id '0013f47d-6076-4d1d-a64e-0f29049dd527' date '17 April 2011' time '10:33:49 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.75' message 'attempt to make ZnLogSupportTests>>#testLogEvent a bit less silly (take higher resolution clocks into account)' id '54c6a29b-3155-46f9-a6ac-495af44a98f8' date '13 April 2011' time '12:24:50 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-PaulDeBruicker.74' message 'For portability to Gemstone I changed the declaration of ByteArrays from x:=#[98 99]. to x:=#(98 99) asByteArray and Unicode characters from x:=Unicode value: 16r00A2. to x:= 16r00A2 asCharacter. Now the same set of tests load and run safely in Gemstone and Pharo' id '2fc28b34-8196-4cdb-8aac-7029109b4e6f' date '10 April 2011' time '11:15:09 am' author 'PaulDeBruicker' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.73' message 'added ZnLogSupportTests for minimal testing of the new logging framework' id 'a2b7de93-f7ac-437e-bd43-ea9b32528adb' date '29 March 2011' time '4:50:53 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.72' message 'bugfix: it turns out that String>>#base64Encoded introduces newlines which we definitively do not want when doing Basic HTTP Encoding for example; introduced ZnUtils class>>#encodeBase64: to do the right thing and invoke Base64MimeConvertor with the #mimeEncode: multiLine: false; replaced all usages (added a #decodeBase64: for orthogonality); added a unit test to catch this ' id 'd922fbf4-127c-44c5-ac37-64e0e6397487' date '21 March 2011' time '8:50:58 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.71' message 'introduced ZnUnknownScheme exception' id '466c6bd3-e4b7-4cac-acc3-873cd1abd256' date '18 March 2011' time '1:32:01 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.70' message 'added multiple tests for ZnParseError hiearchy ' id 'd27b7580-5689-4262-9992-415b57e4e3c6' date '28 February 2011' time '4:00:39 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.69' message 'added to ZnLimitedReadStreamTests and ZnEntityReaderTests so that implemented ZnLimitedReadStream>>#next:into: has coverage' id '7d38a658-e074-43a9-9041-16050de2decc' date '21 February 2011' time '11:33:19 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.68' message 'changed the Pharo URL to http://www.pharo-project.org' id '66a414d0-c398-489f-b43a-0e8a4cc7374c' date '31 January 2011' time '1:59:26 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.67' message 'modified ZnEntityTests>>#testMultiPartFormDataWriteRead to test for proper content length behavior' id '18c512c0-687e-419f-9d59-7f08b9c22031' date '27 January 2011' time '5:18:41 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.66' message 'added ZnCharacterEncoderTests>>#testLatin2Encoder' id 'd2818b21-daca-4ebc-a624-2dbe1fc325dd' date '25 January 2011' time '1:49:18 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.65' message 'added ZnUserAgent & ZnHttpClient #testRelativeRedirect tests' id '137f30b0-2c23-4613-ac81-07be5650356c' date '14 January 2011' time '10:04:09 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.64' message 'tracking API changes; added ZnMultiValueDictionaryTests' id '822ad9e0-fdca-4c5c-8508-336ce44da1ea' date '12 January 2011' time '2:04:23 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.63' message 'split of ZnNetworkingUtils from ZnUtils to separate related functionality (Thx S.Ducasses)' id '64f22bc9-32f7-4cb4-8e38-ba7ff4013c12' date '7 January 2011' time '7:53:10 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.62' message 'introduced #asZnMimeType on ZnMimeType, MIMEType & String to replace ZnUtils class>>#asMimeType: which was removed' id '1ef05e59-9f86-41b2-ab10-9a8787168d3b' date '4 January 2011' time '8:04:59 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.61' message 'massive migration from builtin Url to ZnUrl; added asZnUrl to String and Url ' id 'c469756f-c232-4f60-8720-75ec3ea4db3f' date '4 January 2011' time '3:34:33 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.60' message 'first version of ZnUrlTests class' id 'f8383a39-97fb-4d91-ab22-7c4294f177b4' date '4 January 2011' time '12:23:12 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.59' message 'switched to the idiom "self assert: server isRunning & server isListening" to test for a running / responsive server in unit tests' id '8f6cb988-82fb-40a6-8d25-48f1908eba95' date '15 December 2010' time '9:45:30 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.58' message 'fixed a bug in ZnStringEntity encoder initialization; removed Transcript printing from ZnCredentialTests and ZnUserAgentTests' id '236c9006-952a-48f9-b69a-f02512688d59' date '14 December 2010' time '12:24:17 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.57' message 'ZnDefaultServerDelegate now generates the Unicode test page so we can delete ZnUnicodeTestServerDelegate' id 'fd1141a1-2056-48e5-81a6-e84f2f254d4e' date '10 December 2010' time '3:55:15 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.56' message 'added experimental ZnBufferWriteStreamTests' id '42334358-1af8-4f29-a658-4afdc51f2b09' date '8 December 2010' time '10:22:11 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.55' message 'some more comment improvements' id 'be04ece0-6dfd-427a-bf2b-2af8b4424e43' date '7 December 2010' time '3:23:23 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.54' message 'renamed ZnMagicCookie[Jar] to ZnCookie[Jar]' id '4894f9a3-97fc-4860-8894-7c1d0cb5e2cc' date '7 December 2010' time '12:02:47 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.53' message 'renamed category of all tests from ''Zinc-Tests-New'' to ''Zinc-Tests''' id 'cb19cbc7-b0c1-464a-ae28-d18aa227edf6' date '6 December 2010' time '9:38:17 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.52' message 'removed all Zinc-Tests-Old categorized classes from the Zinc-Test package (these will be moved to a new MC package called ''Zinc-Old'')' id '4b6e5436-8c56-4a42-8601-357e7a6639d1' date '6 December 2010' time '5:28:09 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.51' message 'added ZnClientTests>>#testPostUnicodeUtf8' id '55aaa0b5-e2a5-43e1-bd5a-5d7aaa0d394f' date '6 December 2010' time '3:17:18 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.50' message 'renamed class ZnNewStringEntity to ZnStringEntity' id '08896c90-59c8-42e6-b5d4-56f1fd290b21' date '6 December 2010' time '1:50:16 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.49' message 'added ZnServerTests>>testGetUnicodeUtf8' id 'f1246875-dadc-4c73-af8a-1cd42e266504' date '6 December 2010' time '1:13:44 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.48' message 'large changeset: switch from ZnStringEntity to ZnNewStringEntity, now using binary socket streams on server, all with the goal of proper UTF-8 support; added various tests for binary reading/writing and for tracking protocol/api changes ' id '40094644-090b-4431-ac51-6deaca8fe30c' date '4 December 2010' time '2:17:39 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.47' message 'replace all direct references to ZnStringEntity and ZnByteArrayEntity with ZnEntity facade invocations ' id '58f7acc6-2ab5-40c7-b5fc-c09497f9434e' date '3 December 2010' time '2:08:40 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.46' message 'added some tests to ZnMimeTypeTests and ZnEntityTests for UTF-8 encoding' id '40b0fe72-bb8e-4346-ab92-c65c3dda2ca2' date '2 December 2010' time '1:51:41 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.45' message 'added ZnCharacterEncodingTests>>#testUTF8EncoderAuto' id 'b018cb8e-29f5-4aa0-8aec-17b26b968377' date '30 November 2010' time '1:50:29 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.44' message 'introduction of ZnCharacterEncoderTests' id 'bd6db570-c0cd-444a-8a51-9534201d3185' date '30 November 2010' time '12:28:31 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.43' message 'added ZnUnicodeTestServerDelegate (not yet in units tests)' id '8e9b6cef-d243-43c3-9ea5-517b54c1089a' date '20 October 2010' time '10:41:54 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-MattKennedy.42' message 'Added ZnHttpClientTests>>testGetMultParam for coverage of ZnHttpClient>>parameterAt:add:' id 'a4c74476-3361-422a-8425-37464bf5b8e5' date '5 October 2010' time '5:40:11 pm' author 'MattKennedy' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.41' message 'added elementary test for ZnMultiPartFormDataEntity and ZnMimePart' id 'c829d4b3-3ff7-46e0-9787-94460133ef95' date '5 October 2010' time '8:34:03 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-MattKennedy.40' message 'Added ZnHttpClientTests' id 'af1a7ffc-c4a7-4c84-979a-0563cc60833a' date '1 October 2010' time '10:32:21 pm' author 'MattKennedy' ancestors ((name 'Zinc-Tests-MattKennedy.39' message 'Modified ZnCredentialTests Digest authentication tests to answer clearly if MD5 support is absent. Squeak 4.1 default image is missing the methods HTTPSocket uses for MD5, so not sure if it''s there out of the box.' id '3ad9ef4f-3551-4fa8-adad-ee219534c69b' date '1 October 2010' time '5:47:36.817 pm' author 'MattKennedy' ancestors ((name 'Zinc-Tests-MattKennedy.38' message 'Added test cases for ZnCredentialTests for erroneous credentials. Test case in ZnUserAgent for error handler.' id '8285ba9e-2eaf-4eaa-85c5-f40376db3644' date '1 October 2010' time '2:45:51 pm' author 'MattKennedy' ancestors ((name 'Zinc-Tests-MattKennedy.37' message 'Added ZnCredentialTests>>testZnServerBasicAuthRealm to test custom realm names in server authenticator. Modified ZnCredentialTests>>testDigestAuthorization to use ZnServer now with ZnDigestAuthenticator.' id 'eeff8920-9775-47e2-95ac-fac88443cdd4' date '30 September 2010' time '5:38:01 pm' author 'MattKennedy' ancestors ((name 'Zinc-Tests-MattKennedy.36' message 'Removed stray inspect sender from ZnCredentialTests>>testDigestAuthorization' id '48fdd73c-85be-476d-a74d-4548ccd40890' date '30 September 2010' time '12:29:53 pm' author 'MattKennedy' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.35' message 'tracking API changes for basic authentication' id 'bcb08816-6c72-45b1-84f8-4c893556fdc5' date '30 September 2010' time '4:35:39 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-MattKennedy.34' message 'Added ZnCredentialTests>>testDigestAuthorization. Requires an external web server URL to call to in order to work at present.' id 'ea944c4a-b1b5-45a4-995f-04c70d58b5b8' date '29 September 2010' time '5:19:35 pm' author 'MattKennedy' ancestors ((name 'Zinc-Tests-MattKennedy.33' message 'Added ZnCredentialsTests.' id '929d376a-4fb4-4c24-88fa-bc6272eeb0bf' date '29 September 2010' time '12:57:38 am' author 'MattKennedy' ancestors ((name 'Zinc-Tests-MattKennedy.32' message 'Added ZnMagicCookieTests, ZnMagicCookieJarTests, ZnUserAgentSessionTests, and ZnUserAgentSettingsTest Added ZnUserAgentTests>>testCookieAt.' id '16f451aa-8b83-47d1-9db4-6887b5aa3aba' date '28 September 2010' time '4:40:15 pm' author 'MattKennedy' ancestors ((name 'Zinc-Tests-MattKennedy.31' message 'Added ZnUserAgentTests>>testFollowRedirect' id '561fdc97-0599-4a00-871d-46522f3e7253' date '28 September 2010' time '1:57:41 pm' author 'MattKennedy' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.30' message 'apparently Slashdot.org is not always chunked/gzip encoded, too bad' id 'dd8e5fe4-059a-4f8e-815b-1c3111c9215b' date '28 September 2010' time '4:01:02 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.29' message 'added a simple test for ZnFixedClient' id '371b1c05-bea0-40ec-bd07-c2e4da5100a8' date '28 September 2010' time '2:24:23 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.28' message 'Merging Matt Kenedy''s code: Added ZnUserAgentTests' id 'a50cc91b-c235-4762-b0bb-2560f604e36f' date '27 September 2010' time '11:37:18 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-MattKennedy.27' message 'Added ZnUserAgentTests' id '09d2df49-71c2-48e0-a56a-fa0e6f74bd4b' date '27 September 2010' time '3:11:11 pm' author 'MattKennedy' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.26' message 'added tests for ZnLimitedReadStream, ZnChunkedReadStream and ZnLineReader; added functional test ZnResponseTests>>#testSlashdotGzipChunked ' id '72a36bfb-859a-4b5d-b0fb-7728800f168e' date '27 September 2010' time '7:57:08 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.25' message 'added ZnEntityReader tests #testChunked and #testChunkedWithExtraHeaders' id '7250940a-d71a-4783-b55d-b4f2a57f11c5' date '26 September 2010' time '8:11:26 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.24' message 'introduction of ZnEntityReader helper object; added some more operations to ZnFixedClient; some API cleanup' id 'a6469ddc-386c-4e3b-9c18-fd55df11db9c' date '25 September 2010' time '11:15:49 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.23' message 'added some elementary ZnRequest reading tests' id 'd16e9c4f-5628-490a-b692-616f907d312f' date '25 September 2010' time '11:14:29 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.22' message 'added basic ZnClient PUT, POST & HEAD methods' id 'da53c39e-2566-4bd1-9f44-4e232d54b48e' date '21 September 2010' time '1:00:24 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.21' message 'Renamed category with old code to Zinc-Test-Old' id '7048013c-a76b-475b-ad43-349299dddb50' date '19 September 2010' time '6:45:29 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.20' message 'following some Lint advice' id '57d98003-f5c0-4a16-b385-2484086dbe67' date '17 September 2010' time '4:15:57 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.19' message 'improved test coverage: added tests to ZnUtilsTests, ZnResponseTests and ZnMimeTypeTests; renamed ZnHTTPMethodTests to ZnOldHTTPMethodTests ' id 'e2349506-4ce2-46fb-9969-9148325d6d65' date '17 September 2010' time '3:47:25 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.18' message 'fixing the test (thx http://hudson.lukas-renggli.ch/job/Zinc/ for catching this, it worked in my image)' id '65d1cb02-1463-4ed8-9f38-cfe92e124cef' date '16 September 2010' time '11:50:54 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.17' message 'added some asserts to ZnServerTests to catch the situation where the server port is not available.' id '29841272-e167-4858-973a-3d4bf4a3f266' date '16 September 2010' time '11:39:51 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.16' message 'ZnStatusLine and ZnRequestLine now handle their own crlf line ending (see #readFrom: and #writeTo:)' id '700d65a9-563e-43b2-b67b-dafc062ce473' date '15 September 2010' time '8:24:48 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.15' message 'fixed ZnMimeType parser dependency on Grease #trimBoth' id 'c6c44454-82e2-4e4a-92b2-af8a446611c4' date '15 September 2010' time '9:59:55 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.14' message 'fixing ZnHTTPSocketFacade>>#httpPut:to:user:passwd: semantics; added ZnMessage #head: #post and #put; added ZnHeaders>>#removeKey:[ifAbsent:] ; allowed for missing content-type when reading entities; enforcing content-length header to be string in #acceptEntityDescription: ' id 'b8cc69ee-4ee8-4669-b1c9-0ecc06974d8b' date '14 September 2010' time '3:12:30 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.13' message 'added ZnHTTPSocketFacade>>#testPut' id 'f60e0f04-bb28-4e28-9081-30d1488a510d' date '14 September 2010' time '3:08:25 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.12' message 'ZnHTTPSocketFacade: adjusting semantics ' id 'aad4ed72-9c44-4f33-b11f-85ab3c74fe74' date '14 September 2010' time '1:28:08 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.11' message 'first complete implementation of (new) ZnHTTPSocketFacade (incomplete tests)' id '0e442350-2cef-483d-93ed-77f7e3c85f53' date '13 September 2010' time '10:31:39 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.10' message 'added support for server side basic authentication' id '3483f716-801a-4c1d-acae-dd2a02bd2940' date '13 September 2010' time '1:55:03 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.9' message 'added support for client side basic authentication' id '0181a1a0-a07e-42dd-8d81-dbf6c5fc89e2' date '12 September 2010' time '8:35:10 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.8' message 'added some tests related to entities and query parsing' id '4b2806bd-c3cf-41a0-b14e-35acb7467533' date '12 September 2010' time '11:29:43 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.7' message 'added header name normalization; added optional multi-valued header values; added optional header value merging' id '753b4898-f9c4-4b17-928d-cd33702a92de' date '10 September 2010' time '9:06:43 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.6' message '1st primitive but working ZnServer' id 'b1a9a8ed-1955-4370-a88a-8e4eacaea787' date '8 September 2010' time '11:06:18 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.5' message 'ZnClient #get: and #getJpeg: now work for normal situations' id '6a7d2dc3-b759-4b91-8581-7d03a7d32012' date '7 September 2010' time '8:04:18 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.4' message 'Started the Zinc-Tests-New category; not much to see yet' id 'd51b0a36-ae16-4b95-bcf2-50dbc0855a01' date '6 September 2010' time '11:06:51 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.3' message 'removed old bogus test; added 1st functional test' id '52a21560-c504-4466-aa7d-0264cd8a4265' date '1 September 2010' time '7:52:23 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.2' message 'Renamed HC HTTP Client to Zinc HTTP Components; Renamed all classes to use Zn namespace prefix' id '83eb4cfc-4a78-4e11-b8d5-29bccf1dd8ba' date '1 September 2010' time '7:14:14 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.1' message 'Renamed HC HTTP Client to Zinc HTTP Components; Renamed all classes to use Zn namespace prefix' id 'da047f84-cace-4fa8-971b-366c26046539' date '1 September 2010' time '5:29:46 pm' author 'SvenVanCaekenberghe' 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 ())) 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 ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Zinc-Tests-SvenVanCaekenberghe.84' message 'added ZnUrlTests>>#testLocalHost' id '7cf44874-99c6-43b8-949e-74ae2d94d2b2' date '13 May 2011' time '2:14:24 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-NickAger.83' message 'tests updated to reflect cookie refactoring in Zinc-HTTP-NickAger.158' id '3e8391dd-bdbe-4fbe-8e08-98fe89387c59' date '10 May 2011' time '11:40:10 am' author 'NickAger' ancestors ((name 'Zinc-Tests-NickAger.82' message 'refactored ZnResponse tests to use new ZnStatusLine creation constants' id '164025a5-c6c8-4e89-be63-963fdc41b226' date '10 May 2011' time '9:14:28 am' author 'NickAger' ancestors ((name 'Zinc-Tests-NickAger.81' message 'added ZnResponseTests>>#testCookie' id 'a8baa8f0-6812-4091-a6d2-fc5e29e503a8' date '10 May 2011' time '8:38:35 am' author 'NickAger' ancestors ((name 'Zinc-Tests-NickAger.80' message 'added tests for: Request cookie accessor Response cookie setter' id 'ce58e3e6-2e8c-4864-a7bd-ad60199fb2ba' date '10 May 2011' time '2:53:56 am' author 'NickAger' ancestors ((name 'Zinc-Tests-NickAger.79' message 'renamed the test method in ZnDispatcherDelegateTest' id '64636642-57e3-4468-8f86-806f5fe5e9ea' date '9 May 2011' time '9:50:01 pm' author 'NickAger' ancestors ((name 'Zinc-Tests-NickAger.78' message 'added test for ZnDispatcherDelegate' id '7d72bd6f-a8fe-47a2-b5c2-784f196a6806' date '9 May 2011' time '9:46:13 pm' author 'NickAger' ancestors ((id '367e5a56-7e1a-4387-a3af-298cd651e876')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Zinc-Tests-SvenVanCaekenberghe.87' message 'added ZnClientTests>>#testTimeout to test the correct working of ZnConnectionTimeout' id 'd1f2d440-8420-4b11-84ec-d79bdc48e16b' date '14 July 2011' time '9:55:47 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.86' message 'improved some test code' id '29572b64-6b2e-4dbc-b62f-a1f77f2a8748' date '28 June 2011' time '11:23:39 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.85' message 'added ZnFixedClientTests>>#testIfModifiedSinceNotModified' id '07998dae-f824-4bd3-a9a6-06f0dcf5a305' date '28 June 2011' time '11:05:52 am' author 'SvenVanCaekenberghe' ancestors ((id '7cf44874-99c6-43b8-949e-74ae2d94d2b2')) 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 ())(name 'Zinc-Tests-SvenVanCaekenberghe.115' message 'added ZnClientTests>>#testRedirectDontFollow to test the new #followsRedirects boolean option to ZnClient, including under the case of #enforceHttpSuccess: true' id 'eb8c67e4-bdf2-4741-b149-78bdaf5d4970' date '23 November 2011' time '5:31:22 pm' author 'SvenVanCaekenberghe' ancestors ((id '709cd18e-4550-4b4f-ac0f-755c9d923271')) stepChildren ())) stepChildren ())(name 'Zinc-Tests-SvenVanCaekenberghe.118' message 'added ZnMimeTypeTests>>testCopying to test whether the ''constants'' returned by the class side convenience methods of ZnMimeType can be freely modified; modified ZnMimeType>>#testDefault and #testIdentity to not longer assume the ''constants'' returned by the class side convenience methods of ZnMimeType are #==' id 'ce3f20f9-22d1-4b52-afe0-9c3a04813224' date '6 December 2011' time '8:58:47 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-NorbertHartl.117' message 'second commit. Last time I added the test to an old version. Redid for newest version: added two tests to check encoding handling of ZnApplicationFormUrlEncodedEntity when writing representation' id '4971e3f3-ba21-46ab-8674-560d00dfe751' date '6 December 2011' time '6:35:28 pm' author 'NorbertHartl' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.116' message 'added tests for ZnChunkedReadStream>>#next: and the new ZnChunkedReadStream>>#next:into: ' id '53fe3bee-246a-4668-b88d-7ad66a840d80' date '3 December 2011' time '5:52:55 pm' author 'SvenVanCaekenberghe' ancestors ((id 'eb8c67e4-bdf2-4741-b149-78bdaf5d4970')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Zinc-Tests-SvenVanCaekenberghe.120' message 'added ZnClientTests>>#testProgressNoIfFail' id 'b438f907-dd03-4735-b093-620cfb10f738' date '20 December 2011' time '2:27:32 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.119' message 'added some ZnUrl tests' id 'a3dd71d9-325a-4470-a454-31db977215e9' date '13 December 2011' time '2:20:21 pm' author 'SvenVanCaekenberghe' ancestors ((id 'ce3f20f9-22d1-4b52-afe0-9c3a04813224')) stepChildren ())) stepChildren ())) stepChildren ())(name 'Zinc-Tests-SvenVanCaekenberghe.121' message 'added ZnServerTests>>#testDefault to test the new semantics of ZnServer class>>#startDefaultOn:' id 'c1396284-0787-4c42-bedd-fb6ae918c68d' date '22 December 2011' time '12:56:23 pm' author 'SvenVanCaekenberghe' ancestors ((id 'b438f907-dd03-4735-b093-620cfb10f738')) stepChildren ())) stepChildren ())(name 'Zinc-Tests-SvenVanCaekenberghe.122' message 'added ZnLineReaderTests>>#testLineTooLongDefault and ZnMultiValueDictionary>>#testTooManyEntries' id '41edccdf-4322-41c3-b06c-2b8dca3d9ce3' date '3 January 2012' time '3:44:21 pm' author 'SvenVanCaekenberghe' ancestors ((id 'c1396284-0787-4c42-bedd-fb6ae918c68d')) stepChildren ())) stepChildren ())(name 'Zinc-Tests-SvenVanCaekenberghe.125' message 'fixed the implementation of ZnLimitedReadStream to honor EOF on the underlying stream' id 'd40a9a35-5bd7-446d-b3e5-f707426a281b' date '31 January 2012' time '8:58 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.124' message 'introduction of a resource limit to the size of entities read from a stream; added ZnConstants class>>#maximumEntitySize[:] added ZnEntityTooLarge resumable exception ' id '2277a62b-e817-4f08-822d-f1e6846921a7' date '31 January 2012' time '2:04:24 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Tests-SvenVanCaekenberghe.123' message 'added ZnUrl>>#retrieveContents convenience method tests' id 'd6917a3f-397c-4c35-8f24-52222a7a047d' date '24 January 2012' time '12:01:54 pm' author 'SvenVanCaekenberghe' ancestors ((id '41edccdf-4322-41c3-b06c-2b8dca3d9ce3')) 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 ())(name 'Zinc-Tests-SvenVanCaekenberghe.147' message 'kill the last usages of mac.com URLs' id '42774037-07c9-4c2d-b11a-00e957f286ba' date '4 July 2012' time '5:38:45.544 pm' author 'SvenVanCaekenberghe' ancestors ((id '2c2b99bc-5d6d-4aea-a49a-8c797685a71f')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Zinc-WWS-Client.package/.filetree b/repository/Zinc-WWS-Client.package/.filetree new file mode 100644 index 00000000..8998102c --- /dev/null +++ b/repository/Zinc-WWS-Client.package/.filetree @@ -0,0 +1,4 @@ +{ + "noMethodMetaData" : true, + "separateMethodMetaAndSource" : false, + "useCypressPropertiesFile" : true } diff --git a/repository/Zinc-WWS-Client.package/ZnWebWorkspaceAccessor.class/README.md b/repository/Zinc-WWS-Client.package/ZnWebWorkspaceAccessor.class/README.md new file mode 100644 index 00000000..a1d0a21b --- /dev/null +++ b/repository/Zinc-WWS-Client.package/ZnWebWorkspaceAccessor.class/README.md @@ -0,0 +1,13 @@ +ZnWebWorkspaceAccessor accesses workspace contents shared using the http://ws.stfx.eu web service. + +Example usage: + + ZnWebWorkspaceAccessor new get: 'http://ws.stfx.eu/1WS4U'. + +or + + ZnWebWorkspaceAccessor new get: '1WS4U'. + +This global setting helps when testing: + + ZnWebWorkspaceAccessor defaultEndpoint: 'http://localhost:1701'. \ No newline at end of file diff --git a/repository/Zinc-WWS-Client.package/ZnWebWorkspaceAccessor.class/class/defaultEndpoint..st b/repository/Zinc-WWS-Client.package/ZnWebWorkspaceAccessor.class/class/defaultEndpoint..st new file mode 100644 index 00000000..c1b67f09 --- /dev/null +++ b/repository/Zinc-WWS-Client.package/ZnWebWorkspaceAccessor.class/class/defaultEndpoint..st @@ -0,0 +1,3 @@ +accessing +defaultEndpoint: aUrlObject + DefaultEndpoint := aUrlObject ifNotNil: [ aUrlObject asZnUrl ] \ No newline at end of file diff --git a/repository/Zinc-WWS-Client.package/ZnWebWorkspaceAccessor.class/class/defaultEndpoint.st b/repository/Zinc-WWS-Client.package/ZnWebWorkspaceAccessor.class/class/defaultEndpoint.st new file mode 100644 index 00000000..e36f9004 --- /dev/null +++ b/repository/Zinc-WWS-Client.package/ZnWebWorkspaceAccessor.class/class/defaultEndpoint.st @@ -0,0 +1,3 @@ +accessing +defaultEndpoint + ^ DefaultEndpoint ifNil: [ DefaultEndpoint := 'http://ws.stfx.eu' asZnUrl ] \ No newline at end of file diff --git a/repository/Zinc-WWS-Client.package/ZnWebWorkspaceAccessor.class/instance/endpoint..st b/repository/Zinc-WWS-Client.package/ZnWebWorkspaceAccessor.class/instance/endpoint..st new file mode 100644 index 00000000..c4095560 --- /dev/null +++ b/repository/Zinc-WWS-Client.package/ZnWebWorkspaceAccessor.class/instance/endpoint..st @@ -0,0 +1,3 @@ +initialize-release +endpoint: anUrlObject + endpoint := anUrlObject asZnUrl \ No newline at end of file diff --git a/repository/Zinc-WWS-Client.package/ZnWebWorkspaceAccessor.class/instance/endpoint.st b/repository/Zinc-WWS-Client.package/ZnWebWorkspaceAccessor.class/instance/endpoint.st new file mode 100644 index 00000000..a8c29cbf --- /dev/null +++ b/repository/Zinc-WWS-Client.package/ZnWebWorkspaceAccessor.class/instance/endpoint.st @@ -0,0 +1,3 @@ +public +endpoint + ^ endpoint ifNil: [ endpoint := self class defaultEndpoint ] \ No newline at end of file diff --git a/repository/Zinc-WWS-Client.package/ZnWebWorkspaceAccessor.class/instance/get..st b/repository/Zinc-WWS-Client.package/ZnWebWorkspaceAccessor.class/instance/get..st new file mode 100644 index 00000000..5e1f3e4f --- /dev/null +++ b/repository/Zinc-WWS-Client.package/ZnWebWorkspaceAccessor.class/instance/get..st @@ -0,0 +1,10 @@ +public +get: url + "Access the shared web workspace at url + and return its contents as a String. + Signals an error when something goes wrong." + + | contents | + contents := self httpClient get: url. + ^ String new: contents size streamContents: [ :stream | + contents linesDo: [ :each | stream nextPutAll: each; cr ] ] \ No newline at end of file diff --git a/repository/Zinc-WWS-Client.package/ZnWebWorkspaceAccessor.class/instance/httpClient.st b/repository/Zinc-WWS-Client.package/ZnWebWorkspaceAccessor.class/instance/httpClient.st new file mode 100644 index 00000000..c17974d2 --- /dev/null +++ b/repository/Zinc-WWS-Client.package/ZnWebWorkspaceAccessor.class/instance/httpClient.st @@ -0,0 +1,8 @@ +private +httpClient + ^ ZnClient new + systemPolicy; + beOneShot; + accept: ZnMimeType textPlain; + url: self endpoint; + yourself \ No newline at end of file diff --git a/repository/Zinc-WWS-Client.package/ZnWebWorkspaceAccessor.class/instance/post..st b/repository/Zinc-WWS-Client.package/ZnWebWorkspaceAccessor.class/instance/post..st new file mode 100644 index 00000000..abe4f524 --- /dev/null +++ b/repository/Zinc-WWS-Client.package/ZnWebWorkspaceAccessor.class/instance/post..st @@ -0,0 +1,13 @@ +public +post: string + "Publish the string as a new shared web workspace + and return the newly created url. + Signals an error when something goes wrong." + + | entity client url | + entity := ZnEntity text: string asString. + (client := self httpClient) + entity: entity; + post. + url := client response location. + ^ url asZnUrl inContextOf: self endpoint \ No newline at end of file diff --git a/repository/Zinc-WWS-Client.package/ZnWebWorkspaceAccessor.class/methodProperties.json b/repository/Zinc-WWS-Client.package/ZnWebWorkspaceAccessor.class/methodProperties.json new file mode 100644 index 00000000..119a5ba5 --- /dev/null +++ b/repository/Zinc-WWS-Client.package/ZnWebWorkspaceAccessor.class/methodProperties.json @@ -0,0 +1,10 @@ +{ + "class" : { + "defaultEndpoint" : "SvenVanCaekenberghe 1/29/2012 19:25", + "defaultEndpoint:" : "SvenVanCaekenberghe 1/31/2012 11:05" }, + "instance" : { + "endpoint" : "SvenVanCaekenberghe 1/29/2012 19:23", + "endpoint:" : "SvenVanCaekenberghe 1/28/2012 18:48", + "get:" : "SvenVanCaekenberghe 1/30/2012 22:11", + "httpClient" : "SvenVanCaekenberghe 1/24/2012 21:36", + "post:" : "SvenVanCaekenberghe 1/24/2012 23:45" } } diff --git a/repository/Zinc-WWS-Client.package/ZnWebWorkspaceAccessor.class/properties.json b/repository/Zinc-WWS-Client.package/ZnWebWorkspaceAccessor.class/properties.json new file mode 100644 index 00000000..92dd0fe8 --- /dev/null +++ b/repository/Zinc-WWS-Client.package/ZnWebWorkspaceAccessor.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Zinc-WWS-Client", + "classinstvars" : [ + ], + "classvars" : [ + "DefaultEndpoint" ], + "commentStamp" : "SvenVanCaekenberghe 1/29/2012 19:25", + "instvars" : [ + "endpoint" ], + "name" : "ZnWebWorkspaceAccessor", + "pools" : [ + ], + "super" : "Object", + "type" : "normal" } diff --git a/repository/Zinc-WWS-Client.package/ZnWorkspace.class/README.md b/repository/Zinc-WWS-Client.package/ZnWorkspace.class/README.md new file mode 100644 index 00000000..aa61b992 --- /dev/null +++ b/repository/Zinc-WWS-Client.package/ZnWorkspace.class/README.md @@ -0,0 +1,5 @@ +ZnWorkspace is an experimental subclass of Workspace that adds the ability to access workspaces shared using the http://ws.stfx.eu web service. + +For example, try: + + ZnWorkspace openUrl: 'http://ws.stfx.eu/1WS4U'. diff --git a/repository/Zinc-WWS-Client.package/ZnWorkspace.class/class/openUrl..st b/repository/Zinc-WWS-Client.package/ZnWorkspace.class/class/openUrl..st new file mode 100644 index 00000000..65738c2b --- /dev/null +++ b/repository/Zinc-WWS-Client.package/ZnWorkspace.class/class/openUrl..st @@ -0,0 +1,10 @@ +instance creation +openUrl: url + "Open a new workspace with the contents of the resource at url." + + "self openUrl: 'http://ws.stfx.eu/1WS4U'' " + + ^ self new + open; + openUrl: url; + yourself \ No newline at end of file diff --git a/repository/Zinc-WWS-Client.package/ZnWorkspace.class/instance/addModelItemsToWindowMenu..st b/repository/Zinc-WWS-Client.package/ZnWorkspace.class/instance/addModelItemsToWindowMenu..st new file mode 100644 index 00000000..c5016be6 --- /dev/null +++ b/repository/Zinc-WWS-Client.package/ZnWorkspace.class/instance/addModelItemsToWindowMenu..st @@ -0,0 +1,28 @@ +window menu +addModelItemsToWindowMenu: aMenu + super addModelItemsToWindowMenu: aMenu. + + aMenu addLine. + + aMenu + add: 'Open web workspace...' + target: self + action: #openWWSCommand. + aMenu lastItem icon: self theme smallOpenIcon. + + aMenu + add: 'Save as web workspace...' + target: self + action: #saveAsWWSCommand. + aMenu lastItem icon: self theme smallSaveAsIcon. + + url ifNotNil: [ + aMenu + add: 'Reload web workspace' + target: self + action: #reloadWWSCommand. + + aMenu + add: 'Copy web workspace URL' + target: self + action: #copyWWSUrlCommand ] diff --git a/repository/Zinc-WWS-Client.package/ZnWorkspace.class/instance/copyWWSUrlCommand.st b/repository/Zinc-WWS-Client.package/ZnWorkspace.class/instance/copyWWSUrlCommand.st new file mode 100644 index 00000000..02485a48 --- /dev/null +++ b/repository/Zinc-WWS-Client.package/ZnWorkspace.class/instance/copyWWSUrlCommand.st @@ -0,0 +1,3 @@ +window menu +copyWWSUrlCommand + Clipboard clipboardText: url asString \ No newline at end of file diff --git a/repository/Zinc-WWS-Client.package/ZnWorkspace.class/instance/openUrl..st b/repository/Zinc-WWS-Client.package/ZnWorkspace.class/instance/openUrl..st new file mode 100644 index 00000000..a75964d1 --- /dev/null +++ b/repository/Zinc-WWS-Client.package/ZnWorkspace.class/instance/openUrl..st @@ -0,0 +1,10 @@ +initialize-release +openUrl: urlObject + | accessor | + (urlObject isNil or: [ urlObject isEmpty ]) + ifTrue: [ ^ self ]. + accessor := ZnWebWorkspaceAccessor new. + url := urlObject asZnUrl inContextOf: accessor endpoint. + self contents: (accessor get: url). + self label: url asString. + self changed: #contents \ No newline at end of file diff --git a/repository/Zinc-WWS-Client.package/ZnWorkspace.class/instance/openWWSCommand.st b/repository/Zinc-WWS-Client.package/ZnWorkspace.class/instance/openWWSCommand.st new file mode 100644 index 00000000..5f589ace --- /dev/null +++ b/repository/Zinc-WWS-Client.package/ZnWorkspace.class/instance/openWWSCommand.st @@ -0,0 +1,12 @@ +window menu +openWWSCommand + | userWarned | + userWarned := true. + (url isNil and: [ self contents isEmpty not or: [self hasUnacceptedEdits ]]) + ifTrue: [ userWarned := self warnUser ]. + (url isNil not and: [self hasUnacceptedEdits]) + ifTrue: [ userWarned := self warnUser ]. + userWarned + ifTrue: [ | input | + input := UIManager default request: 'URL or key' initialAnswer: '' title: 'http://ws.stfx.eu'. + self openUrl: input ] \ No newline at end of file diff --git a/repository/Zinc-WWS-Client.package/ZnWorkspace.class/instance/reloadWWSCommand.st b/repository/Zinc-WWS-Client.package/ZnWorkspace.class/instance/reloadWWSCommand.st new file mode 100644 index 00000000..a1a8be20 --- /dev/null +++ b/repository/Zinc-WWS-Client.package/ZnWorkspace.class/instance/reloadWWSCommand.st @@ -0,0 +1,4 @@ +window menu +reloadWWSCommand + self warnUser + ifTrue: [ self openUrl: url ] \ No newline at end of file diff --git a/repository/Zinc-WWS-Client.package/ZnWorkspace.class/instance/saveAsWWSCommand.st b/repository/Zinc-WWS-Client.package/ZnWorkspace.class/instance/saveAsWWSCommand.st new file mode 100644 index 00000000..e2a09029 --- /dev/null +++ b/repository/Zinc-WWS-Client.package/ZnWorkspace.class/instance/saveAsWWSCommand.st @@ -0,0 +1,11 @@ +window menu +saveAsWWSCommand + (UIManager default confirm: 'Are you sure you want to publish the contents of this workspace ?') + ifFalse: [ ^ self ]. + self codeTextMorph + ifNotNil: [ :morph | | stringToSave | + stringToSave := morph text string. + url := ZnWebWorkspaceAccessor new post: stringToSave. + self label: url asString. + self contents: stringToSave. + self changed: #contents ] \ No newline at end of file diff --git a/repository/Zinc-WWS-Client.package/ZnWorkspace.class/methodProperties.json b/repository/Zinc-WWS-Client.package/ZnWorkspace.class/methodProperties.json new file mode 100644 index 00000000..8064b146 --- /dev/null +++ b/repository/Zinc-WWS-Client.package/ZnWorkspace.class/methodProperties.json @@ -0,0 +1,10 @@ +{ + "class" : { + "openUrl:" : "SvenVanCaekenberghe 1/24/2012 22:22" }, + "instance" : { + "addModelItemsToWindowMenu:" : "SvenVanCaekenberghe 1/25/2012 20:19", + "copyWWSUrlCommand" : "SvenVanCaekenberghe 1/25/2012 20:21", + "openUrl:" : "SvenVanCaekenberghe 1/28/2012 19:51", + "openWWSCommand" : "SvenVanCaekenberghe 1/28/2012 13:04", + "reloadWWSCommand" : "SvenVanCaekenberghe 1/28/2012 19:52", + "saveAsWWSCommand" : "SvenVanCaekenberghe 1/30/2012 22:20" } } diff --git a/repository/Zinc-WWS-Client.package/ZnWorkspace.class/properties.json b/repository/Zinc-WWS-Client.package/ZnWorkspace.class/properties.json new file mode 100644 index 00000000..ef0071a1 --- /dev/null +++ b/repository/Zinc-WWS-Client.package/ZnWorkspace.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Zinc-WWS-Client", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "SvenVanCaekenberghe 1/24/2012 23:17", + "instvars" : [ + "url" ], + "name" : "ZnWorkspace", + "pools" : [ + ], + "super" : "Workspace", + "type" : "normal" } diff --git a/repository/Zinc-WWS-Client.package/monticello.meta/categories.st b/repository/Zinc-WWS-Client.package/monticello.meta/categories.st new file mode 100644 index 00000000..025c7e61 --- /dev/null +++ b/repository/Zinc-WWS-Client.package/monticello.meta/categories.st @@ -0,0 +1 @@ +SystemOrganization addCategory: #'Zinc-WWS-Client'! diff --git a/repository/Zinc-WWS-Client.package/monticello.meta/initializers.st b/repository/Zinc-WWS-Client.package/monticello.meta/initializers.st new file mode 100644 index 00000000..e69de29b diff --git a/repository/Zinc-WWS-Client.package/monticello.meta/package b/repository/Zinc-WWS-Client.package/monticello.meta/package new file mode 100644 index 00000000..560fb44e --- /dev/null +++ b/repository/Zinc-WWS-Client.package/monticello.meta/package @@ -0,0 +1 @@ +(name 'Zinc-WWS-Client') \ No newline at end of file diff --git a/repository/Zinc-WWS-Client.package/monticello.meta/version b/repository/Zinc-WWS-Client.package/monticello.meta/version new file mode 100644 index 00000000..209947af --- /dev/null +++ b/repository/Zinc-WWS-Client.package/monticello.meta/version @@ -0,0 +1 @@ +(name 'Zinc-WWS-Client-SvenVanCaekenberghe.2' message 'fixes to endpoint initialization' id '75636f29-ccaf-4dd9-84cd-966992a78631' date '31 January 2012' time '2:06:03 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-WWS-Client-SvenVanCaekenberghe.1' message 'first public version' id '5ed41e71-f709-49aa-ab0e-6422dbdc265b' date '31 January 2012' time '10:16:48 am' author 'SvenVanCaekenberghe' ancestors () stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Zinc-WWS-Client.package/properties.json b/repository/Zinc-WWS-Client.package/properties.json new file mode 100644 index 00000000..f037444a --- /dev/null +++ b/repository/Zinc-WWS-Client.package/properties.json @@ -0,0 +1,2 @@ +{ + } diff --git a/repository/Zinc-WWS-Server.package/.filetree b/repository/Zinc-WWS-Server.package/.filetree new file mode 100644 index 00000000..8998102c --- /dev/null +++ b/repository/Zinc-WWS-Server.package/.filetree @@ -0,0 +1,4 @@ +{ + "noMethodMetaData" : true, + "separateMethodMetaAndSource" : false, + "useCypressPropertiesFile" : true } diff --git a/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/README.md b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/README.md new file mode 100644 index 00000000..9c9a64f3 --- /dev/null +++ b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/README.md @@ -0,0 +1,14 @@ +ZnWebWorkspaceDelegate implements the http://ws.stfx.eu shared workspaces web service. + +(ZnServer defaultOn: 1701) + delegate: (ZnWebWorkspaceDelegate new endpoint: 'http://localhost:1701'; yourself); + logToTranscript; + start. + +ZnEasy get: 'http://localhost:1701/1WS4U' +ZnEasy get: 'http://localhost:1701/1WS4U?format=text' +ZnEasy get: 'http://localhost:1701/1WS4U?format=html' + +ZnEasy + post: 'http://localhost:1701' + data: (ZnEntity text: '123 factorial\3 timesRepeat: [ Smalltalk garbageCollect ]\' withCRs) diff --git a/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/demoKey.st b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/demoKey.st new file mode 100644 index 00000000..14681d0c --- /dev/null +++ b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/demoKey.st @@ -0,0 +1,3 @@ +private +demoKey + ^ '1WS4U' \ No newline at end of file diff --git a/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/endpoint..st b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/endpoint..st new file mode 100644 index 00000000..d674e61f --- /dev/null +++ b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/endpoint..st @@ -0,0 +1,3 @@ +initialize-release +endpoint: aUrlObject + endpoint := aUrlObject asZnUrl \ No newline at end of file diff --git a/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/endpoint.st b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/endpoint.st new file mode 100644 index 00000000..ecb17b78 --- /dev/null +++ b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/endpoint.st @@ -0,0 +1,3 @@ +accessing +endpoint + ^ endpoint ifNil: [ endpoint := 'http://ws.stfx.eu' asZnUrl ] \ No newline at end of file diff --git a/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/generateHomepage.st b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/generateHomepage.st new file mode 100644 index 00000000..0154375e --- /dev/null +++ b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/generateHomepage.st @@ -0,0 +1,8 @@ +private html generation +generateHomepage + ^ String streamContents: [ :stream | + stream << ZnConstants standardHtmlDocType. + stream << ''. + stream << self homepageData. + stream << self standardPageFooter. + stream << '' ] diff --git a/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/generateNewKey.st b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/generateNewKey.st new file mode 100644 index 00000000..f3f693e5 --- /dev/null +++ b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/generateNewKey.st @@ -0,0 +1,3 @@ +private +generateNewKey + ^ ((10 raisedTo: 9) atRandom * Time primSecondsClock) printStringBase: 36 diff --git a/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/generatePageFor.withKey..st b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/generatePageFor.withKey..st new file mode 100644 index 00000000..518a0817 --- /dev/null +++ b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/generatePageFor.withKey..st @@ -0,0 +1,10 @@ +private html generation +generatePageFor: workspace withKey: key + ^ String streamContents: [ :stream | + stream << ZnConstants standardHtmlDocType; crlf. + stream << '' << (self standardPageHeader format: { key }). + stream << ''. + stream << (self standardPageProlog format: { key }). + stream << '
' << workspace << '
'. + stream << self standardPageFooter. + stream << '' ] diff --git a/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/handleGet..st b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/handleGet..st new file mode 100644 index 00000000..a8a2af9e --- /dev/null +++ b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/handleGet..st @@ -0,0 +1,10 @@ +private request handling +handleGet: request + | key workspace format entity | + key := request uri firstPathSegment. + workspace := workspaces at: key ifAbsent: [ ^ ZnResponse notFound: request uri ]. + format := request uri queryAt: 'format' ifAbsent: [ nil ]. + entity := (format = 'html' or: [ (self isBrowserRequest: request) and: [ format ~= 'text' ] ]) + ifTrue: [ ZnEntity html: (self generatePageFor: workspace withKey: key) ] + ifFalse: [ ZnEntity text: workspace ]. + ^ ZnResponse ok: entity \ No newline at end of file diff --git a/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/handleIndex..st b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/handleIndex..st new file mode 100644 index 00000000..185e438f --- /dev/null +++ b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/handleIndex..st @@ -0,0 +1,3 @@ +private request handling +handleIndex: request + ^ ZnResponse ok: (ZnEntity html: self generateHomepage) \ No newline at end of file diff --git a/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/handlePost..st b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/handlePost..st new file mode 100644 index 00000000..45d98620 --- /dev/null +++ b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/handlePost..st @@ -0,0 +1,8 @@ +private request handling +handlePost: request + | key | + (request hasEntity and: [ request entity contentType isBinary not ]) + ifFalse: [ ^ ZnResponse badRequest: request ]. + key := self generateNewKey. + workspaces at: key put: request contents. + ^ ZnResponse created: key \ No newline at end of file diff --git a/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/handleRequest..st b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/handleRequest..st new file mode 100644 index 00000000..a1e7fa89 --- /dev/null +++ b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/handleRequest..st @@ -0,0 +1,10 @@ +public +handleRequest: request + request uri isSlash + ifTrue: [ + request method = #GET ifTrue: [ ^ self handleIndex: request ]. + request method = #POST ifTrue: [ ^ self handlePost: request ] ] + ifFalse: [ + (request uri pathSegments size = 1 and: [ request method = #GET ]) + ifTrue: [ ^ self handleGet: request ] ]. + ^ ZnResponse badRequest: request uri \ No newline at end of file diff --git a/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/homepageData.st b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/homepageData.st new file mode 100644 index 00000000..696315fe --- /dev/null +++ b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/homepageData.st @@ -0,0 +1,68 @@ +private html +homepageData + ^ ' + +Shared Smalltalk Workspaces + + + + + +

Shared Smalltalk Workspaces

+

Hello and welcome to http://ws.stfx.eu,

+

a free web service to share Smalltalk workspaces.

+ +
+

+This website offers a web service to easily share Smalltalk workspaces. +

+

+It is a pastebin for Smalltalk. +

+

+Using a subclass of the standard Workspace tool called ZnWorkspace, +you can easily publish the contents of any workspace to this website. +

+

+Each time you publish a workspace, you will create a new shared web workspace. +Each shared web workspace is identified by a unique key. +Keys look like 6DKGPHMWVMI8. The unique, official URL to the shared workspace +for that key would be http://ws.stfx.eu/6DKGPHMWVMI8. +

+

+To actually share the workspace you can pass the URL around in any message. +Recepients will then be able to open the shared workspace using a web browser. +The HTML page generated will apply Smalltalk aware syntax highlighting to the contents. +

+

+Alternatively, recipients of a shared workspace URL or key can use ZnWorkspace +to open the contents right in an image, ready to be used. +

+

+For instructions on how to begin, see the Getting Started Workspace. +

+

+All information published via this service is public. +The keys in the URLs are random and hard to guess, +so unless someone knows the URL/key they won''t be able to access the workspace. +We promise not to further share workspaces by publishing indexes or making their contents searcheable. +This service is currently in beta. +Workspaces are not guaranteed to be persistent, +although every effort is made to offer a good service. +

+

+When serving a workspace''s contents, the Accept HTTP header will normally determine the resulting response''s content. +Browser HTTP agents that normally indicate that they prefer HTML content will receive a full, decorated HTML page. +Non-browser HTTP agents will receive plain, undecorated text content. +A custom Accept header can be used to control the response. +Additionally, adding a query parameter format=html or format=text to the URL will override this behavior. +

+

+Once created, shared workspaces are read-only. They can neither be modified, nor deleted. +Little used workspaces will eventually be removed after some period of time. +The maximum size for workspaces is 64Kb. +Any line end convention as well as ASCII, Latin1 and UTF-8 encoding are supported for incoming data. +Workspaces are always served using the Unix line end convention and UTF-8 encoding. +

+
+' \ No newline at end of file diff --git a/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/initialize.st b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/initialize.st new file mode 100644 index 00000000..50cc6c72 --- /dev/null +++ b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/initialize.st @@ -0,0 +1,4 @@ +initialize-release +initialize + super initialize. + workspaces := ZnWebWorkspaceStorage on: (FileDirectory default / 'wws' / 'data') \ No newline at end of file diff --git a/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/isBrowserRequest..st b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/isBrowserRequest..st new file mode 100644 index 00000000..f55841dd --- /dev/null +++ b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/isBrowserRequest..st @@ -0,0 +1,11 @@ +private +isBrowserRequest: request + | accept primaryMimeType | + accept := request headers at: 'Accept' ifAbsent: [ ^ false ]. + primaryMimeType := (((accept findTokens: ',') + collect: [ :each | each asZnMimeType]) + sorted: [ :x :y | | q1 q2 | + q1 := (x parameterAt: 'q' ifAbsent: [ 1.0 ]) asNumber. + q2 := (y parameterAt: 'q' ifAbsent: [ 1.0 ]) asNumber. + q1 >= q2 ]) first. + ^ primaryMimeType = ZnMimeType textHtml \ No newline at end of file diff --git a/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/standardPageFooter.st b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/standardPageFooter.st new file mode 100644 index 00000000..8e55b125 --- /dev/null +++ b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/standardPageFooter.st @@ -0,0 +1,18 @@ +private html +standardPageFooter + ^ ' +
+THIS SOFTWARE SERVICE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHOR OR SERVICE PROVIDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE SERVICE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE SERVICE. +
' \ No newline at end of file diff --git a/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/standardPageHeader.st b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/standardPageHeader.st new file mode 100644 index 00000000..c2df5bc8 --- /dev/null +++ b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/standardPageHeader.st @@ -0,0 +1,12 @@ +private html +standardPageHeader + ^ ' +Shared Smalltalk Workspace {1} - http://ws.stfx.eu/{1} + + + + + +' \ No newline at end of file diff --git a/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/standardPageProlog.st b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/standardPageProlog.st new file mode 100644 index 00000000..fd0906a7 --- /dev/null +++ b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/instance/standardPageProlog.st @@ -0,0 +1,11 @@ +private html +standardPageProlog + ^ '

Shared Smalltalk Workspace {1}

+

http://ws.stfx.eu/{1}

+
+Doit +| Raw +| For instructions, see the Getting Started Workspace +| Home +
+' \ No newline at end of file diff --git a/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/methodProperties.json b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/methodProperties.json new file mode 100644 index 00000000..30a750ac --- /dev/null +++ b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/methodProperties.json @@ -0,0 +1,20 @@ +{ + "class" : { + }, + "instance" : { + "demoKey" : "SvenVanCaekenberghe 1/24/2012 23:20", + "endpoint" : "SvenVanCaekenberghe 1/31/2012 11:03", + "endpoint:" : "SvenVanCaekenberghe 1/28/2012 18:37", + "generateHomepage" : "SvenVanCaekenberghe 2/2/2012 10:26", + "generateNewKey" : "SvenVanCaekenberghe 1/28/2012 13:06", + "generatePageFor:withKey:" : "SvenVanCaekenberghe 1/31/2012 23:22", + "handleGet:" : "SvenVanCaekenberghe 1/28/2012 16:35", + "handleIndex:" : "SvenVanCaekenberghe 1/28/2012 16:54", + "handlePost:" : "SvenVanCaekenberghe 1/28/2012 13:06", + "handleRequest:" : "SvenVanCaekenberghe 3/7/2012 16:02", + "homepageData" : "SvenVanCaekenberghe 2/2/2012 10:26", + "initialize" : "SvenVanCaekenberghe 1/28/2012 16:52", + "isBrowserRequest:" : "SvenVanCaekenberghe 1/28/2012 16:56", + "standardPageFooter" : "SvenVanCaekenberghe 1/31/2012 22:19", + "standardPageHeader" : "SvenVanCaekenberghe 1/31/2012 23:18", + "standardPageProlog" : "SvenVanCaekenberghe 2/2/2012 22:25" } } diff --git a/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/properties.json b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/properties.json new file mode 100644 index 00000000..acad5ed0 --- /dev/null +++ b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceDelegate.class/properties.json @@ -0,0 +1,15 @@ +{ + "category" : "Zinc-WWS-Server", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "SvenVanCaekenberghe 1/28/2012 18:53", + "instvars" : [ + "workspaces", + "endpoint" ], + "name" : "ZnWebWorkspaceDelegate", + "pools" : [ + ], + "super" : "Object", + "type" : "normal" } diff --git a/repository/Zinc-WWS-Server.package/ZnWebWorkspaceStorage.class/README.md b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceStorage.class/README.md new file mode 100644 index 00000000..af9bbf9b --- /dev/null +++ b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceStorage.class/README.md @@ -0,0 +1,3 @@ +ZnWebWorkspaceStorage stores a dictionary of keys with string contents in a directory. + +To allow for a large number of key/values subdirectories are created based on the first two letters of a key. \ No newline at end of file diff --git a/repository/Zinc-WWS-Server.package/ZnWebWorkspaceStorage.class/class/on..st b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceStorage.class/class/on..st new file mode 100644 index 00000000..16084c7a --- /dev/null +++ b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceStorage.class/class/on..st @@ -0,0 +1,5 @@ +instance creation +on: directory + ^ self new + directory: directory; + yourself \ No newline at end of file diff --git a/repository/Zinc-WWS-Server.package/ZnWebWorkspaceStorage.class/instance/at..st b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceStorage.class/instance/at..st new file mode 100644 index 00000000..03447813 --- /dev/null +++ b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceStorage.class/instance/at..st @@ -0,0 +1,3 @@ +accessing +at: key + ^ self at: key ifAbsent: [ KeyNotFound signalFor: key ] \ No newline at end of file diff --git a/repository/Zinc-WWS-Server.package/ZnWebWorkspaceStorage.class/instance/at.ifAbsent..st b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceStorage.class/instance/at.ifAbsent..st new file mode 100644 index 00000000..f3d8fe6b --- /dev/null +++ b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceStorage.class/instance/at.ifAbsent..st @@ -0,0 +1,10 @@ +accessing +at: key ifAbsent: block + | fullName entry | + fullName := self directory / (key first: 2) / key. + (fullName containingDirectory fileExists: fullName localName) + ifFalse: [ ^ block value ]. + entry := fullName directoryEntry. + ^ FileStream + fileNamed: entry fullName + do: [ :stream | stream upToEnd ] \ No newline at end of file diff --git a/repository/Zinc-WWS-Server.package/ZnWebWorkspaceStorage.class/instance/at.put..st b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceStorage.class/instance/at.put..st new file mode 100644 index 00000000..3ce9f985 --- /dev/null +++ b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceStorage.class/instance/at.put..st @@ -0,0 +1,11 @@ +accessing +at: key put: string + | subDirectory | + self directory assureExistence. + subDirectory := self directory / (key first: 2). + subDirectory assureExistence. + FileStream + fileNamed: (subDirectory / key) pathName + do: [ :stream | + stream lineEndConvention: #lf. + string linesDo: [ :each | stream nextPutAll: each; cr ] ] diff --git a/repository/Zinc-WWS-Server.package/ZnWebWorkspaceStorage.class/instance/directory..st b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceStorage.class/instance/directory..st new file mode 100644 index 00000000..c7127e9b --- /dev/null +++ b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceStorage.class/instance/directory..st @@ -0,0 +1,3 @@ +initialize-release +directory: aDirectory + directory := aDirectory \ No newline at end of file diff --git a/repository/Zinc-WWS-Server.package/ZnWebWorkspaceStorage.class/instance/directory.st b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceStorage.class/instance/directory.st new file mode 100644 index 00000000..1b71cd79 --- /dev/null +++ b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceStorage.class/instance/directory.st @@ -0,0 +1,3 @@ +accessing +directory + ^ directory \ No newline at end of file diff --git a/repository/Zinc-WWS-Server.package/ZnWebWorkspaceStorage.class/methodProperties.json b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceStorage.class/methodProperties.json new file mode 100644 index 00000000..501fffdb --- /dev/null +++ b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceStorage.class/methodProperties.json @@ -0,0 +1,9 @@ +{ + "class" : { + "on:" : "SvenVanCaekenberghe 1/25/2012 16:27" }, + "instance" : { + "at:" : "SvenVanCaekenberghe 1/25/2012 16:29", + "at:ifAbsent:" : "SvenVanCaekenberghe 1/30/2012 22:09", + "at:put:" : "SvenVanCaekenberghe 1/29/2012 20:30", + "directory" : "SvenVanCaekenberghe 1/25/2012 16:27", + "directory:" : "SvenVanCaekenberghe 1/25/2012 16:28" } } diff --git a/repository/Zinc-WWS-Server.package/ZnWebWorkspaceStorage.class/properties.json b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceStorage.class/properties.json new file mode 100644 index 00000000..0e1146b0 --- /dev/null +++ b/repository/Zinc-WWS-Server.package/ZnWebWorkspaceStorage.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Zinc-WWS-Server", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "SvenVanCaekenberghe 1/25/2012 16:31", + "instvars" : [ + "directory" ], + "name" : "ZnWebWorkspaceStorage", + "pools" : [ + ], + "super" : "Object", + "type" : "normal" } diff --git a/repository/Zinc-WWS-Server.package/monticello.meta/categories.st b/repository/Zinc-WWS-Server.package/monticello.meta/categories.st new file mode 100644 index 00000000..20aa6de3 --- /dev/null +++ b/repository/Zinc-WWS-Server.package/monticello.meta/categories.st @@ -0,0 +1 @@ +SystemOrganization addCategory: #'Zinc-WWS-Server'! diff --git a/repository/Zinc-WWS-Server.package/monticello.meta/initializers.st b/repository/Zinc-WWS-Server.package/monticello.meta/initializers.st new file mode 100644 index 00000000..e69de29b diff --git a/repository/Zinc-WWS-Server.package/monticello.meta/package b/repository/Zinc-WWS-Server.package/monticello.meta/package new file mode 100644 index 00000000..232df80c --- /dev/null +++ b/repository/Zinc-WWS-Server.package/monticello.meta/package @@ -0,0 +1 @@ +(name 'Zinc-WWS-Server') \ No newline at end of file diff --git a/repository/Zinc-WWS-Server.package/monticello.meta/version b/repository/Zinc-WWS-Server.package/monticello.meta/version new file mode 100644 index 00000000..3015562e --- /dev/null +++ b/repository/Zinc-WWS-Server.package/monticello.meta/version @@ -0,0 +1 @@ +(name 'Zinc-WWS-Server-SvenVanCaekenberghe.7' message 'small bugfix to #handleRequest:' id '110fa93d-4f91-48e7-ad52-df16da476367' date '7 March 2012' time '4:03:35 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-WWS-Server-SvenVanCaekenberghe.6' message 'fixed a URL' id '2ae381cc-8123-42e4-acdf-2942e53b5dc6' date '2 February 2012' time '10:26:27 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-WWS-Server-SvenVanCaekenberghe.5' message 'more HTML fixes (reusing/sharing footer)' id '289cfff8-f354-49f0-8ce6-128c3bb77986' date '2 February 2012' time '10:29:41 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-WWS-Server-SvenVanCaekenberghe.4' message 'updated generated HTML' id '211f8c2d-6efb-40d0-b36a-4ef66ec912e6' date '1 February 2012' time '9:06:07 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-WWS-Server-SvenVanCaekenberghe.3' message 'added full HTML generation' id '183cbfa5-adb4-4da1-a9f7-b3b12ae87b8c' date '31 January 2012' time '11:26:10 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-WWS-Server-SvenVanCaekenberghe.2' message 'fixes to endpoint initialization' id '3ace3f63-cb27-4589-a6c1-45be1cf71490' date '31 January 2012' time '2:06:35 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-WWS-Server-SvenVanCaekenberghe.1' message 'first public version' id '0e253bb4-8910-44c0-a6ac-e224cea0f608' date '31 January 2012' time '10:17:24 am' author 'SvenVanCaekenberghe' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Zinc-WWS-Server.package/properties.json b/repository/Zinc-WWS-Server.package/properties.json new file mode 100644 index 00000000..f037444a --- /dev/null +++ b/repository/Zinc-WWS-Server.package/properties.json @@ -0,0 +1,2 @@ +{ + } diff --git a/repository/Zinc-WebDAV.package/.filetree b/repository/Zinc-WebDAV.package/.filetree new file mode 100644 index 00000000..8998102c --- /dev/null +++ b/repository/Zinc-WebDAV.package/.filetree @@ -0,0 +1,4 @@ +{ + "noMethodMetaData" : true, + "separateMethodMetaAndSource" : false, + "useCypressPropertiesFile" : true } diff --git a/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/README.md b/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/README.md new file mode 100644 index 00000000..21296cc4 --- /dev/null +++ b/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/README.md @@ -0,0 +1,13 @@ +I am ZnWebDAVClient, a simple client to talk to a WebDAV server. + +Currently only a very small amount of a normal WebDAV client's functionality is implemented. + +ZnWebDAVClient new + host: 'localhost'; + port: 8000; + username: 'johndoe' password: 'secret'; + list; + at: 'foo.txt' put: (ZnEntity text: 'Pharo Smalltalk'); + at: 'foo.txt'. + +I depend on Zinc HTTP Components and XML Support. \ No newline at end of file diff --git a/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/at..st b/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/at..st new file mode 100644 index 00000000..6ac2e577 --- /dev/null +++ b/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/at..st @@ -0,0 +1,6 @@ +accessing +at: name + ^ self httpClient + username: username password: password; + path: name; + get \ No newline at end of file diff --git a/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/at.put..st b/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/at.put..st new file mode 100644 index 00000000..119f5b4e --- /dev/null +++ b/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/at.put..st @@ -0,0 +1,8 @@ +accessing +at: name put: entity + ^ self httpClient + username: username password: password; + entity: entity; + path: name; + put; + isSuccess \ No newline at end of file diff --git a/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/basePath..st b/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/basePath..st new file mode 100644 index 00000000..578741d4 --- /dev/null +++ b/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/basePath..st @@ -0,0 +1,3 @@ +initialize-release +basePath: anObject + basePath := anObject \ No newline at end of file diff --git a/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/basePath.st b/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/basePath.st new file mode 100644 index 00000000..97d10a2d --- /dev/null +++ b/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/basePath.st @@ -0,0 +1,3 @@ +accessing +basePath + ^ basePath ifNil: [ basePath := '/' ] \ No newline at end of file diff --git a/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/close.st b/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/close.st new file mode 100644 index 00000000..0bad6f31 --- /dev/null +++ b/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/close.st @@ -0,0 +1,5 @@ +initialize-release +close + httpClient ifNotNil: [ + httpClient close ]. + username := password := nil \ No newline at end of file diff --git a/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/host..st b/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/host..st new file mode 100644 index 00000000..5ab67b42 --- /dev/null +++ b/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/host..st @@ -0,0 +1,4 @@ +initialize-release +host: hostName + self httpClient + host: hostName \ No newline at end of file diff --git a/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/httpClient.st b/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/httpClient.st new file mode 100644 index 00000000..b856270a --- /dev/null +++ b/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/httpClient.st @@ -0,0 +1,4 @@ +private +httpClient + ^ httpClient ifNil: [ + httpClient := ZnClient new http; yourself ] \ No newline at end of file diff --git a/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/list.st b/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/list.st new file mode 100644 index 00000000..eee6e3f7 --- /dev/null +++ b/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/list.st @@ -0,0 +1,10 @@ +accessing +list + self httpClient + username: username password: password; + path: self basePath; + headerAt: 'Depth' put: '1'; + method: #PROPFIND; + entity: (ZnEntity xml: self propFindQuery); + execute. + ^ self parsePropFindResponse: self httpClient contents \ No newline at end of file diff --git a/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/parsePropFindResponse..st b/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/parsePropFindResponse..st new file mode 100644 index 00000000..945de956 --- /dev/null +++ b/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/parsePropFindResponse..st @@ -0,0 +1,6 @@ +private +parsePropFindResponse: string + ^ ((XMLDOMParser parse: string) + allElementsNamed: 'response') + collect: [ :each | + each contentStringAt: 'href' ] \ No newline at end of file diff --git a/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/port..st b/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/port..st new file mode 100644 index 00000000..05dc6a2e --- /dev/null +++ b/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/port..st @@ -0,0 +1,4 @@ +initialize-release +port: portNumber + self httpClient + port: portNumber \ No newline at end of file diff --git a/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/propFindQuery.st b/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/propFindQuery.st new file mode 100644 index 00000000..6a34203c --- /dev/null +++ b/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/propFindQuery.st @@ -0,0 +1,13 @@ +private +propFindQuery + | writer | + (writer := XMLWriter new) + enablePrettyPrinting; + xml. + writer tag + name: 'a:propfind'; + xmlnsAt: 'a' put: 'DAV:'; + with: [ + writer tag: 'a:prop' with: [ + writer tag: 'a:resourcetype' ] ]. + ^ writer contents \ No newline at end of file diff --git a/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/username.password..st b/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/username.password..st new file mode 100644 index 00000000..a9bfb027 --- /dev/null +++ b/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/instance/username.password..st @@ -0,0 +1,4 @@ +initialize-release +username: aUsername password: aPassword + username := aUsername. + password := aPassword. \ No newline at end of file diff --git a/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/methodProperties.json b/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/methodProperties.json new file mode 100644 index 00000000..7931098f --- /dev/null +++ b/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/methodProperties.json @@ -0,0 +1,16 @@ +{ + "class" : { + }, + "instance" : { + "at:" : "SvenVanCaekenberghe 12/13/2011 10:59", + "at:put:" : "SvenVanCaekenberghe 12/11/2011 19:41", + "basePath" : "SvenVanCaekenberghe 12/13/2011 10:55", + "basePath:" : "SvenVanCaekenberghe 12/13/2011 10:55", + "close" : "SvenVanCaekenberghe 12/11/2011 19:24", + "host:" : "SvenVanCaekenberghe 12/11/2011 19:27", + "httpClient" : "SvenVanCaekenberghe 12/11/2011 19:27", + "list" : "SvenVanCaekenberghe 12/13/2011 10:55", + "parsePropFindResponse:" : "SvenVanCaekenberghe 12/11/2011 19:35", + "port:" : "SvenVanCaekenberghe 12/11/2011 19:27", + "propFindQuery" : "SvenVanCaekenberghe 12/11/2011 19:34", + "username:password:" : "SvenVanCaekenberghe 12/11/2011 19:24" } } diff --git a/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/properties.json b/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/properties.json new file mode 100644 index 00000000..f22da457 --- /dev/null +++ b/repository/Zinc-WebDAV.package/ZnWebDAVClient.class/properties.json @@ -0,0 +1,17 @@ +{ + "category" : "Zinc-WebDAV", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "SvenVanCaekenberghe 12/11/2011 19:35", + "instvars" : [ + "httpClient", + "username", + "password", + "basePath" ], + "name" : "ZnWebDAVClient", + "pools" : [ + ], + "super" : "Object", + "type" : "normal" } diff --git a/repository/Zinc-WebDAV.package/monticello.meta/categories.st b/repository/Zinc-WebDAV.package/monticello.meta/categories.st new file mode 100644 index 00000000..d826b26f --- /dev/null +++ b/repository/Zinc-WebDAV.package/monticello.meta/categories.st @@ -0,0 +1 @@ +SystemOrganization addCategory: #'Zinc-WebDAV'! diff --git a/repository/Zinc-WebDAV.package/monticello.meta/initializers.st b/repository/Zinc-WebDAV.package/monticello.meta/initializers.st new file mode 100644 index 00000000..e69de29b diff --git a/repository/Zinc-WebDAV.package/monticello.meta/package b/repository/Zinc-WebDAV.package/monticello.meta/package new file mode 100644 index 00000000..dcb59fcd --- /dev/null +++ b/repository/Zinc-WebDAV.package/monticello.meta/package @@ -0,0 +1 @@ +(name 'Zinc-WebDAV') \ No newline at end of file diff --git a/repository/Zinc-WebDAV.package/monticello.meta/version b/repository/Zinc-WebDAV.package/monticello.meta/version new file mode 100644 index 00000000..804002a4 --- /dev/null +++ b/repository/Zinc-WebDAV.package/monticello.meta/version @@ -0,0 +1 @@ +(name 'Zinc-WebDAV-SvenVanCaekenberghe.3' message 'added ZnWebDAVClient>>#basePath[:]' id 'dc350337-4626-4ffe-884e-766cf8fbfc14' date '13 December 2011' time '12:05:17 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-WebDAV-SvenVanCaekenberghe.2' message 'added ''Depth: 1'' header to ZnWebDAVClient>>#list' id 'cc62fa60-c441-40f6-891f-af5d942a0d41' date '11 December 2011' time '7:51:47 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-WebDAV-SvenVanCaekenberghe.1' message 'first experimental version' id 'a8867692-85a7-4379-8104-376b1f92529e' date '11 December 2011' time '7:48:40 pm' author 'SvenVanCaekenberghe' ancestors () stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Zinc-WebDAV.package/properties.json b/repository/Zinc-WebDAV.package/properties.json new file mode 100644 index 00000000..f037444a --- /dev/null +++ b/repository/Zinc-WebDAV.package/properties.json @@ -0,0 +1,2 @@ +{ + } diff --git a/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/class/generateTestData..st b/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/class/generateTestData..st new file mode 100644 index 00000000..d2644544 --- /dev/null +++ b/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/class/generateTestData..st @@ -0,0 +1,10 @@ +testing +generateTestData: size + "self generateTestData: 1111" + + ^ String + streamContents: [ :stream | + stream << 'Transfer test file of size '; print: size; << ' bytes.'; lf. + 1 to: size do: [ :each | + stream nextPutAll: 'Line '; print: each; lf ] ] + limitedTo: size \ No newline at end of file diff --git a/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/class/generateTestFiles.st b/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/class/generateTestFiles.st new file mode 100644 index 00000000..4885cc90 --- /dev/null +++ b/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/class/generateTestFiles.st @@ -0,0 +1,8 @@ +testing +generateTestFiles + "self generateTestFiles" + + (Integer primesUpTo: 100) do: [ :each | | size | + size := 1024 * each + each. + FileStream fileNamed: ('test-', size asString, '.txt') do: [ :stream | + stream nextPutAll: (self generateTestData: size) ] ] \ No newline at end of file diff --git a/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/ensureSocketStreamFactory.st b/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/ensureSocketStreamFactory.st index 158a91e6..729a8f16 100644 --- a/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/ensureSocketStreamFactory.st +++ b/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/ensureSocketStreamFactory.st @@ -1,5 +1,5 @@ private ensureSocketStreamFactory self - assert: (ZnNetworkingUtils default secureSocketStreamClass notNil) + assert: ZnNetworkingUtils default secureSocketStreamClass notNil description: 'Please set a secure socket stream class in ZnNetworkingUtils default or switch to the ZnZodiacNetworkingUtils socket stream factory' \ No newline at end of file diff --git a/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/isNativeSSLPluginPresent.st b/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/isNativeSSLPluginPresent.st new file mode 100644 index 00000000..cd984dfd --- /dev/null +++ b/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/isNativeSSLPluginPresent.st @@ -0,0 +1,7 @@ +private +isNativeSSLPluginPresent + "Return whether the SSL VM plugin can be instanciated and intialized." + + ^ [ ZdcPluginSSLSession new destroy. true ] + on: ZdcPluginMissing + do: [ false ] \ No newline at end of file diff --git a/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testAmazonAWS.st b/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testAmazonAWS.st index 00a8ddeb..e95c49a6 100644 --- a/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testAmazonAWS.st +++ b/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testAmazonAWS.st @@ -1,7 +1,8 @@ testing testAmazonAWS | client | - self ensureSocketStreamFactory. + self ensureSocketStreamFactory. + self isNativeSSLPluginPresent ifFalse: [ ^ self ]. (client := ZnClient new) get: 'https://aws.amazon.com/'. self assert: client isSuccess. diff --git a/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testGForceInria.st b/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testGForceInria.st index be7e4894..748474ad 100644 --- a/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testGForceInria.st +++ b/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testGForceInria.st @@ -1,7 +1,8 @@ testing testGForceInria | client | - self ensureSocketStreamFactory. + self ensureSocketStreamFactory. + self isNativeSSLPluginPresent ifFalse: [ ^ self ]. (client := ZnClient new) get: 'http://gforge.inria.fr/frs/?group_id=1299'. self assert: client isSuccess. diff --git a/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testGetPharoVersion.st b/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testGetPharoVersion.st new file mode 100644 index 00000000..3b364e34 --- /dev/null +++ b/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testGetPharoVersion.st @@ -0,0 +1,14 @@ +testing +testGetPharoVersion + | client lastBuildVersion | + self ensureSocketStreamFactory. + self isNativeSSLPluginPresent ifFalse: [ ^ self ]. + lastBuildVersion := (client := ZnClient new) + beOneShot; + get: 'https://ci.lille.inria.fr/pharo/job/Pharo-2.0/lastSuccessfulBuild/api/xml?xpath=/*/description/text()'. + self assert: client isSuccess. + self assert: client response contentType equals: ZnMimeType textPlain. + self assert: client response contentLength > 0. + self assert: lastBuildVersion notNil. + self assert: lastBuildVersion isString. + self assert: lastBuildVersion size > 0 \ No newline at end of file diff --git a/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testGmailEncrypted.st b/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testGmailEncrypted.st index 519a0dcc..134f2f11 100644 --- a/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testGmailEncrypted.st +++ b/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testGmailEncrypted.st @@ -1,7 +1,8 @@ testing testGmailEncrypted | client | - self ensureSocketStreamFactory. + self ensureSocketStreamFactory. + self isNativeSSLPluginPresent ifFalse: [ ^ self ]. (client := ZnClient new) get: 'https://www.gmail.com'. self assert: client isSuccess. diff --git a/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testGoogleEncrypted.st b/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testGoogleEncrypted.st index 46d13367..93906be2 100644 --- a/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testGoogleEncrypted.st +++ b/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testGoogleEncrypted.st @@ -1,7 +1,8 @@ testing testGoogleEncrypted | client | - self ensureSocketStreamFactory. + self ensureSocketStreamFactory. + self isNativeSSLPluginPresent ifFalse: [ ^ self ]. (client := ZnClient new) get: 'https://encrypted.google.com/search?q=Smalltalk'. self assert: client isSuccess. diff --git a/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testPayPal.st b/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testPayPal.st index 772ae343..eb185c53 100644 --- a/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testPayPal.st +++ b/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testPayPal.st @@ -1,7 +1,8 @@ testing testPayPal | client | - self ensureSocketStreamFactory. + self ensureSocketStreamFactory. + self isNativeSSLPluginPresent ifFalse: [ ^ self ]. (client := ZnClient new) get: 'https://www.paypal.com'. self assert: client isSuccess. diff --git a/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testRequestResponse.st b/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testRequestResponse.st index 9cd8e063..82689fac 100644 --- a/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testRequestResponse.st +++ b/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testRequestResponse.st @@ -1,6 +1,8 @@ testing testRequestResponse | query stream request response | + self ensureSocketStreamFactory. + self isNativeSSLPluginPresent ifFalse: [ ^ self ]. query := 'Smalltalk'. stream := ZdcSecureSocketStream openConnectionToHostNamed: 'encrypted.google.com' port: 443. [ diff --git a/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testTransfers.st b/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testTransfers.st new file mode 100644 index 00000000..04778ba8 --- /dev/null +++ b/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testTransfers.st @@ -0,0 +1,19 @@ +testing +testTransfers + self ensureSocketStreamFactory. + self isNativeSSLPluginPresent ifFalse: [ ^ self ]. + (Integer primesUpTo: 100) do: [ :each | | size client | + size := 1024 * each + each. + (client := ZnClient new) + https; + host: 's3-eu-west-1.amazonaws.com'; + addPath: 'public-stfx-eu'; + addPath: ('test-', size asString, '.txt'); + get; + close. + self assert: client isSuccess. + self assert: client response contentType equals: ZnMimeType textPlain. + self assert: client response contentLength equals: size. + self + assert: client contents + equals: (self class generateTestData: size) ] \ No newline at end of file diff --git a/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testTransfersSingleClient.st b/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testTransfersSingleClient.st new file mode 100644 index 00000000..e24ec93c --- /dev/null +++ b/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testTransfersSingleClient.st @@ -0,0 +1,20 @@ +testing +testTransfersSingleClient + | client | + self ensureSocketStreamFactory. + self isNativeSSLPluginPresent ifFalse: [ ^ self ]. + (client := ZnClient new) + https; + host: 's3-eu-west-1.amazonaws.com'. + (Integer primesUpTo: 100) do: [ :each | | size | + size := 1024 * each + each. + client + url: ('/public-stfx-eu/test-', size asString, '.txt'); + get. + self assert: client isSuccess. + self assert: client response contentType equals: ZnMimeType textPlain. + self assert: client response contentLength equals: size. + self + assert: client contents + equals: (self class generateTestData: size) ]. + client close \ No newline at end of file diff --git a/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testWikimedia.st b/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testWikimedia.st index 4c6e6088..83fd15f9 100644 --- a/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testWikimedia.st +++ b/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/instance/testWikimedia.st @@ -1,7 +1,8 @@ testing testWikimedia | client | - self ensureSocketStreamFactory. + self ensureSocketStreamFactory. + self isNativeSSLPluginPresent ifFalse: [ ^ self ]. (client := ZnClient new) get: 'https://secure.wikimedia.org/'. self assert: client isSuccess. diff --git a/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/methodProperties.json b/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/methodProperties.json new file mode 100644 index 00000000..653789af --- /dev/null +++ b/repository/Zinc-Zodiac.package/ZnHTTPSTests.class/methodProperties.json @@ -0,0 +1,17 @@ +{ + "class" : { + "generateTestData:" : "SvenVanCaekenberghe 6/27/2012 13:26", + "generateTestFiles" : "SvenVanCaekenberghe 6/27/2012 13:27" }, + "instance" : { + "ensureSocketStreamFactory" : "SvenVanCaekenberghe 7/4/2012 11:32", + "isNativeSSLPluginPresent" : "SvenVanCaekenberghe 7/4/2012 11:32", + "testAmazonAWS" : "SvenVanCaekenberghe 7/4/2012 11:33", + "testGForceInria" : "SvenVanCaekenberghe 7/4/2012 11:33", + "testGetPharoVersion" : "SvenVanCaekenberghe 7/16/2012 11:41", + "testGmailEncrypted" : "SvenVanCaekenberghe 7/4/2012 11:33", + "testGoogleEncrypted" : "SvenVanCaekenberghe 7/4/2012 11:33", + "testPayPal" : "SvenVanCaekenberghe 7/4/2012 11:34", + "testRequestResponse" : "SvenVanCaekenberghe 7/4/2012 11:35", + "testTransfers" : "SvenVanCaekenberghe 7/4/2012 11:35", + "testTransfersSingleClient" : "SvenVanCaekenberghe 7/4/2012 11:34", + "testWikimedia" : "SvenVanCaekenberghe 7/4/2012 11:34" } } diff --git a/repository/Zinc-Zodiac.package/ZnSecureServer.class/methodProperties.json b/repository/Zinc-Zodiac.package/ZnSecureServer.class/methodProperties.json new file mode 100644 index 00000000..61eadf2f --- /dev/null +++ b/repository/Zinc-Zodiac.package/ZnSecureServer.class/methodProperties.json @@ -0,0 +1,7 @@ +{ + "class" : { + }, + "instance" : { + "certificate" : "SvenVanCaekenberghe 12/13/2011 13:08", + "certificate:" : "SvenVanCaekenberghe 12/13/2011 13:08", + "socketStreamOn:" : "SvenVanCaekenberghe 12/13/2011 20:34" } } diff --git a/repository/Zinc-Zodiac.package/ZnZodiacNetworkingUtils.class/methodProperties.json b/repository/Zinc-Zodiac.package/ZnZodiacNetworkingUtils.class/methodProperties.json new file mode 100644 index 00000000..cfff8342 --- /dev/null +++ b/repository/Zinc-Zodiac.package/ZnZodiacNetworkingUtils.class/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "initialize" : "SvenVanCaekenberghe 11/10/2011 13:42" } } diff --git a/repository/Zinc-Zodiac.package/monticello.meta/version b/repository/Zinc-Zodiac.package/monticello.meta/version index 5cd869ab..e3bc471b 100644 --- a/repository/Zinc-Zodiac.package/monticello.meta/version +++ b/repository/Zinc-Zodiac.package/monticello.meta/version @@ -1 +1 @@ -(name 'Zinc-Zodiac-SvenVanCaekenberghe.12' message 'fixed/debugged ZnSecureServer>>#socketStreamOn:' id '3dfc451d-f7ac-4a0b-bca7-b8f98d3c478c' date '13 December 2011' time '9:45 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Zodiac-SvenVanCaekenberghe.11' message 'added skeleton of ZnSecureServer' id '50a444ae-aa6d-4ba7-a984-10f3416e675c' date '13 December 2011' time '1:39:07 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Zodiac-SvenVanCaekenberghe.10' message 'moved most ZnZodiacNetworkingUtils functionality to its parent class ZnNetworkingUtils; the only reason left to use ZnZodiacNetworkingUtils is to force both regular and secure stream to be of the Zodiac kind' id 'b3dd12a9-8542-42da-9f04-57afc7eedd72' date '10 November 2011' time '2:13:02 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Zodiac-SvenVanCaekenberghe.9' message 'tracking the renaming of ZnNeoClient -> ZnClient' id '5fd12c41-3ce5-4e32-a351-5548a8b52a71' date '9 November 2011' time '9:21 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Zodiac-SvenVanCaekenberghe.8' message 'make all ZnHTTPSTests use ZnNeoClient directly; added a #close' id '7772a553-4047-4f23-b213-6c9d34a951af' date '4 October 2011' time '4:08:54 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Zodiac-SvenVanCaekenberghe.7' message 'replaces some usage of ZnClient by ZnEasy' id 'bce5ec97-934b-4657-ab84-4974e5b9ad6c' date '16 September 2011' time '9:12:37 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Zodiac-SvenVanCaekenberghe.6' message 'fixed a typo leading to an Undeclared' id 'c6961750-e60d-4cf9-8a42-02fdf02556b7' date '12 September 2011' time '1:36:42 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Zodiac-SvenVanCaekenberghe.5' message 'fixed a typo' id '72e5d446-3a6e-4c6c-ba91-ad92e042dc13' date '22 June 2011' time '9:21:01 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Zodiac-SvenVanCaekenberghe.4' message 'added more HTTPS tests' id 'f40cd81f-e1c4-4d27-b6d6-e452c2d06378' date '18 May 2011' time '4:09:41 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Zodiac-SvenVanCaekenberghe.3' message 'made the tests a bit more robust' id '7205c6ed-0c55-4332-9e03-b87f9135e9e2' date '18 May 2011' time '2:18:56 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Zodiac-SvenVanCaekenberghe.2' message 'enabled ZdcSecureSocketStream in ZnZodiacNetworkingUtils; added ZnHTTPSTests' id 'b2d2d06d-35c0-47e4-ac92-b9b64c97c7ba' date '18 May 2011' time '2:03:21 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Zodiac-SvenVanCaekenberghe.1' message 'first version of ZnZodiacNetworkingUtils' id '7c8b9797-27c5-4ae2-a522-5e11f0935e8d' date '17 May 2011' time '7:23:55 pm' author 'SvenVanCaekenberghe' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'Zinc-Zodiac-SvenVanCaekenberghe.17' message 'added guards to ZnHTTPSTests>>#testGetPharoVersion so that it is not run when the SSL Plugin is not present' id '18b9b52b-5155-42fe-a207-f3e3c7e21779' date '16 July 2012' time '11:44:06.779 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Zodiac-SvenVanCaekenberghe.16' message 'added ZnHTTSTests>>#testGetPharoVersion' id '692bd74b-599c-4743-a318-1967ebff5fa3' date '13 July 2012' time '1:06:16.878 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Zodiac-MarcusDenker.15' message 'Issue 6248: Update Zodiac to better deal with missing native VM SSL plugin http://code.google.com/p/pharo/issues/detail?id=6248' id '0d77b0bd-db6c-41f4-bc61-fc8c777b58ac' date '4 July 2012' time '1:12:40.742 pm' author 'MarcusDenker' ancestors ((name 'Zinc-Zodiac-SvenVanCaekenberghe.14' message 'changed all tests in ZnHTTPSTests to be skipped when the native VM SSL plugin seems to be missing or not functioning' id 'fac1ef59-945d-4dfd-ab5d-affce993c444' date '4 July 2012' time '11:36:58.374 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Zodiac-SvenVanCaekenberghe.13' message 'added an HTTPS transfer stress test reading odd sized files from Amazon S3 in size between 2 KB and 100 KB checking the full contents to make sure the whole transfer was OK' id 'dcc9a44f-f484-434f-bf7d-c44a1cb9c18e' date '27 June 2012' time '1:57:30.506 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Zodiac-SvenVanCaekenberghe.12' message 'fixed/debugged ZnSecureServer>>#socketStreamOn:' id '3dfc451d-f7ac-4a0b-bca7-b8f98d3c478c' date '13 December 2011' time '9:45 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Zodiac-SvenVanCaekenberghe.11' message 'added skeleton of ZnSecureServer' id '50a444ae-aa6d-4ba7-a984-10f3416e675c' date '13 December 2011' time '1:39:07 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Zodiac-SvenVanCaekenberghe.10' message 'moved most ZnZodiacNetworkingUtils functionality to its parent class ZnNetworkingUtils; the only reason left to use ZnZodiacNetworkingUtils is to force both regular and secure stream to be of the Zodiac kind' id 'b3dd12a9-8542-42da-9f04-57afc7eedd72' date '10 November 2011' time '2:13:02 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Zodiac-SvenVanCaekenberghe.9' message 'tracking the renaming of ZnNeoClient -> ZnClient' id '5fd12c41-3ce5-4e32-a351-5548a8b52a71' date '9 November 2011' time '9:21 am' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Zodiac-SvenVanCaekenberghe.8' message 'make all ZnHTTPSTests use ZnNeoClient directly; added a #close' id '7772a553-4047-4f23-b213-6c9d34a951af' date '4 October 2011' time '4:08:54 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Zodiac-SvenVanCaekenberghe.7' message 'replaces some usage of ZnClient by ZnEasy' id 'bce5ec97-934b-4657-ab84-4974e5b9ad6c' date '16 September 2011' time '9:12:37 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Zodiac-SvenVanCaekenberghe.6' message 'fixed a typo leading to an Undeclared' id 'c6961750-e60d-4cf9-8a42-02fdf02556b7' date '12 September 2011' time '1:36:42 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Zodiac-SvenVanCaekenberghe.5' message 'fixed a typo' id '72e5d446-3a6e-4c6c-ba91-ad92e042dc13' date '22 June 2011' time '9:21:01 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Zodiac-SvenVanCaekenberghe.4' message 'added more HTTPS tests' id 'f40cd81f-e1c4-4d27-b6d6-e452c2d06378' date '18 May 2011' time '4:09:41 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Zodiac-SvenVanCaekenberghe.3' message 'made the tests a bit more robust' id '7205c6ed-0c55-4332-9e03-b87f9135e9e2' date '18 May 2011' time '2:18:56 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Zodiac-SvenVanCaekenberghe.2' message 'enabled ZdcSecureSocketStream in ZnZodiacNetworkingUtils; added ZnHTTPSTests' id 'b2d2d06d-35c0-47e4-ac92-b9b64c97c7ba' date '18 May 2011' time '2:03:21 pm' author 'SvenVanCaekenberghe' ancestors ((name 'Zinc-Zodiac-SvenVanCaekenberghe.1' message 'first version of ZnZodiacNetworkingUtils' id '7c8b9797-27c5-4ae2-a522-5e11f0935e8d' date '17 May 2011' time '7:23:55 pm' author 'SvenVanCaekenberghe' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file