Subject: RE: WebDAV and write access discovery

From: "Hall, Shaun" <[email-masked]>
Date: Mon, 2 Jul 2001 16:31:24 +0100

All IMHO. Bits snipped.

> -----Original Message-----
> From: Steinar Bang [mailto:[email-masked]]
> Sent: 02 July 2001 15:08
> To: [email-masked]
> Subject: Re: WebDAV and write access discovery
> 
> One thing I would like to do, is to find out if a file is writable
> when I load it.  Ie. I would like to do something like:
>  - GET a file
>  - immediately start a PUT of the file with the expect header in place
>  - if I get a "100 continue" response, set the file to be R/W,
>    otherwise mark it as read-only
> 
> However, in this case the client has no intention of actually sending
> the body, even if the server returns a "100 continue", and I'm unsure
> of what happens if it doesn't?  Will the 1.1 pipeline be blocked?
> Will a new request be taken to be an empty PUT body, and the file be
> overwritten with a file of 0 bytes?

You really shouldn't do this. RFC2616 Sec 8.2.3 states "a client MUST NOT
send an Expect header .... if it does not intend to send a request body".

You will have to check, but some servers might assume any data arriving on
"the socket connection" after it has sent the response for the Expect header
*is* the body. In the case of PUT, it might store the data (which could
actually be your new request) in the file as specified by the PUT request.

Regards

Shaun Hall
Xerox Europe