--- parser3/tests/346-curl.html 2016/08/03 20:33:56 1.2 +++ parser3/tests/346-curl.html 2016/08/04 20:13:48 1.5 @@ -1,3 +1,5 @@ +@main[] + ^try-catch{ ^curl:info[] } ^try-catch{ ^curl:options[ $.charset[UTF-8] ] } ^try-catch{ ^curl:options[ $.url[http://parser.ru/] ] } @@ -7,6 +9,79 @@ ^try-catch{ ^curl:options[ $.library[no-such-library.so] ] } ^curl:session{ - ^try-catch{ ^curl:options[ $.url[ftp://parser.ru/] ] } - ^json:string[^curl:info[]] + ^try-catch{ ^curl:options[ $.url[ftp://parser.ru/] ] } + ^try-catch{ ^curl:options[ $.httppost[ $.name[ $.hash[] ]] ] } + ^try-catch{ ^curl:options[ $.httppost[string] ] } + ^try-catch{ ^curl:options[ $.no-such-option[] ] } + ^try-catch{ ^curl:info[no-such-info] } + ^json:string[^curl:info[]] + + ^curl:options[ + $.url[http://www.parser.ru/_/tests/readme] + $.timeout(5) + ] + + $f[^curl:load[ + $.range[4-] + ]] + + $f.text $f.CONTENT-RANGE + + $f[^curl:load[ + $.range[33-] + ]] + + $f.text $f.CONTENT-RANGE } + +^show[text; + $.postfields[test] + $.useragent[^taint[parser 3]] + + $.name[test.txt] + $.mode[binary] + $.content-type[something/text] +] + +^show[binary; + $.postfields[^file::load[binary;155.cfg]] +] + +^show[empty post; + $.httppost[] +] + +^try-catch{ ^curl:load[ $.url[http://no-such-domain.parser.ru/] ] } + +@show[title;options][f;text;t;post] + +$f[^curl:load[ + $options + $.timeout(5) + $.url[http://www.parser.ru/_/tests/223.pl] +]] + +$title : { +"name":"$f.name", +"size":$f.size, +"mode":"$f.mode", +"content-type":"^taint[json;$f.content-type]", +} + +$text[^taint[as-is][$f.text]] +# cut off the post's body is any +$text[^text.match[POST:(.*)][]{$post[$match.1]}] + +# create table with http headers +$t[^table::create[nameless]{^taint[as-is][^text.replace[^table::create{a b + = ^taint[^#09] +^taint[^#0A] ^taint[^#0A]}]]}] +^t.sort{$t.0} + +# print all +

Headers

+
^t.menu{$t.0	: $t.1}[^#0A]
+ +

Body

+
^taint[as-is][$post]
+