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 15:23:48 GMT 17Server: test-server/fake 18Content-Length: 43 19Connection: close 20Content-Type: text/html 21Content-Disposition: filename=name2008; charset=funny; option=strange 22Funny-head: yesyes 23 24Some stuff 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/test2008.metalink -o log/outfile2008 -D log/heads2008 43</command> 44# local metalink file written before test command runs 45<file name="log/test2008.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/download2008"> 50 <verification> 51 <hash type="md5">we-only-check-the-strongest-hash-provided</hash> 52 <hash type="sha256">711b1b566b536c5baae9b36f2f5c1830a7c8ff126d1afa2febc5b59f8d0aab54</hash> 53 </verification> 54 <resources maxconnections="1"> 55 <url type="http" preference="90">http://%HOSTIP:%HTTPPORT/2008</url> 56 </resources> 57 </file> 58 </files> 59</metalink> 60</file> 61<postcheck> 62perl %SRCDIR/libtest/notexists.pl log/2008 log/name2008 log/outfile2008 63</postcheck> 64</client> 65 66# 67# Verify data after the test has been "shot" 68<verify> 69<strip> 70^User-Agent:.* 71</strip> 72<protocol> 73GET /2008 HTTP/1.1 74Host: %HOSTIP:%HTTPPORT 75Accept: */* 76 77</protocol> 78<file1 name="log/download2008"> 79Some stuff delivered from an HTTP resource 80</file1> 81<stripfile2> 82s/Last-Modified:.*// 83</stripfile2> 84<file2 name="log/heads2008"> 85Content-Length: 496 86Accept-ranges: bytes 87 88 89HTTP/1.1 200 OK 90Date: Thu, 21 Jun 2012 15:23:48 GMT 91Server: test-server/fake 92Content-Length: 43 93Connection: close 94Content-Type: text/html 95Content-Disposition: filename=name2008; charset=funny; option=strange 96Funny-head: yesyes 97 98</file2> 99<file3 name="log/stdout2008"> 100</file3> 101<file4 name="log/stderr2008"> 102Metalink: parsing (file://%PWD/log/test2008.metalink) metalink/XML... 103Metalink: parsing (file://%PWD/log/test2008.metalink) OK 104Metalink: fetching (log/download2008) from (http://%HOSTIP:%HTTPPORT/2008)... 105Metalink: fetching (log/download2008) from (http://%HOSTIP:%HTTPPORT/2008) OK 106Metalink: validating (log/download2008)... 107Metalink: validating (log/download2008) [sha-256] OK 108</file4> 109<stripfile4> 110$_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i)) 111</stripfile4> 112</verify> 113</testcase> 114