Hi Damien, On 21 May 2013, at 10:20, Damien Cassou <damien.cassou@gmail.com> wrote:
It looks like Zinc has a problem handling PUT requests (at least ZnZincServerAdaptor). If I replace ZnZincServerAdaptor by WAKom, then things work fine. To reproduce:
Setting up the Server 1- Download a SmalltalkHub image (https://ci.inria.fr/pharo-contribution/job/SmalltalkHub/) 2- Install mongodb on your computer (for Debian: apt-get install mongodb) 3- Launch the SmalltalkHub image 4- Evaluate: ZnZincServerAdaptor startOn: 8080 5- Visit http://localhost:8080/tools/hub, create an account and a project
Setting up the Client 6- In a different image, start monticello 7- add the repository of your new project to Monticello (something like http://localhost:8080/mc/YourUser/YourProject/main), don't forget the username and password 8- copy an existing package of your cache to the new repository
You will get an error in the client: a ZnStringEntity(text/plain 512B file is too short)
If you install Seaside-Adaptors-Kommanche and use WAKom, things will work just fine.
You can configure Seaside to open a server-side error: just setup the WAExceptionFilter to WADebugErrorHandler in http://localhost:8080/config/mc
-- Damien Cassou http://damiencassou.seasidehosting.st
"Success is the ability to go from one failure to another without losing enthusiasm." Winston Churchill
Thanks for the detailed instructions, now I have StHub & mongo running on my machine ;-) The problem you reported can easily be fixed by loading the latest version of Zinc-Seaaside (the one in the StHub image is very old). Now, it still does not fully work, but I don't understand all the Sh and MA stuff, I am afraid. But if you go up the stack until you find Seaside's aRequestContext and find the request body in it (the data which was PUT), you can do (ZipArchive new readFrom: self asByteArray readStream) members on it, so for me that means the data arrives OK. If you have another problem with the Zinc/Adaptor part, please let me know. HTH, Sven PS: