Hi Jerome,

I was going to post the message that appears later. I did upgrade to
the latest jetty-util-6.0.0.jar  and jetty-6.0.0.jar released around
10.09.06 the IllegalStateException (as mentioned later) doesn't occur
anymore.

But the usual HTTP Basic authentication dialog doesn't popup either!

New logtrace:

19.09.2006 17:48:35 com.noelios.restlet.GuardFilter authenticate
INFO: Authentication failed: no challenge response provided.
19.09.2006 17:48:35 com.noelios.restlet.LogFilter handle
INFO: 2006-09-19        17:48:35        GET     /shutdown       -       
127.0.0.1       -       Mozilla/5.0
(Windows; U; Windows NT 5.1; en-GB; rv:1.8.0.7) Gecko/20060909
Firefox/1.5.0.7 -       401     439     -       http://localhost:8182   31


and the browser just shows:

HTTP ERROR: 401
The request requires user authentication
RequestURI=/shutdown
Powered by Jetty://

Any clues as to what is going on here or should I investigate further?

Would you be including the latest release of Jetty 6 binaries with beta 19?

Cheers
Piyush




Hi,

Did anyone notice anything amiss with the guardfilter in b18 using the
Jetty 6 connector I get the following log/stacktrace (attached at the
end)

I am basically providing a resource that can shutdown the entire
server. Invoking /shutdown should do that. It would be naive to
provide that without a guard. The config that I use to initialize the
guard and the backup is as follows

<restlet handler="com.piy.sandbox.restlet.config.handlers.GuardFilterHandler">
                  <parameter name="pattern" value="/shutdown"/>
                   <parameter name="logName" value="com.piy.sandbox.restlet"/>
                   <parameter name="authentication" value="true"/>
                   <parameter name="scheme" value="http_basic"/>
                   <parameter name="realm" value="server shutdown"/>
                   <parameter name="authorization" value="true"/>
                   <restlet
handler="com.piy.sandbox.restlet.config.handlers.AbstractRestletHandler">
                       <parameter name="class"
value="com.piy.sandbox.restlet.ShutdownRestlet"/>
                   </restlet>
               </restlet>

So this GuardFilter (created by the GuardFilterHandler) and
ShutdownRestlet combo register themselves to a HostRouter using the
pattern "/shutdown".

I tried both firefox and IE to rule out browser issues.

Looking at the at the log/stacktrace the GuardFilter is invoked and
com.noelios.restlet.connector.AbstractHttpServer propogates the
IllegalStateException that  org.mortbay.jetty.HttpGenerator.addContent
throws up which in turn points out that the connection that it tried
writing to was already closed.

So I am trying to figure out is that Restlet's way of using Jetty or
is it Jetty and I need to maybe upgrade to a newer beta. Is it a
config issue?

Before I investigate further I wanted to poll the list for sightings
of such a behaviour.

Cheers
Piyush


----------------- <log/stacktrace>---------------------

19.09.2006 17:20:15 com.noelios.restlet.GuardFilter authenticate
INFO: Authentication failed: no challenge response provided.

19.09.2006 17:20:15 com.noelios.restlet.LogFilter handle
INFO: 2006-09-19        17:20:15        GET     /shutdown       -       
127.0.0.1       -       Mozilla/5.0
(Windows; U; Windows NT 5.1; en-GB; rv:1.8.0.7) Gecko/20060909
Firefox/1.5.0.7 -       401     439     -       http://localhost:8182   15
19.09.2006 17:20:15 com.noelios.restlet.connector.AbstractHttpServer handle

WARNING: Error while handling an HTTP server call:
19.09.2006 17:20:15 com.noelios.restlet.connector.AbstractHttpServer handle
INFO: Error while handling an HTTP server call
java.lang.IllegalStateException: Closed
       at org.mortbay.jetty.HttpGenerator.addContent(HttpGenerator.java:315)
       at org.mortbay.jetty.HttpGenerator$Output.write(HttpGenerator.java:1114)
       at org.mortbay.jetty.HttpGenerator$Output.write(HttpGenerator.java:1058)
       at sun.nio.cs.StreamEncoder$CharsetSE.writeBytes(StreamEncoder.java:336)
       at 
sun.nio.cs.StreamEncoder$CharsetSE.implFlushBuffer(StreamEncoder.java:404)
       at sun.nio.cs.StreamEncoder$CharsetSE.implFlush(StreamEncoder.java:408)
       at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:152)
       at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:213)
       at 
com.noelios.restlet.data.StringRepresentation.write(StringRepresentation.java:177)
       at 
com.noelios.restlet.connector.AbstractHttpServerCall.sendResponseOutput(AbstractHttpServerCall.java:265)
       at 
com.noelios.restlet.ext.jetty.JettyCall.sendResponseOutput(JettyCall.java:265)
       at 
com.noelios.restlet.connector.AbstractHttpServer.handle(AbstractHttpServer.java:131)
       at 
com.noelios.restlet.connector.AbstractHttpServer.handle(AbstractHttpServer.java:106)
       at 
com.noelios.restlet.ext.jetty.JettyServer$WrappedServer.handle(JettyServer.java:208)
       at 
org.mortbay.jetty.HttpConnection.handlerRequest(HttpConnection.java:396)
       at 
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:652)
       at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:488)
       at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:198)
       at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:311)
       at 
org.mortbay.jetty.nio.HttpChannelEndPoint.run(HttpChannelEndPoint.java:270)
       at 
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)

Reply via email to