Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
moko 04.06.2015 20:31
Вот так - вроде как работает. Проблема в том, что у вас код передается параметром. А в вызове load из loadIfModified он передается уже строкой, то есть код параметра исполняется до вызова метода load. Естественно тогда $response еще пуст.@main[] #^if(^load[http://www.artlebedev.ru/;response]){ ^if(^loadIfModified[^date::now(-1);http://www.artlebedev.ru/;response]){ loaded, ^response.text.length[]=$response.CLASS_NAME }{ error } @load[URL;variable;headers;_caller] ^if(!def $_caller){ $_caller[$caller.self] } ^try{ $file[^file::load[text;^taint[as-is;$URL]][ $.headers[$headers] ]] $_caller.$variable[$file] in load: ^response.text.length[]=$response.CLASS_NAME $result(1) }{ $exception.handled(true) $result(0) } @loadIfModified[date;URL;variable] $result(^load[$URL;$variable][ $.if-modified-since[$date] ][$caller.self])