diff --git a/repository/BaselineOfSeaside3.package/BaselineOfSeaside3.class/instance/baselineadaptors..st b/repository/BaselineOfSeaside3.package/BaselineOfSeaside3.class/instance/baselineadaptors..st index 0729c74d0..f6d8e4f17 100644 --- a/repository/BaselineOfSeaside3.package/BaselineOfSeaside3.class/instance/baselineadaptors..st +++ b/repository/BaselineOfSeaside3.package/BaselineOfSeaside3.class/instance/baselineadaptors..st @@ -28,8 +28,8 @@ baselineadaptors: spec repository: 'http://ss3.gemtalksystems.com/ss/WebClient' ]. spec package: 'WebClient-Seaside-Adaptor' - with: [ - spec + with: [ + spec repository: 'http://ss3.gemtalksystems.com/ss/WebClient'; requires: #('WebClient Project' 'Seaside-Core') ]. spec group: 'WebClient' with: #('WebClient-Seaside-Adaptor') ]. @@ -38,14 +38,18 @@ baselineadaptors: spec spec for: #pharo - do: [ spec + do: [ + spec package: 'Seaside-Adaptors-Comanche' with: [ spec requires: #('KomHttpServerLight' 'Seaside-Core') ]; package: 'KomHttpServerLight' with: [ spec repository: 'http://www.smalltalkhub.com/mc/Seaside/KomHttpServer/main' ]; package: 'Seaside-Tests-Adaptors-Comanche' with: [ spec requires: #('Seaside-Adaptors-Comanche') ]; - package: 'Zinc-Seaside' with: [ spec requires: #('Seaside-Core') ]. + package: 'Seaside-Zinc-Core' with: [ spec requires: #('Seaside-Core') ]; + package: 'Seaside-Zinc-Pharo' with: [ spec requires: #('Seaside-Zinc-Core') ]; + package: 'Seaside-Zinc-Tests' with: [ spec requires: #('Seaside-Zinc-Pharo') ]. spec group: 'Kom' with: #('Seaside-Adaptors-Comanche'); - group: 'Zinc' with: #('Zinc-Seaside'); + group: 'Zinc' with: #('Seaside-Zinc-Pharo'); + group: 'Tests' with: #('Seaside-Zinc-Tests'); group: 'default' with: #('Zinc'); group: 'CI' with: #('Zinc') ]. @@ -69,17 +73,19 @@ baselineadaptors: spec repository: 'github://GsDevKit/zinc:gs_master/repository' ]. spec package: 'Seaside-GemStone-GemServer-Core' with: [ spec requires: #('GsApplicationTools' 'Seaside-Core') ]; - package: 'Seaside-GemStone-GemServer-Tests' with: [ spec requires: #('Seaside-GemStone-GemServer-Core' 'Seaside-GemStone-Development' 'Seaside-GemStone-Adaptors-Zinc' 'Seaside-Adaptors-FastCGI') ]; - package: 'Zinc-Seaside' + package: 'Seaside-GemStone-GemServer-Tests' with: [ spec requires: #('Seaside-GemStone-GemServer-Core' 'Seaside-GemStone-Development' 'Seaside-GemStone-Adaptors-Zinc' 'Seaside-Adaptors-FastCGI') ]; + package: 'Seaside-Zinc-Core' with: [ spec requires: #('Zinc Project' 'Seaside-Core'); includes: #('Seaside-GemStone-Adaptors-Zinc') ]; package: 'Seaside-Adaptors-FastCGI' with: [ spec requires: #('Seaside-Core' 'FastCGI Project' 'Seaside-GemStone-GemServer-Core') ]; - package: 'Seaside-GemStone-Adaptors-Zinc' with: [ spec requires: #('Zinc-Seaside' 'Seaside-GemStone-GemServer-Core') ]. + package: 'Seaside-GemStone-Adaptors-Zinc' with: [ spec requires: #('Seaside-Zinc-Core' 'Seaside-GemStone-GemServer-Core') ]; + package: 'Seaside-Zinc-Tests' with: [ spec requires: #('Seaside-Zinc-Core') ]. spec group: 'FastCGI' with: #('Seaside-Adaptors-FastCGI'); - group: 'Tests' with: #('Seaside-GemStone-GemServer-Tests'); - group: 'Zinc' with: #('Zinc-Seaside') ]. + group: 'Tests' with: #('Seaside-GemStone-GemServer-Tests' 'Seaside-Zinc-Tests'); + group: 'Zinc' with: #('Seaside-Zinc-Core') ]. + spec for: #(#'gs3.0.x' #'gs3.1.x' #'gs3.2.x' #'gs3.3.x' #'gs3.4.x' #'gs3.5.x' ) do: [ @@ -87,4 +93,4 @@ baselineadaptors: spec package: 'Seaside-GemStone-GemServer-Tests' with: [ spec includes: #( 'Seaside-GemStone-GemServer-Swazoo-Tests') ]; package: 'Seaside-GemStone-GemServer-Swazoo-Tests' with: [ spec requires: #('Seaside-GemStone-Adaptors-Swazoo') ]; package: 'Seaside-Adaptors-Swazoo' with: [ spec includes: #('Seaside-GemStone-Adaptors-Swazoo') ]; - package: 'Seaside-GemStone-Adaptors-Swazoo' with: [ spec requires: #('Seaside-Adaptors-Swazoo' 'Seaside-GemStone-GemServer-Core') ] ]. \ No newline at end of file + package: 'Seaside-GemStone-Adaptors-Swazoo' with: [ spec requires: #('Seaside-Adaptors-Swazoo' 'Seaside-GemStone-GemServer-Core') ] ] \ No newline at end of file diff --git a/repository/Zinc-Seaside.package/monticello.meta/initializers.st b/repository/Seaside-Core.package/WAAbstractFile.class/README.md similarity index 100% rename from repository/Zinc-Seaside.package/monticello.meta/initializers.st rename to repository/Seaside-Core.package/WAAbstractFile.class/README.md diff --git a/repository/Seaside-Core.package/WAFile.class/instance/contentType..st b/repository/Seaside-Core.package/WAAbstractFile.class/instance/contentType..st similarity index 100% rename from repository/Seaside-Core.package/WAFile.class/instance/contentType..st rename to repository/Seaside-Core.package/WAAbstractFile.class/instance/contentType..st diff --git a/repository/Seaside-Core.package/WAFile.class/instance/contentType.st b/repository/Seaside-Core.package/WAAbstractFile.class/instance/contentType.st similarity index 100% rename from repository/Seaside-Core.package/WAFile.class/instance/contentType.st rename to repository/Seaside-Core.package/WAAbstractFile.class/instance/contentType.st diff --git a/repository/Seaside-Core.package/WAFile.class/instance/fileName..st b/repository/Seaside-Core.package/WAAbstractFile.class/instance/fileName..st similarity index 100% rename from repository/Seaside-Core.package/WAFile.class/instance/fileName..st rename to repository/Seaside-Core.package/WAAbstractFile.class/instance/fileName..st diff --git a/repository/Seaside-Core.package/WAAbstractFile.class/instance/fileName.st b/repository/Seaside-Core.package/WAAbstractFile.class/instance/fileName.st new file mode 100644 index 000000000..4ea9adb2d --- /dev/null +++ b/repository/Seaside-Core.package/WAAbstractFile.class/instance/fileName.st @@ -0,0 +1,3 @@ +accessing +fileName + ^ fileName \ No newline at end of file diff --git a/repository/Seaside-Core.package/WAAbstractFile.class/instance/rawContents.st b/repository/Seaside-Core.package/WAAbstractFile.class/instance/rawContents.st new file mode 100644 index 000000000..9bb1a9f2b --- /dev/null +++ b/repository/Seaside-Core.package/WAAbstractFile.class/instance/rawContents.st @@ -0,0 +1,3 @@ +accessing +rawContents + ^ self subclassResponsibility \ No newline at end of file diff --git a/repository/Seaside-Core.package/WAAbstractFile.class/instance/size.st b/repository/Seaside-Core.package/WAAbstractFile.class/instance/size.st new file mode 100644 index 000000000..3b84c9011 --- /dev/null +++ b/repository/Seaside-Core.package/WAAbstractFile.class/instance/size.st @@ -0,0 +1,3 @@ +accessing +size + ^ self subclassResponsibility \ No newline at end of file diff --git a/repository/Seaside-Core.package/WAAbstractFile.class/properties.json b/repository/Seaside-Core.package/WAAbstractFile.class/properties.json new file mode 100644 index 000000000..3fa1961ae --- /dev/null +++ b/repository/Seaside-Core.package/WAAbstractFile.class/properties.json @@ -0,0 +1,14 @@ +{ + "commentStamp" : "", + "super" : "WAObject", + "category" : "Seaside-Core-HTTP", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ + "contentType", + "fileName" + ], + "name" : "WAAbstractFile", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Seaside-Core.package/WAExternalFile.class/README.md b/repository/Seaside-Core.package/WAExternalFile.class/README.md new file mode 100644 index 000000000..2e1aca22e --- /dev/null +++ b/repository/Seaside-Core.package/WAExternalFile.class/README.md @@ -0,0 +1,7 @@ +I represent a file on a file system. + +I know the name, the location and the MIME type of the file. I am mainly used for representing temporary files from streamed multipart uploads. + +You will probably want to move me from my initial directory (which is probably a temporary directory) to my final destination. E.g. + +externalFile fullyQualifiedFilePath asFileReference moveTo: FileLocator imageDirectory / 'final-destination' \ No newline at end of file diff --git a/repository/Seaside-Core.package/WAExternalFile.class/instance/exists.st b/repository/Seaside-Core.package/WAExternalFile.class/instance/exists.st new file mode 100644 index 000000000..6ad48f871 --- /dev/null +++ b/repository/Seaside-Core.package/WAExternalFile.class/instance/exists.st @@ -0,0 +1,4 @@ +testing +exists + + ^ GRPlatform current fileExists: self fullyQualifiedFilePath \ No newline at end of file diff --git a/repository/Seaside-Core.package/WAExternalFile.class/instance/filePath..st b/repository/Seaside-Core.package/WAExternalFile.class/instance/filePath..st new file mode 100644 index 000000000..e0f816f17 --- /dev/null +++ b/repository/Seaside-Core.package/WAExternalFile.class/instance/filePath..st @@ -0,0 +1,3 @@ +accessing +filePath: aString + filePath := aString \ No newline at end of file diff --git a/repository/Seaside-Core.package/WAExternalFile.class/instance/fullyQualifiedFilePath.st b/repository/Seaside-Core.package/WAExternalFile.class/instance/fullyQualifiedFilePath.st new file mode 100644 index 000000000..f860d816a --- /dev/null +++ b/repository/Seaside-Core.package/WAExternalFile.class/instance/fullyQualifiedFilePath.st @@ -0,0 +1,3 @@ +accessing +fullyQualifiedFilePath + ^ filePath \ No newline at end of file diff --git a/repository/Seaside-Core.package/WAExternalFile.class/instance/rawContents.st b/repository/Seaside-Core.package/WAExternalFile.class/instance/rawContents.st new file mode 100644 index 000000000..363112b4a --- /dev/null +++ b/repository/Seaside-Core.package/WAExternalFile.class/instance/rawContents.st @@ -0,0 +1,3 @@ +accessing +rawContents + ^ GRPlatform current contentsOfFile: filePath binary: true \ No newline at end of file diff --git a/repository/Seaside-Core.package/WAExternalFile.class/instance/size.st b/repository/Seaside-Core.package/WAExternalFile.class/instance/size.st new file mode 100644 index 000000000..34bc4fff5 --- /dev/null +++ b/repository/Seaside-Core.package/WAExternalFile.class/instance/size.st @@ -0,0 +1,5 @@ +accessing +size + ^ self exists + ifTrue: [ GRPlatform current sizeOfFile: self fullyQualifiedFilePath ] + ifFalse: [ 0 ] \ No newline at end of file diff --git a/repository/Seaside-Core.package/WAExternalFile.class/properties.json b/repository/Seaside-Core.package/WAExternalFile.class/properties.json new file mode 100644 index 000000000..4f2122b00 --- /dev/null +++ b/repository/Seaside-Core.package/WAExternalFile.class/properties.json @@ -0,0 +1,13 @@ +{ + "commentStamp" : "mml 07/23/2019 09:57", + "super" : "WAAbstractFile", + "category" : "Seaside-Core-HTTP", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ + "filePath" + ], + "name" : "WAExternalFile", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Seaside-Core.package/WAFile.class/properties.json b/repository/Seaside-Core.package/WAFile.class/properties.json index e8855df52..31e52db9e 100644 --- a/repository/Seaside-Core.package/WAFile.class/properties.json +++ b/repository/Seaside-Core.package/WAFile.class/properties.json @@ -1,14 +1,12 @@ { "commentStamp" : "pmm 5/31/2008 23:54", - "super" : "WAObject", + "super" : "WAAbstractFile", "category" : "Seaside-Core-HTTP", "classinstvars" : [ ], "pools" : [ ], "classvars" : [ ], "instvars" : [ - "contents", - "contentType", - "fileName" + "contents" ], "name" : "WAFile", "type" : "normal" diff --git a/repository/Seaside-Core.package/WAResponse.class/instance/writeStatusOn..st b/repository/Seaside-Core.package/WAResponse.class/instance/writeStatusOn..st index 1b094f358..ea794a29c 100644 --- a/repository/Seaside-Core.package/WAResponse.class/instance/writeStatusOn..st +++ b/repository/Seaside-Core.package/WAResponse.class/instance/writeStatusOn..st @@ -2,10 +2,10 @@ writing writeStatusOn: aStream aStream nextPutAll: self httpVersion. aStream - nextPut: $ ; + space; nextPutAll: self status greaseString. self message isNil ifFalse: [ aStream - nextPut: $ ; + space; nextPutAll: self message ]. aStream crlf \ No newline at end of file diff --git a/repository/Seaside-Core.package/WAUploadCallback.class/instance/valueForField..st b/repository/Seaside-Core.package/WAUploadCallback.class/instance/valueForField..st index d74241d77..852b15608 100644 --- a/repository/Seaside-Core.package/WAUploadCallback.class/instance/valueForField..st +++ b/repository/Seaside-Core.package/WAUploadCallback.class/instance/valueForField..st @@ -1,3 +1,3 @@ converting valueForField: anObject - ^ (anObject isKindOf: WAFile) ifTrue: [ anObject ] \ No newline at end of file + ^ (anObject isKindOf: WAAbstractFile) ifTrue: [ anObject ] \ No newline at end of file diff --git a/repository/Seaside-Pharo-Core.package/WAExternalFile.extension/instance/fileReference.st b/repository/Seaside-Pharo-Core.package/WAExternalFile.extension/instance/fileReference.st new file mode 100644 index 000000000..4f4b4c022 --- /dev/null +++ b/repository/Seaside-Pharo-Core.package/WAExternalFile.extension/instance/fileReference.st @@ -0,0 +1,3 @@ +*Seaside-Pharo-Core +fileReference + ^ self fullyQualifiedFilePath asFileReference \ No newline at end of file diff --git a/repository/Seaside-Pharo-Core.package/WAExternalFile.extension/properties.json b/repository/Seaside-Pharo-Core.package/WAExternalFile.extension/properties.json new file mode 100644 index 000000000..e598e487b --- /dev/null +++ b/repository/Seaside-Pharo-Core.package/WAExternalFile.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "WAExternalFile" +} \ No newline at end of file diff --git a/repository/Zinc-Seaside.package/.filetree b/repository/Seaside-Zinc-Core.package/.filetree similarity index 100% rename from repository/Zinc-Seaside.package/.filetree rename to repository/Seaside-Zinc-Core.package/.filetree diff --git a/repository/Seaside-Zinc-Core.package/GRPlatform.extension/instance/ringBufferClass.st b/repository/Seaside-Zinc-Core.package/GRPlatform.extension/instance/ringBufferClass.st new file mode 100644 index 000000000..a548a1d63 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/GRPlatform.extension/instance/ringBufferClass.st @@ -0,0 +1,4 @@ +*Seaside-Zinc-Core +ringBufferClass + + ^ ZnRingBuffer \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/GRPlatform.extension/properties.json b/repository/Seaside-Zinc-Core.package/GRPlatform.extension/properties.json new file mode 100644 index 000000000..b9c3efa28 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/GRPlatform.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "GRPlatform" +} \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZdcAbstractSocketStream.extension/instance/crlf.st b/repository/Seaside-Zinc-Core.package/ZdcAbstractSocketStream.extension/instance/crlf.st new file mode 100644 index 000000000..f8d693ea1 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZdcAbstractSocketStream.extension/instance/crlf.st @@ -0,0 +1,3 @@ +*Seaside-Zinc-Core +crlf + self nextPutAll: String crlf \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZdcAbstractSocketStream.extension/instance/space.st b/repository/Seaside-Zinc-Core.package/ZdcAbstractSocketStream.extension/instance/space.st new file mode 100644 index 000000000..6824d6f40 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZdcAbstractSocketStream.extension/instance/space.st @@ -0,0 +1,3 @@ +*Seaside-Zinc-Core +space + self nextPut: Character space asciiValue \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZdcAbstractSocketStream.extension/properties.json b/repository/Seaside-Zinc-Core.package/ZdcAbstractSocketStream.extension/properties.json new file mode 100644 index 000000000..622252fc6 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZdcAbstractSocketStream.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "ZdcAbstractSocketStream" +} \ No newline at end of file diff --git a/repository/Zinc-Seaside.package/ZnDeferredResponse.class/README.md b/repository/Seaside-Zinc-Core.package/ZnDeferredResponse.class/README.md similarity index 100% rename from repository/Zinc-Seaside.package/ZnDeferredResponse.class/README.md rename to repository/Seaside-Zinc-Core.package/ZnDeferredResponse.class/README.md diff --git a/repository/Zinc-Seaside.package/ZnDeferredResponse.class/class/onWrite..st b/repository/Seaside-Zinc-Core.package/ZnDeferredResponse.class/class/onWrite..st similarity index 100% rename from repository/Zinc-Seaside.package/ZnDeferredResponse.class/class/onWrite..st rename to repository/Seaside-Zinc-Core.package/ZnDeferredResponse.class/class/onWrite..st diff --git a/repository/Zinc-Seaside.package/ZnDeferredResponse.class/instance/onWrite..st b/repository/Seaside-Zinc-Core.package/ZnDeferredResponse.class/instance/onWrite..st similarity index 100% rename from repository/Zinc-Seaside.package/ZnDeferredResponse.class/instance/onWrite..st rename to repository/Seaside-Zinc-Core.package/ZnDeferredResponse.class/instance/onWrite..st diff --git a/repository/Zinc-Seaside.package/ZnDeferredResponse.class/instance/writeOn..st b/repository/Seaside-Zinc-Core.package/ZnDeferredResponse.class/instance/writeOn..st similarity index 100% rename from repository/Zinc-Seaside.package/ZnDeferredResponse.class/instance/writeOn..st rename to repository/Seaside-Zinc-Core.package/ZnDeferredResponse.class/instance/writeOn..st diff --git a/repository/Zinc-Seaside.package/ZnDeferredResponse.class/properties.json b/repository/Seaside-Zinc-Core.package/ZnDeferredResponse.class/properties.json similarity index 85% rename from repository/Zinc-Seaside.package/ZnDeferredResponse.class/properties.json rename to repository/Seaside-Zinc-Core.package/ZnDeferredResponse.class/properties.json index e6bc10fe9..670c41863 100644 --- a/repository/Zinc-Seaside.package/ZnDeferredResponse.class/properties.json +++ b/repository/Seaside-Zinc-Core.package/ZnDeferredResponse.class/properties.json @@ -1,7 +1,7 @@ { "commentStamp" : "", "super" : "ZnResponse", - "category" : "Zinc-Seaside", + "category" : "Seaside-Zinc-Core", "classinstvars" : [ ], "pools" : [ ], "classvars" : [ ], diff --git a/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/README.md b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/README.md new file mode 100644 index 000000000..2176f81da --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/README.md @@ -0,0 +1,15 @@ +I am an implementation of a ring buffer, i.e. a buffer where the start index can be moved along a virtual ring. + +I buffer a fixed amount of data and provide array like access to it. + +Users use me mostly like an array. My only interesting method is #moveStartTo:, which moves the start index of the +buffer to the specified position. Example: + +buffer + at: 1 put: 1; + at: 2 put: 2; + at: 1. "----> 1" + +buffer + moveStartTo: 2; + at: 1 "----> 2" \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/class/new..st b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/class/new..st new file mode 100644 index 000000000..a1f8df872 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/class/new..st @@ -0,0 +1,6 @@ +instance creation +new: aInteger + ^ self basicNew + initialize: aInteger; + initialize; + yourself \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/class/new.st b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/class/new.st new file mode 100644 index 000000000..814a6c764 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/class/new.st @@ -0,0 +1,3 @@ +instance creation +new + ZnRingBufferIllegalUse signal: 'Use #new and specify an explicit size' \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/class/on..st b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/class/on..st new file mode 100644 index 000000000..2f5135d96 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/class/on..st @@ -0,0 +1,6 @@ +instance creation +on: aCollection + ^ self basicNew + initializeWithCollection: aCollection; + initialize; + yourself \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/^equals.st b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/^equals.st new file mode 100644 index 000000000..1658f6272 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/^equals.st @@ -0,0 +1,8 @@ +comparing += aCollection + 1 + to: self size + do: [ :index | + (self at: index) ~= (aCollection at: index) ifTrue: [ ^ false ] ]. + + ^ true \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/at..st b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/at..st new file mode 100644 index 000000000..750f386e7 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/at..st @@ -0,0 +1,7 @@ +accessing +at: anInteger + + | wrappedPosition | + self checkBoundsFor: anInteger. + wrappedPosition := ((anInteger + offset - 1) rem: buffer size) + 1. + ^ buffer at: wrappedPosition \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/at.put..st b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/at.put..st new file mode 100644 index 000000000..7ff0d7afb --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/at.put..st @@ -0,0 +1,9 @@ +accessing +at: anInteger put: anObject + + | wrappedPosition | + self checkBoundsFor: anInteger. + wrappedPosition := ((anInteger + offset - 1) rem: buffer size) + 1. + buffer + at: wrappedPosition + put: anObject \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/checkBoundsFor..st b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/checkBoundsFor..st new file mode 100644 index 000000000..e4284b38e --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/checkBoundsFor..st @@ -0,0 +1,6 @@ +private +checkBoundsFor: anInteger + (anInteger < 1 or: [ + anInteger > self size ]) ifFalse: [ ^ self ]. + + ZnRingBufferIllegalAccess signal \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/copyFrom.to..st b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/copyFrom.to..st new file mode 100644 index 000000000..52672c5d1 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/copyFrom.to..st @@ -0,0 +1,19 @@ +accessing +copyFrom: start to: stop + | copy endIndex copySize | + copySize := stop - start + 1. + copy := buffer species new: copySize. + endIndex := copySize min: self size - start - offset + 1. + copy + replaceFrom: 1 + to: endIndex + with: buffer + startingAt: start + offset. + + stop + offset > self size ifFalse: [ ^ copy ]. + + ^ copy + replaceFrom: endIndex + 1 + to: copySize + with: buffer + startingAt: 1 \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/do..st b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/do..st new file mode 100644 index 000000000..741f9a2d8 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/do..st @@ -0,0 +1,6 @@ +enumerating +do: aBlock + 1 + to: self size + do: [ :index | + aBlock value: (self at: index) ] diff --git a/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/hash.st b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/hash.st new file mode 100644 index 000000000..5fd18ae66 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/hash.st @@ -0,0 +1,9 @@ +comparing +hash + "Copy of SequenceableCollection>>hash" + | hash | + hash := self species hash. + 1 + to: self size + do: [ :i | hash := (hash + (self at: i) hash) hashMultiply ]. + ^ hash \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/indexOf.ifAbsent..st b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/indexOf.ifAbsent..st new file mode 100644 index 000000000..cbd962990 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/indexOf.ifAbsent..st @@ -0,0 +1,10 @@ +accessing +indexOf: anElement ifAbsent: exceptionBlock + | index | + index := buffer + indexOf: anElement + ifAbsent: [ ^ exceptionBlock value ]. + + ^ index > offset + ifTrue: [ index - offset ] + ifFalse: [ self size - offset + index ] \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/initialize..st b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/initialize..st new file mode 100644 index 000000000..95df117dc --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/initialize..st @@ -0,0 +1,3 @@ +initialization +initialize: anInteger + self initializeWithCollection: (Array new: anInteger) \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/initialize.st b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/initialize.st new file mode 100644 index 000000000..b26430a1d --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/initialize.st @@ -0,0 +1,5 @@ +initialization +initialize + super initialize. + + offset := 0 \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/initializeWithCollection..st b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/initializeWithCollection..st new file mode 100644 index 000000000..71b33bc7b --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/initializeWithCollection..st @@ -0,0 +1,4 @@ +initialization +initializeWithCollection: aCollection + buffer := aCollection. + offset := 0 \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/moveStartTo..st b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/moveStartTo..st new file mode 100644 index 000000000..f3b240141 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/moveStartTo..st @@ -0,0 +1,5 @@ +operations +moveStartTo: anInteger + self checkBoundsFor: anInteger. + + offset := (offset + anInteger - 1) \\ self size \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/printOn..st b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/printOn..st new file mode 100644 index 000000000..a926e4e41 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/printOn..st @@ -0,0 +1,9 @@ +printing +printOn: aStream + super printOn: aStream. + + aStream nextPut: $(. + (self + copyFrom: 1 + to: self size) printOn: aStream. + aStream nextPut: $) \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/replaceFrom.to.with.startingAt..st b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/replaceFrom.to.with.startingAt..st new file mode 100644 index 000000000..b9d8a0ce8 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/replaceFrom.to.with.startingAt..st @@ -0,0 +1,19 @@ +accessing +replaceFrom: start to: stop with: replacement startingAt: repStart + | startIndex endIndex | + startIndex := start + offset. + endIndex := stop + offset min: self size. + startIndex > self size ifFalse: [ + buffer + replaceFrom: startIndex + to: endIndex + with: replacement + startingAt: repStart ]. + + stop + offset > self size ifFalse: [ ^ self ]. + + buffer + replaceFrom: 1 + to: (stop + offset) \\ self size + with: replacement + startingAt: repStart + endIndex - startIndex + 1 \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/size.st b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/size.st new file mode 100644 index 000000000..6a48eba3f --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/instance/size.st @@ -0,0 +1,3 @@ +accessing +size + ^ buffer size \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/properties.json b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/properties.json new file mode 100644 index 000000000..ccb68f803 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnRingBuffer.class/properties.json @@ -0,0 +1,14 @@ +{ + "commentStamp" : "mml 07/26/2019 15:33", + "super" : "Object", + "category" : "Seaside-Zinc-Core", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ + "buffer", + "offset" + ], + "name" : "ZnRingBuffer", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnRingBufferError.class/README.md b/repository/Seaside-Zinc-Core.package/ZnRingBufferError.class/README.md new file mode 100644 index 000000000..19e71b79b --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnRingBufferError.class/README.md @@ -0,0 +1 @@ +I am the abstract super class of all ring buffer errors. \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnRingBufferError.class/properties.json b/repository/Seaside-Zinc-Core.package/ZnRingBufferError.class/properties.json new file mode 100644 index 000000000..2f4fbaa0f --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnRingBufferError.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "mml 07/26/2019 15:24", + "super" : "Error", + "category" : "Seaside-Zinc-Core", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "ZnRingBufferError", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnRingBufferIllegalAccess.class/README.md b/repository/Seaside-Zinc-Core.package/ZnRingBufferIllegalAccess.class/README.md new file mode 100644 index 000000000..b5fcfece6 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnRingBufferIllegalAccess.class/README.md @@ -0,0 +1 @@ +I represent any error that is due to the use out of bounds indices when accessing the ring buffer. \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnRingBufferIllegalAccess.class/properties.json b/repository/Seaside-Zinc-Core.package/ZnRingBufferIllegalAccess.class/properties.json new file mode 100644 index 000000000..171d092b8 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnRingBufferIllegalAccess.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "mml 07/26/2019 15:25", + "super" : "ZnRingBufferError", + "category" : "Seaside-Zinc-Core", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "ZnRingBufferIllegalAccess", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnRingBufferIllegalUse.class/README.md b/repository/Seaside-Zinc-Core.package/ZnRingBufferIllegalUse.class/README.md new file mode 100644 index 000000000..01b63674c --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnRingBufferIllegalUse.class/README.md @@ -0,0 +1 @@ +I represent illegal use of ring buffer methods. \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnRingBufferIllegalUse.class/properties.json b/repository/Seaside-Zinc-Core.package/ZnRingBufferIllegalUse.class/properties.json new file mode 100644 index 000000000..48d2bb1aa --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnRingBufferIllegalUse.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "mml 07/26/2019 15:26", + "super" : "ZnRingBufferError", + "category" : "Seaside-Zinc-Core", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "ZnRingBufferIllegalUse", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Zinc-Seaside.package/ZnSeasideRequest.class/README.md b/repository/Seaside-Zinc-Core.package/ZnSeasideRequest.class/README.md similarity index 100% rename from repository/Zinc-Seaside.package/ZnSeasideRequest.class/README.md rename to repository/Seaside-Zinc-Core.package/ZnSeasideRequest.class/README.md diff --git a/repository/Zinc-Seaside.package/ZnSeasideRequest.class/class/nativeRequest.stream..st b/repository/Seaside-Zinc-Core.package/ZnSeasideRequest.class/class/nativeRequest.stream..st similarity index 100% rename from repository/Zinc-Seaside.package/ZnSeasideRequest.class/class/nativeRequest.stream..st rename to repository/Seaside-Zinc-Core.package/ZnSeasideRequest.class/class/nativeRequest.stream..st diff --git a/repository/Zinc-Seaside.package/ZnSeasideRequest.class/instance/nativeRequest..st b/repository/Seaside-Zinc-Core.package/ZnSeasideRequest.class/instance/nativeRequest..st similarity index 100% rename from repository/Zinc-Seaside.package/ZnSeasideRequest.class/instance/nativeRequest..st rename to repository/Seaside-Zinc-Core.package/ZnSeasideRequest.class/instance/nativeRequest..st diff --git a/repository/Zinc-Seaside.package/ZnSeasideRequest.class/instance/nativeRequest.st b/repository/Seaside-Zinc-Core.package/ZnSeasideRequest.class/instance/nativeRequest.st similarity index 100% rename from repository/Zinc-Seaside.package/ZnSeasideRequest.class/instance/nativeRequest.st rename to repository/Seaside-Zinc-Core.package/ZnSeasideRequest.class/instance/nativeRequest.st diff --git a/repository/Zinc-Seaside.package/ZnSeasideRequest.class/instance/stream..st b/repository/Seaside-Zinc-Core.package/ZnSeasideRequest.class/instance/stream..st similarity index 100% rename from repository/Zinc-Seaside.package/ZnSeasideRequest.class/instance/stream..st rename to repository/Seaside-Zinc-Core.package/ZnSeasideRequest.class/instance/stream..st diff --git a/repository/Zinc-Seaside.package/ZnSeasideRequest.class/instance/stream.st b/repository/Seaside-Zinc-Core.package/ZnSeasideRequest.class/instance/stream.st similarity index 100% rename from repository/Zinc-Seaside.package/ZnSeasideRequest.class/instance/stream.st rename to repository/Seaside-Zinc-Core.package/ZnSeasideRequest.class/instance/stream.st diff --git a/repository/Zinc-Seaside.package/ZnSeasideRequest.class/properties.json b/repository/Seaside-Zinc-Core.package/ZnSeasideRequest.class/properties.json similarity index 86% rename from repository/Zinc-Seaside.package/ZnSeasideRequest.class/properties.json rename to repository/Seaside-Zinc-Core.package/ZnSeasideRequest.class/properties.json index 00d21fce2..c0aa3c737 100644 --- a/repository/Zinc-Seaside.package/ZnSeasideRequest.class/properties.json +++ b/repository/Seaside-Zinc-Core.package/ZnSeasideRequest.class/properties.json @@ -1,7 +1,7 @@ { "commentStamp" : "", "super" : "Object", - "category" : "Zinc-Seaside", + "category" : "Seaside-Zinc-Core", "classinstvars" : [ ], "pools" : [ ], "classvars" : [ ], diff --git a/repository/Zinc-Seaside.package/ZnSeasideServerAdaptorDelegate.class/README.md b/repository/Seaside-Zinc-Core.package/ZnSeasideServerAdaptorDelegate.class/README.md similarity index 100% rename from repository/Zinc-Seaside.package/ZnSeasideServerAdaptorDelegate.class/README.md rename to repository/Seaside-Zinc-Core.package/ZnSeasideServerAdaptorDelegate.class/README.md diff --git a/repository/Zinc-Seaside.package/ZnSeasideServerAdaptorDelegate.class/class/forServer..st b/repository/Seaside-Zinc-Core.package/ZnSeasideServerAdaptorDelegate.class/class/forServer..st similarity index 100% rename from repository/Zinc-Seaside.package/ZnSeasideServerAdaptorDelegate.class/class/forServer..st rename to repository/Seaside-Zinc-Core.package/ZnSeasideServerAdaptorDelegate.class/class/forServer..st diff --git a/repository/Zinc-Seaside.package/ZnSeasideServerAdaptorDelegate.class/class/installInDefaultServer.st b/repository/Seaside-Zinc-Core.package/ZnSeasideServerAdaptorDelegate.class/class/installInDefaultServer.st similarity index 100% rename from repository/Zinc-Seaside.package/ZnSeasideServerAdaptorDelegate.class/class/installInDefaultServer.st rename to repository/Seaside-Zinc-Core.package/ZnSeasideServerAdaptorDelegate.class/class/installInDefaultServer.st diff --git a/repository/Zinc-Seaside.package/ZnSeasideServerAdaptorDelegate.class/class/installInServer..st b/repository/Seaside-Zinc-Core.package/ZnSeasideServerAdaptorDelegate.class/class/installInServer..st similarity index 100% rename from repository/Zinc-Seaside.package/ZnSeasideServerAdaptorDelegate.class/class/installInServer..st rename to repository/Seaside-Zinc-Core.package/ZnSeasideServerAdaptorDelegate.class/class/installInServer..st diff --git a/repository/Zinc-Seaside.package/ZnSeasideServerAdaptorDelegate.class/class/installInServer.underPrefix..st b/repository/Seaside-Zinc-Core.package/ZnSeasideServerAdaptorDelegate.class/class/installInServer.underPrefix..st similarity index 100% rename from repository/Zinc-Seaside.package/ZnSeasideServerAdaptorDelegate.class/class/installInServer.underPrefix..st rename to repository/Seaside-Zinc-Core.package/ZnSeasideServerAdaptorDelegate.class/class/installInServer.underPrefix..st diff --git a/repository/Zinc-Seaside.package/ZnSeasideServerAdaptorDelegate.class/class/with..st b/repository/Seaside-Zinc-Core.package/ZnSeasideServerAdaptorDelegate.class/class/with..st similarity index 100% rename from repository/Zinc-Seaside.package/ZnSeasideServerAdaptorDelegate.class/class/with..st rename to repository/Seaside-Zinc-Core.package/ZnSeasideServerAdaptorDelegate.class/class/with..st diff --git a/repository/Zinc-Seaside.package/ZnSeasideServerAdaptorDelegate.class/instance/adaptor..st b/repository/Seaside-Zinc-Core.package/ZnSeasideServerAdaptorDelegate.class/instance/adaptor..st similarity index 100% rename from repository/Zinc-Seaside.package/ZnSeasideServerAdaptorDelegate.class/instance/adaptor..st rename to repository/Seaside-Zinc-Core.package/ZnSeasideServerAdaptorDelegate.class/instance/adaptor..st diff --git a/repository/Zinc-Seaside.package/ZnSeasideServerAdaptorDelegate.class/instance/adaptor.st b/repository/Seaside-Zinc-Core.package/ZnSeasideServerAdaptorDelegate.class/instance/adaptor.st similarity index 100% rename from repository/Zinc-Seaside.package/ZnSeasideServerAdaptorDelegate.class/instance/adaptor.st rename to repository/Seaside-Zinc-Core.package/ZnSeasideServerAdaptorDelegate.class/instance/adaptor.st diff --git a/repository/Zinc-Seaside.package/ZnSeasideServerAdaptorDelegate.class/instance/handleRequest..st b/repository/Seaside-Zinc-Core.package/ZnSeasideServerAdaptorDelegate.class/instance/handleRequest..st similarity index 100% rename from repository/Zinc-Seaside.package/ZnSeasideServerAdaptorDelegate.class/instance/handleRequest..st rename to repository/Seaside-Zinc-Core.package/ZnSeasideServerAdaptorDelegate.class/instance/handleRequest..st diff --git a/repository/Zinc-Seaside.package/ZnSeasideServerAdaptorDelegate.class/instance/handleRequest.gemServer..st b/repository/Seaside-Zinc-Core.package/ZnSeasideServerAdaptorDelegate.class/instance/handleRequest.gemServer..st similarity index 100% rename from repository/Zinc-Seaside.package/ZnSeasideServerAdaptorDelegate.class/instance/handleRequest.gemServer..st rename to repository/Seaside-Zinc-Core.package/ZnSeasideServerAdaptorDelegate.class/instance/handleRequest.gemServer..st diff --git a/repository/Zinc-Seaside.package/ZnSeasideServerAdaptorDelegate.class/instance/value..st b/repository/Seaside-Zinc-Core.package/ZnSeasideServerAdaptorDelegate.class/instance/value..st similarity index 100% rename from repository/Zinc-Seaside.package/ZnSeasideServerAdaptorDelegate.class/instance/value..st rename to repository/Seaside-Zinc-Core.package/ZnSeasideServerAdaptorDelegate.class/instance/value..st diff --git a/repository/Zinc-Seaside.package/ZnSeasideServerAdaptorDelegate.class/properties.json b/repository/Seaside-Zinc-Core.package/ZnSeasideServerAdaptorDelegate.class/properties.json similarity index 87% rename from repository/Zinc-Seaside.package/ZnSeasideServerAdaptorDelegate.class/properties.json rename to repository/Seaside-Zinc-Core.package/ZnSeasideServerAdaptorDelegate.class/properties.json index a0cafeda9..52446bf38 100644 --- a/repository/Zinc-Seaside.package/ZnSeasideServerAdaptorDelegate.class/properties.json +++ b/repository/Seaside-Zinc-Core.package/ZnSeasideServerAdaptorDelegate.class/properties.json @@ -1,7 +1,7 @@ { "commentStamp" : "SvenVanCaekenberghe 9/30/2010 18:13", "super" : "Object", - "category" : "Zinc-Seaside", + "category" : "Seaside-Zinc-Core", "classinstvars" : [ ], "pools" : [ ], "classvars" : [ ], diff --git a/repository/Zinc-Seaside.package/ZnSeasideStaticServerAdaptorDelegate.class/README.md b/repository/Seaside-Zinc-Core.package/ZnSeasideStaticServerAdaptorDelegate.class/README.md similarity index 100% rename from repository/Zinc-Seaside.package/ZnSeasideStaticServerAdaptorDelegate.class/README.md rename to repository/Seaside-Zinc-Core.package/ZnSeasideStaticServerAdaptorDelegate.class/README.md diff --git a/repository/Zinc-Seaside.package/ZnSeasideStaticServerAdaptorDelegate.class/instance/handleRequest..st b/repository/Seaside-Zinc-Core.package/ZnSeasideStaticServerAdaptorDelegate.class/instance/handleRequest..st similarity index 100% rename from repository/Zinc-Seaside.package/ZnSeasideStaticServerAdaptorDelegate.class/instance/handleRequest..st rename to repository/Seaside-Zinc-Core.package/ZnSeasideStaticServerAdaptorDelegate.class/instance/handleRequest..st diff --git a/repository/Zinc-Seaside.package/ZnSeasideStaticServerAdaptorDelegate.class/instance/initializeStaticDelegate.st b/repository/Seaside-Zinc-Core.package/ZnSeasideStaticServerAdaptorDelegate.class/instance/initializeStaticDelegate.st similarity index 100% rename from repository/Zinc-Seaside.package/ZnSeasideStaticServerAdaptorDelegate.class/instance/initializeStaticDelegate.st rename to repository/Seaside-Zinc-Core.package/ZnSeasideStaticServerAdaptorDelegate.class/instance/initializeStaticDelegate.st diff --git a/repository/Zinc-Seaside.package/ZnSeasideStaticServerAdaptorDelegate.class/instance/serveFilesFrom..st b/repository/Seaside-Zinc-Core.package/ZnSeasideStaticServerAdaptorDelegate.class/instance/serveFilesFrom..st similarity index 100% rename from repository/Zinc-Seaside.package/ZnSeasideStaticServerAdaptorDelegate.class/instance/serveFilesFrom..st rename to repository/Seaside-Zinc-Core.package/ZnSeasideStaticServerAdaptorDelegate.class/instance/serveFilesFrom..st diff --git a/repository/Zinc-Seaside.package/ZnSeasideStaticServerAdaptorDelegate.class/instance/staticDelegate.st b/repository/Seaside-Zinc-Core.package/ZnSeasideStaticServerAdaptorDelegate.class/instance/staticDelegate.st similarity index 100% rename from repository/Zinc-Seaside.package/ZnSeasideStaticServerAdaptorDelegate.class/instance/staticDelegate.st rename to repository/Seaside-Zinc-Core.package/ZnSeasideStaticServerAdaptorDelegate.class/instance/staticDelegate.st diff --git a/repository/Zinc-Seaside.package/ZnSeasideStaticServerAdaptorDelegate.class/instance/wwwRootDirectory..st b/repository/Seaside-Zinc-Core.package/ZnSeasideStaticServerAdaptorDelegate.class/instance/wwwRootDirectory..st similarity index 100% rename from repository/Zinc-Seaside.package/ZnSeasideStaticServerAdaptorDelegate.class/instance/wwwRootDirectory..st rename to repository/Seaside-Zinc-Core.package/ZnSeasideStaticServerAdaptorDelegate.class/instance/wwwRootDirectory..st diff --git a/repository/Zinc-Seaside.package/ZnSeasideStaticServerAdaptorDelegate.class/instance/wwwRootDirectory.st b/repository/Seaside-Zinc-Core.package/ZnSeasideStaticServerAdaptorDelegate.class/instance/wwwRootDirectory.st similarity index 100% rename from repository/Zinc-Seaside.package/ZnSeasideStaticServerAdaptorDelegate.class/instance/wwwRootDirectory.st rename to repository/Seaside-Zinc-Core.package/ZnSeasideStaticServerAdaptorDelegate.class/instance/wwwRootDirectory.st diff --git a/repository/Zinc-Seaside.package/ZnSeasideStaticServerAdaptorDelegate.class/properties.json b/repository/Seaside-Zinc-Core.package/ZnSeasideStaticServerAdaptorDelegate.class/properties.json similarity index 88% rename from repository/Zinc-Seaside.package/ZnSeasideStaticServerAdaptorDelegate.class/properties.json rename to repository/Seaside-Zinc-Core.package/ZnSeasideStaticServerAdaptorDelegate.class/properties.json index b3043aa59..f016f8a38 100644 --- a/repository/Zinc-Seaside.package/ZnSeasideStaticServerAdaptorDelegate.class/properties.json +++ b/repository/Seaside-Zinc-Core.package/ZnSeasideStaticServerAdaptorDelegate.class/properties.json @@ -1,7 +1,7 @@ { "commentStamp" : "", "super" : "ZnSeasideServerAdaptorDelegate", - "category" : "Zinc-Seaside", + "category" : "Seaside-Zinc-Core", "classinstvars" : [ ], "pools" : [ ], "classvars" : [ ], diff --git a/repository/Seaside-Zinc-Core.package/ZnServer.extension/instance/streamUploads..st b/repository/Seaside-Zinc-Core.package/ZnServer.extension/instance/streamUploads..st new file mode 100644 index 000000000..7e4d45098 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnServer.extension/instance/streamUploads..st @@ -0,0 +1,5 @@ +*Seaside-Zinc-Core +streamUploads: aBoolean + ^ self + optionAt: #streamUploads + put: aBoolean \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnServer.extension/instance/streamUploads.st b/repository/Seaside-Zinc-Core.package/ZnServer.extension/instance/streamUploads.st new file mode 100644 index 000000000..659204f61 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnServer.extension/instance/streamUploads.st @@ -0,0 +1,5 @@ +*Seaside-Zinc-Core +streamUploads + ^ self + optionAt: #streamUploads + ifAbsent: [ false ] \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnServer.extension/properties.json b/repository/Seaside-Zinc-Core.package/ZnServer.extension/properties.json new file mode 100644 index 000000000..1f51b1ea9 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnServer.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "ZnServer" +} \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnStreamingMultiPartFormDataEntity.class/README.md b/repository/Seaside-Zinc-Core.package/ZnStreamingMultiPartFormDataEntity.class/README.md new file mode 100644 index 000000000..b8cdf930b --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnStreamingMultiPartFormDataEntity.class/README.md @@ -0,0 +1,3 @@ +I implement chunked reading of multipart/form-data requests. I use a ZnRingBuffer to reduce the number of operations and the amount of memory consumed during this. + +I handle file parts by writing them to temporary files on disk in chunks, thus preventing the image from exhausting memory resources. \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnStreamingMultiPartFormDataEntity.class/instance/parseMultiPartFieldWithMimePart.decodeWith..st b/repository/Seaside-Zinc-Core.package/ZnStreamingMultiPartFormDataEntity.class/instance/parseMultiPartFieldWithMimePart.decodeWith..st new file mode 100644 index 000000000..6faf4fd2c --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnStreamingMultiPartFormDataEntity.class/instance/parseMultiPartFieldWithMimePart.decodeWith..st @@ -0,0 +1,10 @@ +private +parseMultiPartFieldWithMimePart: aMimePart decodeWith: aBlock + | reader | + reader := (aMimePart entityReaderOn: stream) + binary; + streaming; + yourself. + aMimePart entity: reader readEntity. + + aBlock value: aMimePart \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnStreamingMultiPartFormDataEntity.class/instance/parseMultiPartFieldWithoutLengthWithBoundary.writeOn..st b/repository/Seaside-Zinc-Core.package/ZnStreamingMultiPartFormDataEntity.class/instance/parseMultiPartFieldWithoutLengthWithBoundary.writeOn..st new file mode 100644 index 000000000..775ee58e4 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnStreamingMultiPartFormDataEntity.class/instance/parseMultiPartFieldWithoutLengthWithBoundary.writeOn..st @@ -0,0 +1,53 @@ +private +parseMultiPartFieldWithoutLengthWithBoundary: aBoundary writeOn: writer + + | bufferSize rawBuffer buffer boundaryMarker | + "Can't simply use a larger buffer as we don't want to read past a boundary, those bytes will belong to the next part" + bufferSize := aBoundary size. + rawBuffer := ByteArray new: bufferSize. + buffer := GRPlatform current ringBufferClass on: rawBuffer. + boundaryMarker := aBoundary first. + + stream atEnd ifFalse: [ + "#next:into: answers a copy of the buffer if not enough bytes could be read. + Use rawBuffer here so we can use the primitive to replace the bytes in the buffer directly" + stream next: bufferSize into: rawBuffer ]. + + [ + (buffer indexOf: boundaryMarker ifAbsent: [ nil ]) + ifNotNil: [ :boundaryCandidateIndex | + (boundaryCandidateIndex = 1 and: [ buffer = aBoundary ]) + ifTrue: [ "Found a boundary. We're done" true ] + ifFalse: [ + | candidateIndex | + candidateIndex := boundaryCandidateIndex = 1 + ifTrue: [ 2 ] + ifFalse: [ boundaryCandidateIndex ]. + "Write all the bytes that we know are not part of a boundary" + 1 to: candidateIndex - 1 do: [ :index | + writer nextPut: (buffer at: index) ]. + "Move the rest of the buffer to the beginning of the buffer" + buffer moveStartTo: candidateIndex. + "Fill the rest of the buffer. + Use rawBuffer here so we can use the primitive to replace the bytes in the + buffer directly" + rawBuffer := buffer copyFrom: 1 to: bufferSize. + stream + next: candidateIndex - 1 + into: rawBuffer + startingAt: bufferSize - candidateIndex + 2. + buffer initializeWithCollection: rawBuffer. + "If the candidate was really the first token of the boundary + then we now have loaded the full boundary into the buffer. + If not we have to check for the next boundary candidate as + we might have loaded the next boundary partially." + buffer = aBoundary ] ] + ifNil: [ + writer nextPutAll: buffer. + stream atEnd + ifFalse: [ "#next:into: answers a copy of the buffer if not enough bytes could be read""Use rawBuffer here so we can use the primitive to replace the bytes in the + buffer directly" + stream next: bufferSize into: rawBuffer. + buffer moveStartTo: 1. + false ] + ifTrue: [ true ] ] ] whileFalse \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnStreamingMultiPartFormDataEntity.class/instance/parseMultiPartFieldWithoutLengthWithMimePart.boundary.decodeWith..st b/repository/Seaside-Zinc-Core.package/ZnStreamingMultiPartFormDataEntity.class/instance/parseMultiPartFieldWithoutLengthWithMimePart.boundary.decodeWith..st new file mode 100644 index 000000000..87a4a20c0 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnStreamingMultiPartFormDataEntity.class/instance/parseMultiPartFieldWithoutLengthWithMimePart.boundary.decodeWith..st @@ -0,0 +1,11 @@ +private +parseMultiPartFieldWithoutLengthWithMimePart: aMimePart boundary: aBoundary decodeWith: aBlock + | fullBoundary fieldValue | + fullBoundary := String crlf asByteArray, aBoundary. + fieldValue := ByteArray streamContents: [ :valueStream | + self + parseMultiPartFieldWithoutLengthWithBoundary: fullBoundary + writeOn: valueStream ]. + + aMimePart entity: (ZnEntity text: fieldValue asString). + aBlock value: aMimePart \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnStreamingMultiPartFormDataEntity.class/instance/parseMultiPartFileFieldWithMimePart.boundary.decodeWith..st b/repository/Seaside-Zinc-Core.package/ZnStreamingMultiPartFormDataEntity.class/instance/parseMultiPartFileFieldWithMimePart.boundary.decodeWith..st new file mode 100644 index 000000000..5e5fa8aa6 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnStreamingMultiPartFormDataEntity.class/instance/parseMultiPartFileFieldWithMimePart.boundary.decodeWith..st @@ -0,0 +1,16 @@ +private +parseMultiPartFileFieldWithMimePart: aMimePart boundary: aBoundary decodeWith: aBlock + | fullBoundary file | + fullBoundary := String crlf asByteArray, aBoundary. + file := GRPlatform current newTemporaryFileReference. + GRPlatform current + writeFileStreamOn: file pathString + do: [ :writer | + self + parseMultiPartFieldWithoutLengthWithBoundary: fullBoundary + writeOn: writer ] + binary: true. + + aBlock + value: aMimePart + value: file pathString \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnStreamingMultiPartFormDataEntity.class/instance/partsDecodeWith.decodeFilesWith..st b/repository/Seaside-Zinc-Core.package/ZnStreamingMultiPartFormDataEntity.class/instance/partsDecodeWith.decodeFilesWith..st new file mode 100644 index 000000000..bec19f0fd --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnStreamingMultiPartFormDataEntity.class/instance/partsDecodeWith.decodeFilesWith..st @@ -0,0 +1,44 @@ +private +partsDecodeWith: aDecoderBlock decodeFilesWith: aFileDecoderBlock + | fullBoundary endBoundary | + fullBoundary := '--' asByteArray, self getBoundary. + endBoundary := fullBoundary asString, '--'. + "Sometimes there is whitespace in front of the first boundary" + (stream match: fullBoundary) ifFalse: [ self error ]. + "Skip CRLF" + stream skip: 2. + + [ stream atEnd ] whileFalse: [ + | part | + part := ZnMimePart new + headers: (ZnHeaders readFrom: stream); + yourself. + "When a part is empty and it is the last part then parsing headers will have consumed + the rest of the end boundary and the stream will be at the end. + In this case, the part will not have any headers." + (part hasHeaders not or: [ + "The final boundary may have been read as a header when the last part was not a file part" + part headers includesKey: endBoundary ]) ifFalse: [ + (part fileName notNil or: [ + part contentType notNil and: [ + part contentType isBinary ] ]) + ifFalse: [ + ((part contentDispositionValues includes: 'form-data') and: [ + part contentLength isNil ]) + ifTrue: [ + self + parseMultiPartFieldWithoutLengthWithMimePart: part + boundary: fullBoundary + decodeWith: aDecoderBlock ] + ifFalse: [ + self + parseMultiPartFieldWithMimePart: part + decodeWith: aDecoderBlock ] ] + ifTrue: [ + self + parseMultiPartFileFieldWithMimePart: part + boundary: fullBoundary + decodeWith: aFileDecoderBlock ] ]. + "Skip crlf" + stream atEnd ifFalse: [ + stream skip: 2 ] ] \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnStreamingMultiPartFormDataEntity.class/instance/readBinaryFrom..st b/repository/Seaside-Zinc-Core.package/ZnStreamingMultiPartFormDataEntity.class/instance/readBinaryFrom..st new file mode 100644 index 000000000..ac80248b8 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnStreamingMultiPartFormDataEntity.class/instance/readBinaryFrom..st @@ -0,0 +1,3 @@ +initialize-release +readBinaryFrom: aStream + stream := aStream \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnStreamingMultiPartFormDataEntity.class/properties.json b/repository/Seaside-Zinc-Core.package/ZnStreamingMultiPartFormDataEntity.class/properties.json new file mode 100644 index 000000000..4afb509c4 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnStreamingMultiPartFormDataEntity.class/properties.json @@ -0,0 +1,15 @@ +{ + "commentStamp" : "MaxLeske 5/20/2020 10:03", + "super" : "ZnMultiPartFormDataEntity", + "category" : "Seaside-Zinc-Core", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ + "TemporaryFileDirectory" + ], + "instvars" : [ + "stream" + ], + "name" : "ZnStreamingMultiPartFormDataEntity", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/README.md b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/README.md similarity index 100% rename from repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/README.md rename to repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/README.md diff --git a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/basicStart.st b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/basicStart.st similarity index 100% rename from repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/basicStart.st rename to repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/basicStart.st diff --git a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/basicStop.st b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/basicStop.st similarity index 100% rename from repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/basicStop.st rename to repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/basicStop.st diff --git a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/configureDelegate.st b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/configureDelegate.st similarity index 85% rename from repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/configureDelegate.st rename to repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/configureDelegate.st index fb9098cdf..3fb88ec68 100644 --- a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/configureDelegate.st +++ b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/configureDelegate.st @@ -1,4 +1,4 @@ -initialize-release +initialization configureDelegate "Set the main delegate of my server to the default one." diff --git a/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/configureServerForBinaryReading.st b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/configureServerForBinaryReading.st new file mode 100644 index 000000000..6df7b2c5f --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/configureServerForBinaryReading.st @@ -0,0 +1,7 @@ +initialization +configureServerForBinaryReading + "Seaside wants to do its own text conversions" + + server reader: (server streamUploads + ifTrue: [ [ :stream | ZnRequest readBinaryFrom: stream ] ] + ifFalse: [ [ :stream | ZnRequest readStreamingFrom: stream ] ]) \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/convertMultipart..st b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/convertMultipart..st new file mode 100644 index 000000000..9d7ee260a --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/convertMultipart..st @@ -0,0 +1,15 @@ +private +convertMultipart: entity + | dictionary | + dictionary := ZnMultiValueDictionary new. + entity class = ZnStreamingEntity + ifTrue: [ + self + convertMultipartStreamingEntity: entity + with: dictionary ] + ifFalse: [ + self + convertMultipartEntity: entity + with: dictionary ]. + ^ dictionary + \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/convertMultipartEntity.with..st b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/convertMultipartEntity.with..st new file mode 100644 index 000000000..bb9f6ff11 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/convertMultipartEntity.with..st @@ -0,0 +1,15 @@ +private +convertMultipartEntity: anEntity with: aMultiValueDictionary + anEntity partsDo: [ :part | + | value | + value := part hasEntity + ifFalse: [ '' ] + ifTrue: [ + (part fileName isEmptyOrNil not or: [ + part contentType notNil and: [ + part contentType isBinary ] ]) + ifFalse: [ self codec url decode: part fieldValueString ] + ifTrue: [ self convertMultipartFileField: part ] ]. + aMultiValueDictionary + at: part fieldName + add: value ] \ No newline at end of file diff --git a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/convertMultipartFileField..st b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/convertMultipartFileField..st similarity index 100% rename from repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/convertMultipartFileField..st rename to repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/convertMultipartFileField..st diff --git a/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/convertMultipartStreamingEntity.with..st b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/convertMultipartStreamingEntity.with..st new file mode 100644 index 000000000..44f8ee696 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/convertMultipartStreamingEntity.with..st @@ -0,0 +1,30 @@ +private +convertMultipartStreamingEntity: anEntity with: aMultiValueDictionary + | entity | + entity := ZnStreamingMultiPartFormDataEntity new + readBinaryFrom: anEntity stream; + contentType: anEntity contentType; + yourself. + entity + partsDecodeWith: [ :znMimePart | + aMultiValueDictionary + at: znMimePart fieldName + add: (self codec url decode: (znMimePart hasEntity + ifTrue: [ znMimePart fieldValueString ] + ifFalse: [ '' ])) ] + decodeFilesWith: [ :znMimePart :filePath | + "Empty file + empty filename means that the file form + field did not contain a value (no file was selected)." + (znMimePart fileName isEmpty and: [ + (GRPlatform current sizeOfFile: filePath) isZero ]) + ifTrue: [ GRPlatform current deleteFile: filePath ] + ifFalse: [ + aMultiValueDictionary + at: znMimePart fieldName + add: (WAExternalFile new + contentType: znMimePart contentType printString; + fileName: (znMimePart fileName ifEmpty: [ + "It is legal for the `filename` value to be empty" + GRPlatform current localNameOf: filePath ]); + filePath: filePath; + yourself) ] ] \ No newline at end of file diff --git a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/defaultCodec.st b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/defaultCodec.st similarity index 100% rename from repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/defaultCodec.st rename to repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/defaultCodec.st diff --git a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/defaultDelegate.st b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/defaultDelegate.st similarity index 100% rename from repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/defaultDelegate.st rename to repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/defaultDelegate.st diff --git a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/defaultZnServer.st b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/defaultZnServer.st similarity index 100% rename from repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/defaultZnServer.st rename to repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/defaultZnServer.st diff --git a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/isRunning.st b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/isRunning.st similarity index 100% rename from repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/isRunning.st rename to repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/isRunning.st diff --git a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/isStarting.st b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/isStarting.st similarity index 100% rename from repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/isStarting.st rename to repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/isStarting.st diff --git a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/isStopped.st b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/isStopped.st similarity index 100% rename from repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/isStopped.st rename to repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/isStopped.st diff --git a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/isStopping.st b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/isStopping.st similarity index 100% rename from repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/isStopping.st rename to repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/isStopping.st diff --git a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/printOn..st b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/printOn..st similarity index 100% rename from repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/printOn..st rename to repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/printOn..st diff --git a/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/requestAddressFor..st b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/requestAddressFor..st new file mode 100644 index 000000000..4356959e0 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/requestAddressFor..st @@ -0,0 +1,6 @@ +converting-request +requestAddressFor: aZincRequest + + ^ aZincRequest headers + at: ZnConstants remoteAddressHeader + ifAbsent: [ nil ] \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/requestBodyFor..st b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/requestBodyFor..st new file mode 100644 index 000000000..82bde5ec5 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/requestBodyFor..st @@ -0,0 +1,14 @@ +converting-request +requestBodyFor: aZincRequest + + ^ (aZincRequest method ~= #TRACE and: [ + aZincRequest hasEntity and: [ + aZincRequest entity isEmpty not and: [ + (aZincRequest entity contentType matches: + ZnMimeType applicationFormUrlEncoded) not and: [ + (aZincRequest entity contentType matches: + ZnMimeType multiPartFormData) not ] ] ] ]) + ifTrue: [ + "Seaside wants to do its own text conversions" + aZincRequest entity bytes asString ] + ifFalse: [ '' ] \ No newline at end of file diff --git a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/requestCookiesFor..st b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/requestCookiesFor..st similarity index 90% rename from repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/requestCookiesFor..st rename to repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/requestCookiesFor..st index 05c1576a4..ec3b28cca 100644 --- a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/requestCookiesFor..st +++ b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/requestCookiesFor..st @@ -1,4 +1,4 @@ -converting +converting-request requestCookiesFor: aZincRequest | cookieString | cookieString := aZincRequest headers diff --git a/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/requestFieldsFor..st b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/requestFieldsFor..st new file mode 100644 index 000000000..bdb11f19b --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/requestFieldsFor..st @@ -0,0 +1,19 @@ +converting-request +requestFieldsFor: aZincRequest + + | fields | + fields := WARequestFields new. + (aZincRequest method = #POST and: [ aZincRequest hasEntity ]) + ifTrue: [ + (aZincRequest entity contentType matches: + ZnMimeType applicationFormUrlEncoded) ifTrue: [ + fields addAll: (aZincRequest entity class = ZnStreamingEntity + ifTrue: [ + ZnApplicationFormUrlEncodedEntity new + readFrom: aZincRequest entity stream; + fields ] + ifFalse: [ aZincRequest entity fields ]) ]. + (aZincRequest entity contentType matches: + ZnMimeType multiPartFormData) ifTrue: [ + fields addAll: (self convertMultipart: aZincRequest entity) ] ]. + ^ fields \ No newline at end of file diff --git a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/requestHeadersFor..st b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/requestHeadersFor..st similarity index 53% rename from repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/requestHeadersFor..st rename to repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/requestHeadersFor..st index b667a66d9..0a61596a6 100644 --- a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/requestHeadersFor..st +++ b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/requestHeadersFor..st @@ -1,12 +1,14 @@ -converting +converting-request requestHeadersFor: aZincRequest + | fields | fields := Dictionary new. aZincRequest headersDo: [ :key :value | | keyLowercase combinedValue | keyLowercase := key asLowercase. - combinedValue := fields at: keyLowercase - ifPresent: [ :presentValue | presentValue , ',' , value ] - ifAbsent: [ value ]. + combinedValue := fields + at: keyLowercase + ifPresent: [ :presentValue | presentValue , ',' , value ] + ifAbsent: [ value ]. fields at: keyLowercase put: combinedValue ]. ^ fields \ No newline at end of file diff --git a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/requestMethodFor..st b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/requestMethodFor..st similarity index 77% rename from repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/requestMethodFor..st rename to repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/requestMethodFor..st index ba5191eff..d3d7c9d36 100644 --- a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/requestMethodFor..st +++ b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/requestMethodFor..st @@ -1,3 +1,3 @@ -converting +converting-request requestMethodFor: aZincRequest ^ aZincRequest method greaseString \ No newline at end of file diff --git a/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/requestUrlFor..st b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/requestUrlFor..st new file mode 100644 index 000000000..96abb195d --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/requestUrlFor..st @@ -0,0 +1,20 @@ +converting-request +requestUrlFor: aZincRequest + + | zincUrl seasideUrl | + zincUrl := aZincRequest url. + seasideUrl := WAUrl new + scheme: zincUrl schemeOrDefault greaseString; + host: zincUrl host; + port: zincUrl port; + fragment: zincUrl fragment. + zincUrl hasPath ifTrue: [ + zincUrl isDirectoryPath + ifTrue: [ + "last path segment is $/ or #/" + zincUrl pathSegments allButLast do: [ :each | seasideUrl rawAddToPath: each ]. + "GemStone/S currently does not support #allButLastDo:" + seasideUrl slash: true ] + ifFalse: [ seasideUrl rawAddAllToPath: zincUrl pathSegments ] ]. + zincUrl queryDo: [ :key :value | seasideUrl addField: key value: value ]. + ^ seasideUrl \ No newline at end of file diff --git a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/requestVersionFor..st b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/requestVersionFor..st similarity index 82% rename from repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/requestVersionFor..st rename to repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/requestVersionFor..st index a836ee781..a7992dd8b 100644 --- a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/requestVersionFor..st +++ b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/requestVersionFor..st @@ -1,3 +1,4 @@ -converting +converting-request requestVersionFor: aZincRequest + ^ WAHttpVersion fromString: aZincRequest requestLine version \ No newline at end of file diff --git a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/responseFrom..st b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/responseFrom..st similarity index 100% rename from repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/responseFrom..st rename to repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/responseFrom..st diff --git a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/server..st b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/server..st similarity index 90% rename from repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/server..st rename to repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/server..st index 19155e190..872b4e01f 100644 --- a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/server..st +++ b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/server..st @@ -1,4 +1,4 @@ -initialize-release +initialization server: znServer "I initialize the actual ZnServer instance that I will be using to znServer, to prevent a fallback to #defaultZnServer" diff --git a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/server.st b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/server.st similarity index 100% rename from repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/server.st rename to repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/server.st diff --git a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/serverClass..st b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/serverClass..st similarity index 90% rename from repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/serverClass..st rename to repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/serverClass..st index 50d5d09dd..b2e8f7581 100644 --- a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/serverClass..st +++ b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/serverClass..st @@ -1,4 +1,4 @@ -initialize-release +initialization serverClass: znServerClass "I initialize the actual ZnServer instance that I will be using, by instanciating znServerClass using my port" diff --git a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/shutDown.st b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/shutDown.st similarity index 100% rename from repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/shutDown.st rename to repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/shutDown.st diff --git a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/startUp.st b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/startUp.st similarity index 100% rename from repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/startUp.st rename to repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/startUp.st diff --git a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/statusString.st b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/statusString.st similarity index 100% rename from repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/statusString.st rename to repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/instance/statusString.st diff --git a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/properties.json b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/properties.json similarity index 85% rename from repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/properties.json rename to repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/properties.json index 668c5c526..7ad2134e1 100644 --- a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/properties.json +++ b/repository/Seaside-Zinc-Core.package/ZnZincServerAdaptor.class/properties.json @@ -1,7 +1,7 @@ { "commentStamp" : "", "super" : "WAServerAdaptor", - "category" : "Zinc-Seaside", + "category" : "Seaside-Zinc-Core", "classinstvars" : [ ], "pools" : [ ], "classvars" : [ ], diff --git a/repository/Zinc-Seaside.package/ZnZincStaticServerAdaptor.class/README.md b/repository/Seaside-Zinc-Core.package/ZnZincStaticServerAdaptor.class/README.md similarity index 100% rename from repository/Zinc-Seaside.package/ZnZincStaticServerAdaptor.class/README.md rename to repository/Seaside-Zinc-Core.package/ZnZincStaticServerAdaptor.class/README.md diff --git a/repository/Zinc-Seaside.package/ZnZincStaticServerAdaptor.class/class/startOn.andServeFilesFrom..st b/repository/Seaside-Zinc-Core.package/ZnZincStaticServerAdaptor.class/class/startOn.andServeFilesFrom..st similarity index 100% rename from repository/Zinc-Seaside.package/ZnZincStaticServerAdaptor.class/class/startOn.andServeFilesFrom..st rename to repository/Seaside-Zinc-Core.package/ZnZincStaticServerAdaptor.class/class/startOn.andServeFilesFrom..st diff --git a/repository/Zinc-Seaside.package/ZnZincStaticServerAdaptor.class/instance/defaultDelegate.st b/repository/Seaside-Zinc-Core.package/ZnZincStaticServerAdaptor.class/instance/defaultDelegate.st similarity index 100% rename from repository/Zinc-Seaside.package/ZnZincStaticServerAdaptor.class/instance/defaultDelegate.st rename to repository/Seaside-Zinc-Core.package/ZnZincStaticServerAdaptor.class/instance/defaultDelegate.st diff --git a/repository/Zinc-Seaside.package/ZnZincStaticServerAdaptor.class/instance/useCustomExpirationHeaders..st b/repository/Seaside-Zinc-Core.package/ZnZincStaticServerAdaptor.class/instance/useCustomExpirationHeaders..st similarity index 100% rename from repository/Zinc-Seaside.package/ZnZincStaticServerAdaptor.class/instance/useCustomExpirationHeaders..st rename to repository/Seaside-Zinc-Core.package/ZnZincStaticServerAdaptor.class/instance/useCustomExpirationHeaders..st diff --git a/repository/Zinc-Seaside.package/ZnZincStaticServerAdaptor.class/instance/useDefaultExpirationHeaders.st b/repository/Seaside-Zinc-Core.package/ZnZincStaticServerAdaptor.class/instance/useDefaultExpirationHeaders.st similarity index 100% rename from repository/Zinc-Seaside.package/ZnZincStaticServerAdaptor.class/instance/useDefaultExpirationHeaders.st rename to repository/Seaside-Zinc-Core.package/ZnZincStaticServerAdaptor.class/instance/useDefaultExpirationHeaders.st diff --git a/repository/Zinc-Seaside.package/ZnZincStaticServerAdaptor.class/properties.json b/repository/Seaside-Zinc-Core.package/ZnZincStaticServerAdaptor.class/properties.json similarity index 86% rename from repository/Zinc-Seaside.package/ZnZincStaticServerAdaptor.class/properties.json rename to repository/Seaside-Zinc-Core.package/ZnZincStaticServerAdaptor.class/properties.json index 99375dc47..e5a2c98c6 100644 --- a/repository/Zinc-Seaside.package/ZnZincStaticServerAdaptor.class/properties.json +++ b/repository/Seaside-Zinc-Core.package/ZnZincStaticServerAdaptor.class/properties.json @@ -1,7 +1,7 @@ { "commentStamp" : "PaulDeBruicker 5/11/2012 15:21", "super" : "ZnZincServerAdaptor", - "category" : "Zinc-Seaside", + "category" : "Seaside-Zinc-Core", "classinstvars" : [ ], "pools" : [ ], "classvars" : [ ], diff --git a/repository/Zinc-Seaside.package/ZnZincStreamingServerAdaptor.class/README.md b/repository/Seaside-Zinc-Core.package/ZnZincStreamingServerAdaptor.class/README.md similarity index 100% rename from repository/Zinc-Seaside.package/ZnZincStreamingServerAdaptor.class/README.md rename to repository/Seaside-Zinc-Core.package/ZnZincStreamingServerAdaptor.class/README.md diff --git a/repository/Zinc-Seaside.package/ZnZincStreamingServerAdaptor.class/instance/process..st b/repository/Seaside-Zinc-Core.package/ZnZincStreamingServerAdaptor.class/instance/process..st similarity index 100% rename from repository/Zinc-Seaside.package/ZnZincStreamingServerAdaptor.class/instance/process..st rename to repository/Seaside-Zinc-Core.package/ZnZincStreamingServerAdaptor.class/instance/process..st diff --git a/repository/Zinc-Seaside.package/ZnZincStreamingServerAdaptor.class/instance/requestFor..st b/repository/Seaside-Zinc-Core.package/ZnZincStreamingServerAdaptor.class/instance/requestFor..st similarity index 100% rename from repository/Zinc-Seaside.package/ZnZincStreamingServerAdaptor.class/instance/requestFor..st rename to repository/Seaside-Zinc-Core.package/ZnZincStreamingServerAdaptor.class/instance/requestFor..st diff --git a/repository/Zinc-Seaside.package/ZnZincStreamingServerAdaptor.class/instance/responseFor..st b/repository/Seaside-Zinc-Core.package/ZnZincStreamingServerAdaptor.class/instance/responseFor..st similarity index 82% rename from repository/Zinc-Seaside.package/ZnZincStreamingServerAdaptor.class/instance/responseFor..st rename to repository/Seaside-Zinc-Core.package/ZnZincStreamingServerAdaptor.class/instance/responseFor..st index 324ad6379..cc2d71d07 100644 --- a/repository/Zinc-Seaside.package/ZnZincStreamingServerAdaptor.class/instance/responseFor..st +++ b/repository/Seaside-Zinc-Core.package/ZnZincStreamingServerAdaptor.class/instance/responseFor..st @@ -2,7 +2,7 @@ converting responseFor: aZnRequest | bufferedStream codecStream | bufferedStream := GRPlatform current writeCharacterStreamOn: (self codec encodedStringClass new: 4096). - codecStream := self codec encoderFor: bufferedStream. + codecStream := self codec encoderFor: bufferedStream. ^ WAComboResponse onBuffered: (GRCountingStream on: codecStream) external: aZnRequest stream \ No newline at end of file diff --git a/repository/Zinc-Seaside.package/ZnZincStreamingServerAdaptor.class/instance/responseFrom..st b/repository/Seaside-Zinc-Core.package/ZnZincStreamingServerAdaptor.class/instance/responseFrom..st similarity index 100% rename from repository/Zinc-Seaside.package/ZnZincStreamingServerAdaptor.class/instance/responseFrom..st rename to repository/Seaside-Zinc-Core.package/ZnZincStreamingServerAdaptor.class/instance/responseFrom..st diff --git a/repository/Zinc-Seaside.package/ZnZincStreamingServerAdaptor.class/properties.json b/repository/Seaside-Zinc-Core.package/ZnZincStreamingServerAdaptor.class/properties.json similarity index 85% rename from repository/Zinc-Seaside.package/ZnZincStreamingServerAdaptor.class/properties.json rename to repository/Seaside-Zinc-Core.package/ZnZincStreamingServerAdaptor.class/properties.json index 01ed27ffa..c83d043ed 100644 --- a/repository/Zinc-Seaside.package/ZnZincStreamingServerAdaptor.class/properties.json +++ b/repository/Seaside-Zinc-Core.package/ZnZincStreamingServerAdaptor.class/properties.json @@ -1,7 +1,7 @@ { "commentStamp" : "", "super" : "ZnZincServerAdaptor", - "category" : "Zinc-Seaside", + "category" : "Seaside-Zinc-Core", "classinstvars" : [ ], "pools" : [ ], "classvars" : [ ], diff --git a/repository/Seaside-Zinc-Core.package/monticello.meta/categories.st b/repository/Seaside-Zinc-Core.package/monticello.meta/categories.st new file mode 100644 index 000000000..43806c615 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/monticello.meta/categories.st @@ -0,0 +1 @@ +SystemOrganization addCategory: #'Seaside-Zinc-Core'! diff --git a/repository/Seaside-Zinc-Core.package/monticello.meta/initializers.st b/repository/Seaside-Zinc-Core.package/monticello.meta/initializers.st new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Seaside-Zinc-Core.package/monticello.meta/package b/repository/Seaside-Zinc-Core.package/monticello.meta/package new file mode 100644 index 000000000..5a451eae5 --- /dev/null +++ b/repository/Seaside-Zinc-Core.package/monticello.meta/package @@ -0,0 +1 @@ +(name 'Seaside-Zinc-Core') \ No newline at end of file diff --git a/repository/Zinc-Seaside.package/properties.json b/repository/Seaside-Zinc-Core.package/properties.json similarity index 100% rename from repository/Zinc-Seaside.package/properties.json rename to repository/Seaside-Zinc-Core.package/properties.json diff --git a/repository/Seaside-Zinc-Pharo.package/.filetree b/repository/Seaside-Zinc-Pharo.package/.filetree new file mode 100644 index 000000000..57a679737 --- /dev/null +++ b/repository/Seaside-Zinc-Pharo.package/.filetree @@ -0,0 +1,5 @@ +{ + "separateMethodMetaAndSource" : false, + "noMethodMetaData" : true, + "useCypressPropertiesFile" : true +} \ No newline at end of file diff --git a/repository/Seaside-Zinc-Pharo.package/GRPharoPlatform.extension/instance/ringBufferClass.st b/repository/Seaside-Zinc-Pharo.package/GRPharoPlatform.extension/instance/ringBufferClass.st new file mode 100644 index 000000000..dd71fa72c --- /dev/null +++ b/repository/Seaside-Zinc-Pharo.package/GRPharoPlatform.extension/instance/ringBufferClass.st @@ -0,0 +1,4 @@ +*Seaside-Zinc-Pharo +ringBufferClass + + ^ ZnPharoRingBuffer \ No newline at end of file diff --git a/repository/Seaside-Zinc-Pharo.package/GRPharoPlatform.extension/properties.json b/repository/Seaside-Zinc-Pharo.package/GRPharoPlatform.extension/properties.json new file mode 100644 index 000000000..43eb591f2 --- /dev/null +++ b/repository/Seaside-Zinc-Pharo.package/GRPharoPlatform.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "GRPharoPlatform" +} \ No newline at end of file diff --git a/repository/Seaside-Zinc-Pharo.package/ZnPharoRingBuffer.class/README.md b/repository/Seaside-Zinc-Pharo.package/ZnPharoRingBuffer.class/README.md new file mode 100644 index 000000000..c69566671 --- /dev/null +++ b/repository/Seaside-Zinc-Pharo.package/ZnPharoRingBuffer.class/README.md @@ -0,0 +1 @@ +I am the optimized implementation of a ring buffer on Pharo \ No newline at end of file diff --git a/repository/Seaside-Zinc-Pharo.package/ZnPharoRingBuffer.class/instance/at..st b/repository/Seaside-Zinc-Pharo.package/ZnPharoRingBuffer.class/instance/at..st new file mode 100644 index 000000000..6af00d582 --- /dev/null +++ b/repository/Seaside-Zinc-Pharo.package/ZnPharoRingBuffer.class/instance/at..st @@ -0,0 +1,5 @@ +accessing +at: anInteger + self checkBoundsFor: anInteger. + + ^ buffer atWrap: anInteger + offset \ No newline at end of file diff --git a/repository/Seaside-Zinc-Pharo.package/ZnPharoRingBuffer.class/instance/at.put..st b/repository/Seaside-Zinc-Pharo.package/ZnPharoRingBuffer.class/instance/at.put..st new file mode 100644 index 000000000..378a1101d --- /dev/null +++ b/repository/Seaside-Zinc-Pharo.package/ZnPharoRingBuffer.class/instance/at.put..st @@ -0,0 +1,7 @@ +accessing +at: anInteger put: anObject + self checkBoundsFor: anInteger. + + buffer + atWrap: anInteger + offset + put: anObject \ No newline at end of file diff --git a/repository/Seaside-Zinc-Pharo.package/ZnPharoRingBuffer.class/properties.json b/repository/Seaside-Zinc-Pharo.package/ZnPharoRingBuffer.class/properties.json new file mode 100644 index 000000000..0ef947b45 --- /dev/null +++ b/repository/Seaside-Zinc-Pharo.package/ZnPharoRingBuffer.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "JohanBrichau 12/17/2023 23:19", + "super" : "ZnRingBuffer", + "category" : "Seaside-Zinc-Pharo", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "ZnPharoRingBuffer", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Seaside-Zinc-Pharo.package/monticello.meta/categories.st b/repository/Seaside-Zinc-Pharo.package/monticello.meta/categories.st new file mode 100644 index 000000000..2ecbc0e93 --- /dev/null +++ b/repository/Seaside-Zinc-Pharo.package/monticello.meta/categories.st @@ -0,0 +1 @@ +SystemOrganization addCategory: #'Seaside-Zinc-Pharo'! diff --git a/repository/Seaside-Zinc-Pharo.package/monticello.meta/initializers.st b/repository/Seaside-Zinc-Pharo.package/monticello.meta/initializers.st new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Seaside-Zinc-Pharo.package/monticello.meta/package b/repository/Seaside-Zinc-Pharo.package/monticello.meta/package new file mode 100644 index 000000000..8d77b894c --- /dev/null +++ b/repository/Seaside-Zinc-Pharo.package/monticello.meta/package @@ -0,0 +1 @@ +(name 'Seaside-Zinc-Pharo') \ No newline at end of file diff --git a/repository/Seaside-Zinc-Pharo.package/properties.json b/repository/Seaside-Zinc-Pharo.package/properties.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/repository/Seaside-Zinc-Pharo.package/properties.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/repository/Seaside-Zinc-Tests.package/.filetree b/repository/Seaside-Zinc-Tests.package/.filetree new file mode 100644 index 000000000..57a679737 --- /dev/null +++ b/repository/Seaside-Zinc-Tests.package/.filetree @@ -0,0 +1,5 @@ +{ + "separateMethodMetaAndSource" : false, + "noMethodMetaData" : true, + "useCypressPropertiesFile" : true +} \ No newline at end of file diff --git a/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/README.md b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testAt.st b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testAt.st new file mode 100644 index 000000000..49a7d38b3 --- /dev/null +++ b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testAt.st @@ -0,0 +1,22 @@ +tests +testAt + | buffer | + buffer := GRPlatform current ringBufferClass new: 5. + self assert: (buffer at: 1) isNil. + + buffer + at: 1 + put: 1. + self assert: (buffer at: 1) equals: 1. + + buffer + at: 2 + put: 2. + self assert: (buffer at: 2) equals: 2. + + buffer + at: 5 + put: 6. + self assert: (buffer at: 3) isNil. + self assert: (buffer at: 4) isNil. + self assert: (buffer at: 5) equals: 6 \ No newline at end of file diff --git a/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testAtOutOfBounds.st b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testAtOutOfBounds.st new file mode 100644 index 000000000..40edb2972 --- /dev/null +++ b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testAtOutOfBounds.st @@ -0,0 +1,13 @@ +tests +testAtOutOfBounds + | buffer | + buffer := GRPlatform current ringBufferClass new: 5. + self + should: [ buffer at: 0 ] + raise: ZnRingBufferIllegalAccess. + self + should: [ buffer at: -1 ] + raise: ZnRingBufferIllegalAccess. + self + should: [ buffer at: 6 ] + raise: ZnRingBufferIllegalAccess \ No newline at end of file diff --git a/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testCopyFromTo.st b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testCopyFromTo.st new file mode 100644 index 000000000..3093db59f --- /dev/null +++ b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testCopyFromTo.st @@ -0,0 +1,29 @@ +tests +testCopyFromTo + | buffer copy | + buffer := GRPlatform current ringBufferClass on: #(1 2 3 4). + copy := buffer + copyFrom: 2 + to: 4. + + self assert: copy equals: #(2 3 4). + + copy := buffer + copyFrom: 1 + to: 4. + + self assert: copy equals: #(1 2 3 4). + + buffer moveStartTo: 2. + copy := buffer + copyFrom: 2 + to: 4. + + self assert: copy equals: #(3 4 1). + + buffer moveStartTo: 2. + copy := buffer + copyFrom: 2 + to: 4. + + self assert: copy equals: #(4 1 2) \ No newline at end of file diff --git a/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testDo.st b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testDo.st new file mode 100644 index 000000000..1eec917f1 --- /dev/null +++ b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testDo.st @@ -0,0 +1,15 @@ +tests +testDo + | buffer collector | + buffer := GRPlatform current ringBufferClass new: 5. + buffer + at: 1 put: 1; + at: 5 put: 2. + collector := OrderedCollection new. + buffer do: [ :value | collector add: value ]. + self assert: collector asArray equals: #(1 nil nil nil 2). + + buffer moveStartTo: 2. + collector := OrderedCollection new. + buffer do: [ :value | collector add: value ]. + self assert: collector asArray equals: #(nil nil nil 2 1) \ No newline at end of file diff --git a/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testEquals.st b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testEquals.st new file mode 100644 index 000000000..2e764ea40 --- /dev/null +++ b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testEquals.st @@ -0,0 +1,15 @@ +tests +testEquals + "We use #= on purpose in this test because the test + only works one way." + | buffer | + buffer := GRPlatform current ringBufferClass new: 3. + self assert: buffer = #(nil nil nil). + + buffer + at: 1 + put: 1. + self assert: buffer = #(1 nil nil). + + buffer moveStartTo: 2. + self assert: buffer = #(nil nil 1) \ No newline at end of file diff --git a/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testIllegalInstantiation.st b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testIllegalInstantiation.st new file mode 100644 index 000000000..0b230ad68 --- /dev/null +++ b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testIllegalInstantiation.st @@ -0,0 +1,5 @@ +tests +testIllegalInstantiation + self + should: [ GRPlatform current ringBufferClass new ] + raise: ZnRingBufferIllegalUse \ No newline at end of file diff --git a/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testIndexOf.st b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testIndexOf.st new file mode 100644 index 000000000..be9152778 --- /dev/null +++ b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testIndexOf.st @@ -0,0 +1,42 @@ +tests +testIndexOf + | buffer index | + buffer := GRPlatform current ringBufferClass new: 5. + buffer + at: 2 + put: 1. + + index := buffer + indexOf: 1 + ifAbsent: [ -1 ]. + self assert: index equals: 2. + + buffer moveStartTo: 2. + index := buffer + indexOf: 1 + ifAbsent: [ -1 ]. + self assert: index equals: 1. + + buffer moveStartTo: 2. + index := buffer + indexOf: 1 + ifAbsent: [ -1 ]. + self assert: index equals: 5. + + buffer moveStartTo: 2. + index := buffer + indexOf: 1 + ifAbsent: [ -1 ]. + self assert: index equals: 4. + + buffer moveStartTo: 2. + index := buffer + indexOf: 1 + ifAbsent: [ -1 ]. + self assert: index equals: 3. + + buffer moveStartTo: 2. + index := buffer + indexOf: 1 + ifAbsent: [ -1 ]. + self assert: index equals: 2 \ No newline at end of file diff --git a/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testIndexOfIfAbsent.st b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testIndexOfIfAbsent.st new file mode 100644 index 000000000..4a2ea3698 --- /dev/null +++ b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testIndexOfIfAbsent.st @@ -0,0 +1,42 @@ +tests +testIndexOfIfAbsent + | buffer index | + buffer := GRPlatform current ringBufferClass new: 5. + buffer + at: 2 + put: 1. + + index := buffer + indexOf: 1 + ifAbsent: [ -1 ]. + self assert: index equals: 2. + + buffer moveStartTo: 2. + index := buffer + indexOf: 1 + ifAbsent: [ -1 ]. + self assert: index equals: 1. + + buffer moveStartTo: 2. + index := buffer + indexOf: 1 + ifAbsent: [ -1 ]. + self assert: index equals: 5. + + buffer moveStartTo: 2. + index := buffer + indexOf: 1 + ifAbsent: [ -1 ]. + self assert: index equals: 4. + + buffer moveStartTo: 2. + index := buffer + indexOf: 1 + ifAbsent: [ -1 ]. + self assert: index equals: 3. + + buffer moveStartTo: 2. + index := buffer + indexOf: 1 + ifAbsent: [ -1 ]. + self assert: index equals: 2 \ No newline at end of file diff --git a/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testIndexOfIfAbsentWhenAbsent.st b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testIndexOfIfAbsentWhenAbsent.st new file mode 100644 index 000000000..d24eefa94 --- /dev/null +++ b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testIndexOfIfAbsentWhenAbsent.st @@ -0,0 +1,9 @@ +tests +testIndexOfIfAbsentWhenAbsent + | buffer index | + buffer := GRPlatform current ringBufferClass new: 5. + + index := buffer + indexOf: 1 + ifAbsent: [ 2 ]. + self assert: index equals: 2 \ No newline at end of file diff --git a/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testMoveStartTo.st b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testMoveStartTo.st new file mode 100644 index 000000000..678956c90 --- /dev/null +++ b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testMoveStartTo.st @@ -0,0 +1,20 @@ +tests +testMoveStartTo + | buffer | + buffer := GRPlatform current ringBufferClass new: 5. + + buffer + at: 1 put: 1; + at: 5 put: 5. + buffer moveStartTo: 2. + self assert: (buffer at: 1) isNil. + self assert: (buffer at: 4) equals: 5. + self assert: (buffer at: 5) equals: 1. + + buffer moveStartTo: 5. + self assert: (buffer at: 1) equals: 1. + self assert: (buffer at: 5) equals: 5. + + buffer moveStartTo: 5. + self assert: (buffer at: 1) equals: 5. + self assert: (buffer at: 2) equals: 1 \ No newline at end of file diff --git a/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testMoveStartToIdentity.st b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testMoveStartToIdentity.st new file mode 100644 index 000000000..ce119e529 --- /dev/null +++ b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testMoveStartToIdentity.st @@ -0,0 +1,9 @@ +tests +testMoveStartToIdentity + | buffer | + buffer := GRPlatform current ringBufferClass new: 5. + + buffer + at: 1 put: 1; + moveStartTo: 1. + self assert: (buffer at: 1) equals: 1 \ No newline at end of file diff --git a/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testMoveStartToOutOfBounds.st b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testMoveStartToOutOfBounds.st new file mode 100644 index 000000000..d62de6a3e --- /dev/null +++ b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testMoveStartToOutOfBounds.st @@ -0,0 +1,13 @@ +tests +testMoveStartToOutOfBounds + | buffer | + buffer := GRPlatform current ringBufferClass new: 5. + self + should: [ buffer moveStartTo: 0 ] + raise: ZnRingBufferIllegalAccess. + self + should: [ buffer moveStartTo: -1 ] + raise: ZnRingBufferIllegalAccess. + self + should: [ buffer moveStartTo: 6 ] + raise: ZnRingBufferIllegalAccess \ No newline at end of file diff --git a/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testOn.st b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testOn.st new file mode 100644 index 000000000..31ffba675 --- /dev/null +++ b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testOn.st @@ -0,0 +1,11 @@ +tests +testOn + | buffer | + buffer := GRPlatform current ringBufferClass on: (ByteArray new: 1). + self assert: buffer size equals: 1. + buffer + at: 1 + put: 1. + self + should: [ buffer at: 1 put: $a ] + raise: Error \ No newline at end of file diff --git a/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testReplaceFromToWithStartingAt.st b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testReplaceFromToWithStartingAt.st new file mode 100644 index 000000000..fb6ed75b5 --- /dev/null +++ b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testReplaceFromToWithStartingAt.st @@ -0,0 +1,20 @@ +tests +testReplaceFromToWithStartingAt + | buffer replacement | + replacement := #(1 2 3 4). + 1 + to: 5 + do: [ :index | + buffer := GRPlatform current ringBufferClass new: 5. + buffer moveStartTo: index. + buffer + replaceFrom: 2 + to: 4 + with: replacement + startingAt: 2. + + self assert: (buffer at: 1) isNil. + self assert: (buffer at: 2) equals: 2. + self assert: (buffer at: 3) equals: 3. + self assert: (buffer at: 4) equals: 4. + self assert: (buffer at: 5) isNil ] \ No newline at end of file diff --git a/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testSize.st b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testSize.st new file mode 100644 index 000000000..a517182cf --- /dev/null +++ b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/instance/testSize.st @@ -0,0 +1,15 @@ +tests +testSize + | buffer | + buffer := GRPlatform current ringBufferClass new: 2. + self assert: buffer size equals: 2. + + buffer + at: 1 put: 1; + at: 1 put: 1. + self assert: buffer size equals: 2. + + buffer + moveStartTo: 2; + at: 1 put: 3. + self assert: buffer size equals: 2 \ No newline at end of file diff --git a/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/properties.json b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/properties.json new file mode 100644 index 000000000..33d2632eb --- /dev/null +++ b/repository/Seaside-Zinc-Tests.package/ZnRingBufferTest.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "TestCase", + "category" : "Seaside-Zinc-Tests", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "ZnRingBufferTest", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Seaside-Zinc-Tests.package/monticello.meta/categories.st b/repository/Seaside-Zinc-Tests.package/monticello.meta/categories.st new file mode 100644 index 000000000..23708b7d1 --- /dev/null +++ b/repository/Seaside-Zinc-Tests.package/monticello.meta/categories.st @@ -0,0 +1 @@ +SystemOrganization addCategory: #'Seaside-Zinc-Tests'! diff --git a/repository/Seaside-Zinc-Tests.package/monticello.meta/initializers.st b/repository/Seaside-Zinc-Tests.package/monticello.meta/initializers.st new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Seaside-Zinc-Tests.package/monticello.meta/package b/repository/Seaside-Zinc-Tests.package/monticello.meta/package new file mode 100644 index 000000000..02b07eb74 --- /dev/null +++ b/repository/Seaside-Zinc-Tests.package/monticello.meta/package @@ -0,0 +1 @@ +(name 'Seaside-Zinc-Tests') \ No newline at end of file diff --git a/repository/Seaside-Zinc-Tests.package/properties.json b/repository/Seaside-Zinc-Tests.package/properties.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/repository/Seaside-Zinc-Tests.package/properties.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/configureServerForBinaryReading.st b/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/configureServerForBinaryReading.st deleted file mode 100644 index 6ed360f87..000000000 --- a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/configureServerForBinaryReading.st +++ /dev/null @@ -1,5 +0,0 @@ -initialize-release -configureServerForBinaryReading - "Seaside wants to do its own text conversions" - - server reader: [ :stream | ZnRequest readBinaryFrom: stream ] \ No newline at end of file diff --git a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/convertMultipart..st b/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/convertMultipart..st deleted file mode 100644 index ead3d8f37..000000000 --- a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/convertMultipart..st +++ /dev/null @@ -1,14 +0,0 @@ -private -convertMultipart: entity - | dictionary | - dictionary := ZnMultiValueDictionary new. - entity partsDo: [ :each | - | value | - value := each fileName isEmptyOrNil - ifTrue: [ - each hasEntity - ifTrue: [ self codec url decode: each fieldValueString ] - ifFalse: [ String new ] ] - ifFalse: [ self convertMultipartFileField: each ] . - dictionary at: each fieldName add: value ]. - ^ dictionary \ No newline at end of file diff --git a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/requestAddressFor..st b/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/requestAddressFor..st deleted file mode 100644 index eaf61649f..000000000 --- a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/requestAddressFor..st +++ /dev/null @@ -1,5 +0,0 @@ -converting -requestAddressFor: aZincRequest - ^ aZincRequest headers - at: ZnConstants remoteAddressHeader - ifAbsent: [ nil ] \ No newline at end of file diff --git a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/requestBodyFor..st b/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/requestBodyFor..st deleted file mode 100644 index 08766573e..000000000 --- a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/requestBodyFor..st +++ /dev/null @@ -1,12 +0,0 @@ -converting -requestBodyFor: aZincRequest - ^ (aZincRequest method ~= #TRACE - and: [ aZincRequest hasEntity - and: [ aZincRequest entity isEmpty not - and: [ (aZincRequest entity contentType matches: ZnMimeType applicationFormUrlEncoded) not - and: [ (aZincRequest entity contentType matches: ZnMimeType multiPartFormData) not ] ] ] ]) - ifTrue: [ - "Seaside wants to do its own text conversions" - aZincRequest entity bytes asString ] - ifFalse: [ - String new ] \ No newline at end of file diff --git a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/requestFieldsFor..st b/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/requestFieldsFor..st deleted file mode 100644 index 1c80661d1..000000000 --- a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/requestFieldsFor..st +++ /dev/null @@ -1,13 +0,0 @@ -converting -requestFieldsFor: aZincRequest - | fields | - fields := WARequestFields new. - (aZincRequest method = #POST and: [ aZincRequest hasEntity ]) - ifTrue: [ - (aZincRequest entity contentType matches: ZnMimeType applicationFormUrlEncoded) - ifTrue: [ - fields addAll: aZincRequest entity fields ]. - (aZincRequest entity contentType matches: ZnMimeType multiPartFormData) - ifTrue: [ - fields addAll: (self convertMultipart: aZincRequest entity) ] ]. - ^ fields \ No newline at end of file diff --git a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/requestUrlFor..st b/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/requestUrlFor..st deleted file mode 100644 index b8eaca364..000000000 --- a/repository/Zinc-Seaside.package/ZnZincServerAdaptor.class/instance/requestUrlFor..st +++ /dev/null @@ -1,20 +0,0 @@ -converting -requestUrlFor: aZincRequest - | zincUrl seasideUrl | - zincUrl := aZincRequest url. - seasideUrl := WAUrl new - scheme: zincUrl schemeOrDefault greaseString; - host: zincUrl host; - port: zincUrl port; - fragment: zincUrl fragment. - zincUrl hasPath ifTrue: [ - zincUrl isDirectoryPath - ifTrue: [ "last path segment is $/ or #/" - zincUrl pathSegments - "GemStone/S currently does not support #allButLastDo:" - allButLast do: [ :each | seasideUrl rawAddToPath: each ]. - seasideUrl slash: true ] - ifFalse: [ seasideUrl rawAddAllToPath: zincUrl pathSegments ] ]. - zincUrl - queryDo: [ :key :value | seasideUrl addField: key value: value ]. - ^ seasideUrl \ No newline at end of file diff --git a/repository/Zinc-Seaside.package/monticello.meta/categories.st b/repository/Zinc-Seaside.package/monticello.meta/categories.st deleted file mode 100644 index 012834fab..000000000 --- a/repository/Zinc-Seaside.package/monticello.meta/categories.st +++ /dev/null @@ -1 +0,0 @@ -SystemOrganization addCategory: #'Zinc-Seaside'! diff --git a/repository/Zinc-Seaside.package/monticello.meta/package b/repository/Zinc-Seaside.package/monticello.meta/package deleted file mode 100644 index 6caf18376..000000000 --- a/repository/Zinc-Seaside.package/monticello.meta/package +++ /dev/null @@ -1 +0,0 @@ -(name 'Zinc-Seaside') \ No newline at end of file