W3C Reference Library Patch for PUT and POST

As I promised two days ago I have been working on a patch for PUT and POST to 
work reliably in the Library. I am now done and present the patches in two 

1) New distribution files have been generated for people who do not have easy 
access to patch programs. They are available from 


or from the distribution area


Please make sure that you get the Library _and_ all the example utilities:

	Reference Library
	Line Mode Browser
	Mini Robot
	Command Line Tool

and please remember to rebuild all applications.

2) If you are only interested in the patches then you can get them from


The patch is rather big but it contains some fixes and modifications that 
enables PUT and POST to work reliably. If you download the 4.0C version of the 
distribution then the patch has already been applied. It is basically the 
difference between versions 4.0B and 4.0C which is now the current version.

There are updated def files for Windows platforms. However, I don't have any 
news on the problems that have been reported on the mailing list. Please mail 
any progress to the list!

PUT and POST operations are handled through the POSTWeb interface which you 
can find described at


You can find examples of how to use this interface in both the Line Mode 
Browser and in the Command Line Tool.

The Library is now capable of handling redirection and authentication on the 
destination side but _not_ on the source side of a PUT or POST. This is not a 
limitation to the POSTWeb design but to the current implementation in the 

The main set of differences are: 

 * Automatic redirection and Access authentication has been taken out of the 
HTTP module. Instead the new mechanism with request callback functions are 
used so that the application can register handlers to handle these situations. 
The reason for this change is that not all applications are interested in 
having this functionality performed automatically.

* Authentication handler and redirection handler added to both the Line Mode 
Browser and the Command Line Tool

* Added three possible return codes on which a request callback function can 
be called: 
	HT_PERM_REDIRECT for permanently moved objects 
	HT_TEMP_REDIRECT for temporaryly moved objects 
	HT_NO_ACCESS for insufficient credentials 

* PUT and POST do now work reliably in the Line Mode Browser and the Command 
Line Tool. Both can PUT or POST a document from either a remote HTTP server or 
the local file system to a remote HTTP server and they can handle 
autehntication and redirection on the destination for the operation.

* An important bug-fix in the internal event manager that prevented a socket 
to be registered for multiple events at the same time. 

* Cleanup of the POSTWeb management in the file module and the HTTP module 

* In addition to progress notification on READ we now support progress 
notification when sending a data object 

* Spelling mistake fixed. preemtive is changed to preemptive. This has a 
certain impact as the wrong spelling was part of a set of methods on the 
Request object

* The W3C Mini Robot has now the ability to stop at a certain depth while 
traversing the Web. 

Have fun!


Henrik Frystyk Nielsen, <frystyk@w3.org>
World-Wide Web Consortium, MIT/LCS NE43-356
545 Technology Square, Cambridge MA 02139, USA