[Chandler-dev] Use of OPTIONS instead of PROPFIND

Grant Baillie grant at osafoundation.org
Tue Jun 26 09:57:33 PDT 2007


On 26 Jun, 2007, at 09:51, Morgen Sagen wrote:

> I was thinking about this yesterday and it's possible that I could  
> simply have Chandler start off with a GET of the URL.  Then,  
> looking at the Content-Type header in the response, I could do the  
> following:
>
> "application/eim+xml" -- hand the response body to the morsecode  
> subscription code.
> "text/html" -- parse the response body for a morsecode URL; if  
> there is one embedded, GET the morsecode URL, passing new response  
> body to morsecode; otherwise this could either be a regular web  
> page or it could be a DAV collection, so I could then OPTIONS and  
> look for a DAV header.
> "text/calendar" -- hand the response body to the monolithic  
> icalendar file parser
>
> Storing the response from the initial GET and passing it to the  
> code that will eventually process it (rather than having that code  
> go and fetch it itself as it does today) will take a little bit of  
> work, but should be possible.
>
> How does this sound?

Hmm... I think this would be wrong in the case of CalDAV collections  
that return text/calendar for a GET of their collection URL: You'd  
end up with a read-only .ics-style subscription instead of a CalDAV  
subscription.

I know cosmo used to be one such server, I'm not sure if other CalDAV  
servers do it (Apple's might well, to support older versions of  
iCal.app).

--Grant

> On May 16, 2007, at 2:23 PM, Jared Rhine wrote:
>
>> What follows is an inquiry about the advisability and effort of  
>> using HTTP "OPTIONS" instead of "PROPFIND" for Chandler to  
>> determine if a given URL is a DAV URL.  The inquiry is primarily  
>> directed to Morgen.
>>
>> I've spent a couple days looking at the server-side of a real- 
>> world Morse Code driven service looks like.  The standard pattern  
>> for a synchronization is a 4-transaction HTTP set:
>>
>> 71.202.115.113 - - [16/May/2007:13:45:17 -0700] "PROPFIND /pim/ 
>> collection/723886a6-705d-11db-8ee8-99b22f7fce88?ticket=1zaf4xxac0  
>> HTTP/1.1" 501 1238 "-" "Chandler/0.7.dev-r14332 (Linux; U; i386;  
>> en_US)"
>>
>> 71.202.115.113 - - [16/May/2007:13:45:17 -0700] "HEAD /pim/ 
>> collection/723886a6-705d-11db-8ee8-99b22f7fce88?ticket=1zaf4xxac0  
>> HTTP/1.1" 200 - "-" "Chandler/0.7.dev-r14332 (Linux; U; i386; en_US)"
>>
>> 71.202.115.113 - - [16/May/2007:13:45:17 -0700] "GET /pim/ 
>> collection/723886a6-705d-11db-8ee8-99b22f7fce88?ticket=1zaf4xxac0  
>> HTTP/1.1" 200 5533 "-" "Chandler/0.7.dev-r14332 (Linux; U; i386;  
>> en_US)"
>>
>> 71.202.115.113 - - [16/May/2007:13:45:17 -0700] "GET /mc/ 
>> collection/723886a6-705d-11db-8ee8-99b22f7fce88 HTTP/1.1" 200  
>> 1243606 "-" "Chandler/0.7.dev-r14332 (Linux; U; i386; en_US)"
>>
>> So, it's a PROPFIND + HEAD + GET /pim + GET /mc.
>>
>> The initial PROPFIND operation helps Chandler determine if it's  
>> working with a DAV-based URL.
>>
>> Essentially every Chandler-driven PROPFIND against the server will  
>> fail.  This is per the design.
>>
>> However, it tweaks a little muscle in my sysadmin head: looking  
>> for 5xx errors in an access log is one of the primary ways to tell  
>> if something is breaking on the server.  You better pay attention  
>> if that metric suddenly spikes.
>>
>> So I've a mild aversion to a regular, everyday operation  
>> generating what looks like an exception condition.
>>
>> All Chandler is trying to do is figure out if the URL is a DAV  
>> URL. There's already a standard WebDAV mechanism to determine  
>> this; it's the HTTP OPTIONS method.
>>
>> I hesitate to even ask the question as what we have now works, and  
>> it'd be a Morgen task, and Morgen is quite the busy camper these  
>> days.  But the question is out there now, and I'm guessing I'll  
>> get a pretty reasonable answer that a good balance of these concerns.
>>
>> Thoughts?
>>
>> -- Jared
>> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>>
>> Open Source Applications Foundation "chandler-dev" mailing list
>> http://lists.osafoundation.org/mailman/listinfo/chandler-dev
>
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> Open Source Applications Foundation "chandler-dev" mailing list
> http://lists.osafoundation.org/mailman/listinfo/chandler-dev



More information about the chandler-dev mailing list