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