The server doesn't know what to do with a PROPFIND request. <br><br>After it goes through the sequence of dispatchers, it bottoms out. Perhaps this is not the best way of handling the error.<br><br>You can write your WebDAV as either
<br>a) A servlet<br><br>or<br><br>b) A dispatcher<br><br>Writing a servlet just requires changing the line you already found in request-parsing. I will look into making this easier.<br><br>Writing a dispatcher requires you to understand some undocumented features. But I can help you with this.
<br><br>I recommend prototyping in a servlet then turning it into a dispatcher or using a special continuation manager.<br><br><div><span class="gmail_quote">On 5/26/06, <b class="gmail_sendername">Vincent Kraeutler</b> &lt;
<a href="mailto:vincent@igc.phys.chem.ethz.ch">vincent@igc.phys.chem.ethz.ch</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<br><br>I am currently dabbling with WebDAV and use this as an excuse<br>to try to get into lisp in general and DrScheme in particular.<br><br>I've started the web-server from within DrScheme like so<br><br>(require (lib &quot;
web-server.ss&quot; &quot;web-server&quot;))<br>(require (lib &quot;configuration.ss&quot; &quot;web-server&quot;))<br><br>(serve<br> (load-configuration<br>&nbsp;&nbsp;(string-&gt;path &quot;/Applications/PLT Scheme v301/collects/web-server/configuration-table&quot;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)))<br><br>and worked my way through a bunch of example servlets,<br>and I have to say I'm really happy with how my newbie-mistakes<br>are nicely reported in the interactions window, so I can fix<br>them and move on. Congrats to those involved!
<br><br>Moving away from basic servlets, I seem to have hit a bit of a<br>wall. I'm trying to teach the web-server to react in some way to<br>WebDAV requests such as PROPFIND etc.<br><br>Initially, when interactively supplying
<br>PROPFIND / HTTP/1.1<br>or<br>PROPFIND /servlets/test.ss HTTP/1.1<br>via telnet, it would immediately close the connection. This I quickly<br>found out to be due to<br><br>&nbsp;&nbsp;(define METHOD:REGEXP<br>&nbsp;&nbsp;&nbsp;&nbsp;(byte-regexp #&quot;^(GET|HEAD|POST|PUT|DELETE|TRACE) (.+) HTTP/([0-9]+)\\.([0-9]+)$&quot;))
<br><br>in web-server/request-parsing.ss . Changing that to<br><br>&nbsp;&nbsp;(define METHOD:REGEXP<br>&nbsp;&nbsp;&nbsp;&nbsp;(byte-regexp #&quot;^(GET|HEAD|POST|PUT|DELETE|TRACE|PROPFIND) (.+) HTTP/([0-9]+)\\.([0-9]+)$&quot;))<br><br>it now seems to be doing something for a few seconds, followed by
<br>losing the connection. I was naively hoping to get a nice long error<br>message taking me a step further, but neither DrScheme nor the log<br>file report anything. Is it just running in circles until it hits a<br>timeout? Trying to backtrack the code, I have come as far as read-request
<br>(i.e. not very far ;-) ), at which point I'm losing the connection ;-).<br><br>Any useful pointers or ideas to make the system more talkative would be very<br>much appreciated.&nbsp;&nbsp;Also, before I spend too much time on this -- any
<br>judgement by those in the know on whether trying to marry the PLT<br>web-server with WebDAV is utter stupidity would also be very welcome.<br><br>Kind regards,<br>v.<br>_________________________________________________
<br>&nbsp;&nbsp;For list-related administrative tasks:<br>&nbsp;&nbsp;<a href="http://list.cs.brown.edu/mailman/listinfo/plt-scheme">http://list.cs.brown.edu/mailman/listinfo/plt-scheme</a><br></blockquote></div><br><br clear="all"><br>-- <br>
Jay McCarthy &lt;<a href="mailto:jay@cs.brown.edu">jay@cs.brown.edu</a>&gt;<br><a href="http://jay.makeoutcity.com/">http://jay.makeoutcity.com/</a>