1<testcase> 2<info> 3<keywords> 4Metalink 5HTTP 6HTTP GET 7FILE 8</keywords> 9</info> 10 11# 12# Server-side 13<reply> 14<data nocheck="yes"> 15HTTP/1.1 200 OK 16Date: Thu, 21 Jun 2012 17:37:27 GMT 17Server: test-server/fake 18Content-Length: 41 19Connection: close 20Content-Type: text/html 21Content-Disposition: filename=name2010; charset=funny; option=strange 22Funny-head: yesyes 23 24Contents delivered from an HTTP resource 25</data> 26</reply> 27 28# 29# Client-side 30<client> 31<features> 32file 33Metalink 34</features> 35<server> 36http 37</server> 38 <name> 39Metalink local XML file, HTTP resource, using -o fname -D file 40 </name> 41<command option="no-output,no-include"> 42--metalink file://%PWD/log/test2010.metalink -o log/outfile2010 -D log/heads2010 43</command> 44# local metalink file written before test command runs 45<file name="log/test2010.metalink"> 46<?xml version="1.0" encoding="utf-8"?> 47<metalink version="3.0" xmlns="http://www.metalinker.org/"> 48 <files> 49 <file name="log/download2010"> 50 <verification> 51 <hash type="md5">we-only-check-the-strongest-hash-provided</hash> 52 <hash type="sha256">19dcb4e2a99b9cd02c30b1ed6c55869b7ef8cda9f985648909c48a6dbb54356c</hash> 53 </verification> 54 <resources maxconnections="1"> 55 <url type="http" preference="90">http://%HOSTIP:%HTTPPORT/2010</url> 56 </resources> 57 </file> 58 </files> 59</metalink> 60</file> 61<postcheck> 62perl %SRCDIR/libtest/notexists.pl log/2010 log/name2010 log/outfile2010 63</postcheck> 64</client> 65 66# 67# Verify data after the test has been "shot" 68<verify> 69<protocol> 70GET /2010 HTTP/1.1 71Host: %HOSTIP:%HTTPPORT 72User-Agent: curl/%VERSION 73Accept: */* 74 75</protocol> 76<file1 name="log/download2010"> 77Contents delivered from an HTTP resource 78</file1> 79# The Content-Length replace here is to handle with 4/5 digit port number in 80# the content 81<stripfile2> 82s/Last-Modified:.*// 83s/Content-Length: 49[67]/Content-Length: yeps/ 84</stripfile2> 85<file2 name="log/heads2010"> 86Content-Length: yeps 87Accept-ranges: bytes 88 89 90HTTP/1.1 200 OK 91Date: Thu, 21 Jun 2012 17:37:27 GMT 92Server: test-server/fake 93Content-Length: 41 94Connection: close 95Content-Type: text/html 96Content-Disposition: filename=name2010; charset=funny; option=strange 97Funny-head: yesyes 98 99</file2> 100<file3 name="log/stdout2010"> 101</file3> 102<file4 name="log/stderr2010" mode="text"> 103Metalink: parsing (file://%PWD/log/test2010.metalink) metalink/XML... 104Metalink: parsing (file://%PWD/log/test2010.metalink) OK 105Metalink: fetching (log/download2010) from (http://%HOSTIP:%HTTPPORT/2010)... 106Metalink: fetching (log/download2010) from (http://%HOSTIP:%HTTPPORT/2010) OK 107Metalink: validating (log/download2010)... 108Metalink: validating (log/download2010) [sha-256] OK 109</file4> 110<stripfile4> 111$_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i)) 112</stripfile4> 113</verify> 114</testcase> 115