| Новости | 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])