119 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			119 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
<testcase>
 | 
						|
<info>
 | 
						|
<keywords>
 | 
						|
HTTP
 | 
						|
HTTP PUT
 | 
						|
followlocation
 | 
						|
</keywords>
 | 
						|
 | 
						|
</info>
 | 
						|
# Server-side
 | 
						|
<reply>
 | 
						|
<data>
 | 
						|
HTTP/1.1 301 Redirect swsclose
 | 
						|
Date: Thu, 29 Jul 2008 14:49:00 GMT
 | 
						|
Server: test-server/fake
 | 
						|
Location: data/10510002.txt?coolsite=yes
 | 
						|
Content-Length: 0
 | 
						|
Connection: close
 | 
						|
 | 
						|
</data>
 | 
						|
<data2>
 | 
						|
HTTP/1.1 100 Continue
 | 
						|
 | 
						|
HTTP/1.1 200 Followed here fine swsclose
 | 
						|
Date: Thu, 29 Jul 2008 14:49:00 GMT
 | 
						|
Server: test-server/fake
 | 
						|
Content-Length: 51
 | 
						|
 | 
						|
If this is received, the location following worked
 | 
						|
</data2>
 | 
						|
<datacheck>
 | 
						|
HTTP/1.1 301 Redirect swsclose
 | 
						|
Date: Thu, 29 Jul 2008 14:49:00 GMT
 | 
						|
Server: test-server/fake
 | 
						|
Location: data/10510002.txt?coolsite=yes
 | 
						|
Content-Length: 0
 | 
						|
Connection: close
 | 
						|
 | 
						|
HTTP/1.1 100 Continue
 | 
						|
 | 
						|
HTTP/1.1 200 Followed here fine swsclose
 | 
						|
Date: Thu, 29 Jul 2008 14:49:00 GMT
 | 
						|
Server: test-server/fake
 | 
						|
Content-Length: 51
 | 
						|
 | 
						|
If this is received, the location following worked
 | 
						|
</datacheck>
 | 
						|
</reply>
 | 
						|
 | 
						|
# Client-side
 | 
						|
<client>
 | 
						|
<server>
 | 
						|
http
 | 
						|
</server>
 | 
						|
 <name>
 | 
						|
HTTP PUT with Location: following
 | 
						|
 </name>
 | 
						|
 <command>
 | 
						|
http://%HOSTIP:%HTTPPORT/want/1051 -L -T log/test1051.txt
 | 
						|
</command>
 | 
						|
<file name="log/test1051.txt">
 | 
						|
Weird
 | 
						|
     file
 | 
						|
         to
 | 
						|
   upload
 | 
						|
for
 | 
						|
   testing
 | 
						|
the
 | 
						|
   PUT
 | 
						|
      feature
 | 
						|
</file>
 | 
						|
</client>
 | 
						|
 | 
						|
# Verify data after the test has been "shot"
 | 
						|
<verify>
 | 
						|
<strip>
 | 
						|
^User-Agent:.*
 | 
						|
</strip>
 | 
						|
 | 
						|
# The primary reason libcurl sends the data part twice in this test is that
 | 
						|
# the test HTTP server is blocking until it has read the entire request,
 | 
						|
# including the full request-body before it responds. So in this test the
 | 
						|
# server says 301 and 100 _after_ the entire PUT body has been sent.
 | 
						|
 | 
						|
<protocol>
 | 
						|
PUT /want/1051 HTTP/1.1
 | 
						|
Host: %HOSTIP:%HTTPPORT
 | 
						|
Accept: */*
 | 
						|
Content-Length: 78
 | 
						|
Expect: 100-continue
 | 
						|
 | 
						|
Weird
 | 
						|
     file
 | 
						|
         to
 | 
						|
   upload
 | 
						|
for
 | 
						|
   testing
 | 
						|
the
 | 
						|
   PUT
 | 
						|
      feature
 | 
						|
PUT /want/data/10510002.txt?coolsite=yes HTTP/1.1
 | 
						|
Host: %HOSTIP:%HTTPPORT
 | 
						|
Accept: */*
 | 
						|
Content-Length: 78
 | 
						|
Expect: 100-continue
 | 
						|
 | 
						|
Weird
 | 
						|
     file
 | 
						|
         to
 | 
						|
   upload
 | 
						|
for
 | 
						|
   testing
 | 
						|
the
 | 
						|
   PUT
 | 
						|
      feature
 | 
						|
</protocol>
 | 
						|
</verify>
 | 
						|
</testcase>
 |