Git init
[external/curl.git] / tests / data / test1051
1 <testcase>
2 <info>
3 <keywords>
4 HTTP
5 HTTP PUT
6 followlocation
7 </keywords>
8
9 </info>
10 # Server-side
11 <reply>
12 <data>
13 HTTP/1.1 301 Redirect swsclose\r
14 Date: Thu, 29 Jul 2008 14:49:00 GMT\r
15 Server: test-server/fake\r
16 Location: data/10510002.txt?coolsite=yes\r
17 Content-Length: 0\r
18 Connection: close\r
19 \r
20 </data>
21 <data2>
22 HTTP/1.1 100 Continue\r
23 \r
24 HTTP/1.1 200 Followed here fine swsclose\r
25 Date: Thu, 29 Jul 2008 14:49:00 GMT\r
26 Server: test-server/fake\r
27 Content-Length: 51\r
28 \r
29 If this is received, the location following worked
30 </data2>
31 <datacheck>
32 HTTP/1.1 301 Redirect swsclose\r
33 Date: Thu, 29 Jul 2008 14:49:00 GMT\r
34 Server: test-server/fake\r
35 Location: data/10510002.txt?coolsite=yes\r
36 Content-Length: 0\r
37 Connection: close\r
38 \r
39 HTTP/1.1 100 Continue\r
40 \r
41 HTTP/1.1 200 Followed here fine swsclose\r
42 Date: Thu, 29 Jul 2008 14:49:00 GMT\r
43 Server: test-server/fake\r
44 Content-Length: 51\r
45 \r
46 If this is received, the location following worked
47 </datacheck>
48 </reply>
49
50 # Client-side
51 <client>
52 <server>
53 http
54 </server>
55  <name>
56 HTTP PUT with Location: following
57  </name>
58  <command>
59 http://%HOSTIP:%HTTPPORT/want/1051 -L -T log/test1051.txt
60 </command>
61 <file name="log/test1051.txt">
62 Weird
63      file
64          to
65    upload
66 for
67    testing
68 the
69    PUT
70       feature
71 </file>
72 </client>
73
74 # Verify data after the test has been "shot"
75 <verify>
76 <strip>
77 ^User-Agent:.*
78 </strip>
79
80 # The primary reason libcurl sends the data part twice in this test is that
81 # the test HTTP server is blocking until it has read the entire request,
82 # including the full request-body before it responds. So in this test the
83 # server says 301 and 100 _after_ the entire PUT body has been sent.
84
85 <protocol>
86 PUT /want/1051 HTTP/1.1\r
87 Host: %HOSTIP:%HTTPPORT\r
88 Accept: */*\r
89 Content-Length: 78\r
90 Expect: 100-continue\r
91 \r
92 Weird
93      file
94          to
95    upload
96 for
97    testing
98 the
99    PUT
100       feature
101 PUT /want/data/10510002.txt?coolsite=yes HTTP/1.1\r
102 Host: %HOSTIP:%HTTPPORT\r
103 Accept: */*\r
104 Content-Length: 78\r
105 Expect: 100-continue\r
106 \r
107 Weird
108      file
109          to
110    upload
111 for
112    testing
113 the
114    PUT
115       feature
116 </protocol>
117 </verify>
118 </testcase>