Archive-Har
view release on metacpan or search on metacpan
t/firebug_get.t view on Meta::CPAN
},
{
"name": "Cache-Control",
"value": "no-cache"
}
],
"queryString": [],
"headersSize": 341,
"bodySize": -1
},
"response": {
"status": 200,
"statusText": "OK",
"httpVersion": "HTTP/1.1",
"cookies": [],
"headers": [
{
"name": "Server",
"value": "nginx"
},
{
"name": "Date",
"value": "Fri, 23 Mar 2012 01:32:11 GMT"
},
{
"name": "Content-Type",
"value": "application/x-javascript; charset=UTF-8"
},
{
"name": "Last-Modified",
"value": "Mon, 19 Mar 2012 14:58:36 GMT"
},
{
"name": "Transfer-Encoding",
"value": "chunked"
},
{
"name": "Connection",
"value": "keep-alive"
},
{
"name": "Expires",
"value": "Sat, 23 Mar 2013 01:32:11 GMT"
},
{
"name": "Cache-Control",
"value": "max-age=31536000"
},
{
"name": "Vary",
"value": "Accept-Encoding"
},
{
"name": "Content-Encoding",
"value": "gzip"
}
],
"content": {
"mimeType": "application/x-javascript",
"size": 176455,
"text": "if(typeof YAHOO==\"undefined\"||!YAHOO){var YAHOO={}}YAHOO.namespace=function(){var a=arguments,h=null,k,l,j;for(k=0;k<a.length;k=k+1){j=(\"\"+a[k]).split(\".\");h=YAHOO;for(l=(j[0]==\"YAHOO\")?1:0;l<j.length;l=l+1){h[j[l]]=h[j[l...
},
"redirectURL": "",
"headersSize": 344,
"bodySize": 56690
},
"cache": {},
"timings": {
"blocked": 297,
"dns": 0,
"connect": 0,
"send": 0,
"wait": 811,
"receive": 546
},
"serverIPAddress": "46.51.216.187",
"connection": "443"
},
{
"pageref": "page_16683",
"startedDateTime": "2012-03-23T12:35:26.853+11:00",
"time": 842,
"request": {
"method": "GET",
"url": "https://duckduckgo.com/f2/us.png",
"httpVersion": "HTTP/1.1",
"cookies": [],
"headers": [
{
"name": "Host",
"value": "duckduckgo.com"
},
{
"name": "User-Agent",
"value": "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/2010.111 Firefox/11.0"
},
{
"name": "Accept",
"value": "image/png,image/*;q=0.8,*/*;q=0.5"
},
{
"name": "Accept-Language",
"value": "en-us,en;q=0.5"
},
{
"name": "Accept-Encoding",
"value": "gzip, deflate"
},
{
"name": "Connection",
"value": "keep-alive"
},
{
"name": "Referer",
"value": "https://duckduckgo.com/?q=http+archive+specification"
},
{
"name": "Pragma",
"value": "no-cache"
},
{
t/firebug_get.t view on Meta::CPAN
"value": "nginx"
},
{
"name": "Date",
"value": "Fri, 23 Mar 2012 01:32:18 GMT"
},
{
"name": "Content-Type",
"value": "image/png"
},
{
"name": "Content-Length",
"value": "160"
},
{
"name": "Last-Modified",
"value": "Fri, 13 Jan 2012 18:36:15 GMT"
},
{
"name": "Connection",
"value": "keep-alive"
},
{
"name": "Expires",
"value": "Sat, 23 Mar 2013 01:32:18 GMT"
},
{
"name": "Cache-Control",
"value": "max-age=31536000, public"
},
{
"name": "Accept-Ranges",
"value": "bytes"
}
],
"content": {
"mimeType": "image/png",
"size": 160
},
"redirectURL": "",
"headersSize": 290,
"bodySize": 160
},
"cache": {},
"timings": {
"blocked": 0,
"dns": 0,
"connect": 561,
"send": 0,
"wait": 265,
"receive": 0
},
"serverIPAddress": "46.51.216.187",
"connection": "443"
}
]
}
}
_FIREBUG_RESULTS_
ok($har->string($firebug_get_string), "Successfully read firebug har archive for https://duckduckgo.com/?q=http+archive+specification");
ok($har->version() eq '1.1', "INPUT: Firebug produces a version 1.1 http archive");
ok($har->creator()->name() eq 'Firebug', "INPUT: Firebug's creator name is 'Firebug'");
ok($har->creator()->version() eq '1.9', "INPUT: Pingdom's creator version is '1.9'");
ok(not(defined $har->creator()->comment()), "INPUT: Pingdom's creator comment is not defined");
ok($har->browser()->name() eq 'Firefox', "INPUT: Firebug's browser name is 'Firefox'");
ok($har->browser()->version() eq '11.0', "INPUT: Firebug's browser version is '11.0'");
ok(not(defined $har->browser()->comment()), "INPUT: Firebug's browser comment is not defined");
($firstEntry) = $har->entries();
ok(scalar $firstEntry->request()->headers() == 9, "INPUT: Firebug's archive first entry request has 9 headers");
my @headers = $firstEntry->request()->headers();
ok($headers[1]->name() eq 'User-Agent', "INPUT: Firebug's archive first entry second header has a name of 'User-Agent'");
ok($headers[1]->value() eq 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/2010.111 Firefox/11.0', "INPUT: Firebug's archive first entry second header has a value of 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20100101 Firefox/11.0'");
my @queryString = $firstEntry->request()->query_string();
ok($queryString[0]->name() eq 'q', "INPUT: Firebug's archive first entry first query parameter has a name of 'q'");
ok($queryString[0]->value() eq 'http archive specification', "INPUT: Firebug's archive first entry first query parameter has a value of 'http archive specification'");
ok($firstEntry->request()->headers_size(undef) == 394, "INPUT: Firebug's archive first entry request has a header size of 394");
ok(not(defined $firstEntry->request()->headers_size(-1)), "INPUT: Firebug's archive first entry request has a header size that is not defined (after being set to undef)");
ok(not(defined $firstEntry->request()->headers_size(394)), "INPUT: Firebug's archive first entry request has a header size that is not defined (after being set to -1)");
ok(not(defined $firstEntry->request()->body_size()), "INPUT: Firebug's archive first entry request has a body size that is not defined");
ok(not(defined $firstEntry->request()->post_data()), "INPUT: Firebug's archive first entry request has a post data reference that is not defined");
my $firebug_ref = $har->hashref();
ok($firebug_ref->{log}->{version} eq '1.1', "OUTPUT: Firebug produces a version 1.1 http archive");
ok($firebug_ref->{log}->{creator}->{name} eq 'Firebug', "OUTPUT: Firebug's creator name is 'Firebug'");
ok($firebug_ref->{log}->{creator}->{version} eq '1.9', "OUTPUT: Firebug's creator version is '1.9'");
ok(not(exists $firebug_ref->{log}->{creator}->{comment}), "OUTPUT: Firebug's creator comment does not exist");
ok($firebug_ref->{log}->{browser}->{name} eq 'Firefox', "OUTPUT: Firebug's browser name is 'Firefox'");
ok($firebug_ref->{log}->{browser}->{version} eq '11.0', "OUTPUT: Firebug's browser version is '11.0'");
ok(not(exists $firebug_ref->{log}->{browser}->{comment}), "OUTPUT: Firebug's browser comment does not exist");
ok($firebug_ref->{log}->{entries}->[0]->{request}->{headers}->[1]->{name} eq 'User-Agent', "OUTPUT: Firebug's archive first entry second header has a name of 'User-Agent'");
ok($firebug_ref->{log}->{entries}->[0]->{request}->{headers}->[1]->{value} eq 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/2010.111 Firefox/11.0', "OUTPUT: Firebug's archive first entry second header has a value of 'Mozilla/5.0 (Windows NT 6.1...
ok($firebug_ref->{log}->{entries}->[0]->{request}->{queryString}->[0]->{name} eq 'q', "OUTPUT: Firebug's archive first entry first query parameter has a name of 'q'");
ok($firebug_ref->{log}->{entries}->[0]->{request}->{queryString}->[0]->{value} eq 'http archive specification', "OUTPUT: Firebug's archive first entry first query parameter has a value of 'http archive specification'");
ok($firebug_ref->{log}->{entries}->[0]->{request}->{headersSize} eq '394', "OUTPUT: Firebug's archive first entry has a header size of 394");
$firstEntry->request()->headers_size(undef);
$firebug_ref = $har->hashref();
ok($firebug_ref->{log}->{entries}->[0]->{request}->{headersSize} eq '-1', "OUTPUT: Firebug's archive first entry has a header size of '-1' (after being set to undef)");
$firstEntry->request()->headers_size(-1);
$firebug_ref = $har->hashref();
ok($firebug_ref->{log}->{entries}->[0]->{request}->{headersSize} eq '-1', "OUTPUT: Firebug's archive first entry has a header size of '-1' (after being set to -1)");
ok($firebug_ref->{log}->{entries}->[0]->{request}->{bodySize} eq '-1', "OUTPUT: Firebug's archive first entry has a body size of '-1'");
ok(not(exists $firebug_ref->{log}->{entries}->[0]->{request}->{postData}), "OUTPUT: Firebug's archive first entry does not have a postData reference");
( run in 0.554 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )