I've played with it... (both restlet 1.1-M4 and 1.1-SNAPSHOT, linux). POST with a ~30k image file _doesn't work_. It hangs, no response. When I press Ctrl+c, file is written completely on server. With and without the Expect http header. I tried with curl and restlet client, too. (default server connector)
POST _works_ with or without the Expect header when I use the Jetty connector. I'm not sure it is a bug, probably I misunderstand something. I tested it with an extremely simple Resource class which copy data from entity.getStream() into a file. Best zsolt On Sat, Aug 2, 2008 at 12:58 AM, Zsolt Czinkos <[EMAIL PROTECTED]> wrote: > Hello > > I'm trying to post an image file to restlet server with curl, but I > can't. Curl uses the expect header, which is - afaik - not supported > by restlet. I set the Expect header to an empty string, but the > connection still hangs. > > Has anyone managed to POST a 30k-sized file to restlet? > > -------------- > [EMAIL PROTECTED]:~/tmp/zatom$ curl -v -X POST --data-binary > "@kepmindenkirol.jpg" http://localhost:8182/test > * About to connect() to localhost port 8182 (#0) > * Trying 127.0.0.1... connected > * Connected to localhost (127.0.0.1) port 8182 (#0) >> POST /test HTTP/1.1 >> User-Agent: curl/7.18.0 (i486-pc-linux-gnu) libcurl/7.18.0 OpenSSL/0.9.8g >> zlib/1.2.3.3 libidn/1.1 >> Host: localhost:8182 >> Accept: */* >> Content-Length: 36294 >> Content-Type: application/x-www-form-urlencoded >> Expect: 100-continue >> > > after a while press Ctrl + C > > Then restlet logs this: > > Aug 2, 2008 12:57:07 AM com.noelios.restlet.http.HttpServerConverter commit > INFO: The connection was broken. It was probably closed by the client. > java.io.IOException: Broken pipe > at sun.nio.ch.FileDispatcher.write0(Native Method) > at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:29) > at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:104) > at sun.nio.ch.IOUtil.write(IOUtil.java:75) > at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:334) > at java.nio.channels.Channels.write(Channels.java:60) > at java.nio.channels.Channels.access$000(Channels.java:47) > at java.nio.channels.Channels$1.write(Channels.java:134) > at java.io.OutputStream.write(OutputStream.java:58) > at java.nio.channels.Channels$1.write(Channels.java:115) > at > com.noelios.restlet.http.HttpServerCall.writeResponseHead(HttpServerCall.java:579) > at > com.noelios.restlet.http.StreamServerCall.writeResponseHead(StreamServerCall.java:177) > at > com.noelios.restlet.http.HttpServerCall.sendResponse(HttpServerCall.java:473) > at > com.noelios.restlet.http.HttpServerConverter.commit(HttpServerConverter.java:358) > at > com.noelios.restlet.http.HttpServerHelper.handle(HttpServerHelper.java:138) > at > com.noelios.restlet.http.StreamServerHelper$ConnectionHandler.run(StreamServerHelper.java:75) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > at java.util.concurrent.FutureTask.run(FutureTask.java:138) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) > at java.lang.Thread.run(Thread.java:619) > ---------------- > > > Thanks in advance > > zsolt >

