예제 #1
0
 function testParseCacheTime()
 {
     $client = new \arc\http\ClientStream();
     $headers = ['Expires: ' . gmdate('D, d M Y H:i:s T', time() + 100)];
     date_default_timezone_set("UTC");
     $cachetime = \arc\http\headers::parseCacheTime($headers);
     $this->assertTrue($cachetime > 0);
 }
예제 #2
0
파일: index.php 프로젝트: poef/arc-examples
function run()
{
    $client = \arc\cache::proxy(\arc\http::client(), function ($params) {
        return \arc\http\headers::parseCacheTime($params['target']->responseHeaders);
    });
    $feeds = handleFeeds(__DIR__ . '/../data/feeds.json', $client);
    $aggregator = aggregator($client);
    echo h::doctype() . h::html(h::head(h::title('RSS Aggregator'), h::link(['href' => '//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css', 'rel' => 'stylesheet']), h::link(['href' => 'cards.css', 'rel' => 'stylesheet']), h::script(['src' => '//code.jquery.com/jquery-1.12.0.min.js']), h::script(['src' => 'cards.js'])), h::body(h::raw($aggregator->render($feeds)), h::footer(h::form(['method' => 'POST'], h::input(['name' => 'newFeed']), h::button(['ype' => 'submit'], 'Add feed')))));
}
예제 #3
0
파일: http.Test.php 프로젝트: poef/ariadne
    function testCacheMultiple()
    {
        $headerString = <<<EOF
HTTP/1.1 200 OK
Cache-Control: public
Cache-Control: max-age=300,s-maxage=900
EOF;
        $headers = \arc\http\headers::parse($headerString);
        $cachetime = \arc\http\headers::parseCacheTime($headers);
        $this->assertEquals(300, $cachetime);
    }
예제 #4
0
파일: index.php 프로젝트: poef/arc-examples
<?php

require __DIR__ . '/../vendor/autoload.php';
use arc\html as h;
use arc\xml as x;
$client = \arc\cache::proxy(\arc\http::client(), function ($params) {
    return \arc\http\headers::parseCacheTime($params['target']->responseHeaders);
});
$feed = $client->get('https://www.nasa.gov/rss/dyn/breaking_news.rss');
try {
    $rss = x::parse($feed);
} catch (\Exception $e) {
    $rss = h::parse($feed);
}
$items = $rss->find('item');
foreach ($items as $item) {
    echo h::article(h::h2(h::a(['href' => $item->link->nodeValue], $item->title->nodeValue)), h::div(['class' => 'body'], $item->description->nodeValue));
}