Archive-Har
view release on metacpan or search on metacpan
t/firebug_cookies_n_cache.t view on Meta::CPAN
{
"name": "Host",
"value": "www.google.com"
},
{
"name": "User-Agent",
"value": "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20100101 Firefox/11.0"
},
{
"name": "Accept",
"value": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
},
{
"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://accounts.google.com/ServiceLogin?service=mail&passive=true&rm=false&continue=https://mail.google.com/mail/&ss=1&scc=1<mpl=default<mplcache=2"
},
{
"name": "Cookie",
"value": "GMAIL_RTT=270"
}
],
"queryString": [
{
"name": "continue",
"value": "https://mail.google.com/mail/"
},
{
"name": "gaps",
"value": "AHwGkRnIr9MHrtSt185ONR1lo-pCrkYz6yM6OsQ7bVzmMns3l13BWiR9PLWiDq0l6rLX2DvH8M3twg6yaZyOdFqKlMIWNA9HmA"
},
{
"name": "hl",
"value": "en"
},
{
"name": "service",
"value": "mail"
}
],
"headersSize": 663,
"bodySize": -1
},
"response": {
"status": 200,
"statusText": "OK",
"httpVersion": "HTTP/1.1",
"cookies": [
{
"name": "accountrecoverylocale",
"value": "en",
"expires": "2012-04-10T10:22:42.000+10:00",
"path": "/accounts/recovery",
"httpOnly": true
},
{
"name": "mainpageaccountrecoveryparamscookie",
"value": "CmJBSHdHa1JuSXI5TUhydFN0MTg1T05SMWxvLXBDcmtZejZ5TTZPc1E3YlZ6bU1uczNsMTNCV2lSOVBMV2lEcTBsNnJMWDJEdkg4TTN0d2c2eWFaeU9kRnFLbE1JV05BOUhtQRIdaHR0cHM6Ly9tYWlsLmdvb2dsZS5jb20vbWFpbC8gspOJo8ub6qNN",
"expires": "2012-04-10T10:22:42.000+10:00",
"path": "/accounts/recovery",
"httpOnly": true
},
{
"name": "S",
"value": "account-recovery",
"domain": ".google.com",
"path": "/",
"httpOnly": true
}
],
"headers": [
{
"name": "Cache-Control",
"value": "no-cache, max-age=0, must-revalidate"
},
{
"name": "Pragma",
"value": "no-cache"
},
{
"name": "Expires",
"value": "Fri, 01 Jan 1990 00:00:00 GMT"
},
{
"name": "Date",
"value": "Tue, 03 Apr 2012 00:22:42 GMT"
},
{
"name": "Set-Cookie",
"value": "accountrecoverylocale=en; Expires=Tue, 10-Apr-2012 00:22:42 GMT; Path=/accounts/recovery; Secure; HttpOnly\nmainpageaccountrecoveryparamscookie=CmJBSHdHa1JuSXI5TUhydFN0MTg1T05SMWxvLXBDcmtZejZ5TTZPc1E3YlZ6bU1uczNsMTNCV2lSOVBMV2...
},
{
"name": "Content-Type",
"value": "text/html; charset=UTF-8"
},
{
"name": "Content-Encoding",
"value": "gzip"
},
{
"name": "X-Content-Type-Options",
"value": "nosniff"
},
{
"name": "X-Frame-Options",
"value": "SAMEORIGIN"
},
{
"name": "X-XSS-Protection",
"value": "1; mode=block"
},
{
"name": "Content-Length",
"value": "2533"
},
{
"name": "Server",
"value": "GSE"
}
],
"content": {
"mimeType": "text/html",
"size": 2533
},
"redirectURL": "",
"headersSize": 865,
"bodySize": 2533
},
"cache": {},
"timings": {
"blocked": 1,
"dns": 0,
"connect": 709,
"send": 0,
"wait": 260,
"receive": 1
},
"serverIPAddress": "74.125.237.116",
"connection": "443"
},
{
"pageref": "page_7372",
"startedDateTime": "2012-04-03T10:22:45.260+10:00",
"time": 63,
"request": {
"method": "GET",
"url": "https://www.google.com/accounts/recovery/resources/3135485014-options_bin.js",
"httpVersion": "HTTP/1.1",
"cookies": [
{
"name": "accountrecoverylocale",
"value": "en"
},
{
"name": "mainpageaccountrecoveryparamscookie",
"value": "CmJBSHdHa1JuSXI5TUhydFN0MTg1T05SMWxvLXBDcmtZejZ5TTZPc1E3YlZ6bU1uczNsMTNCV2lSOVBMV2lEcTBsNnJMWDJEdkg4TTN0d2c2eWFaeU9kRnFLbE1JV05BOUhtQRIdaHR0cHM6Ly9tYWlsLmdvb2dsZS5jb20vbWFpbC8gspOJo8ub6qNN"
},
{
"name": "GMAIL_RTT",
"value": "270"
},
{
"name": "S",
"value": "account-recovery=bD7NAj-9Icg"
}
],
"headers": [
{
"name": "Host",
"value": "www.google.com"
},
{
"name": "User-Agent",
"value": "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20100101 Firefox/11.0"
},
{
"name": "Accept",
"value": "*/*"
},
{
"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://www.google.com/accounts/recovery?hl=en&gaps=AHwGkRnIr9MHrtSt185ONR1lo-pCrkYz6yM6OsQ7bVzmMns3l13BWiR9PLWiDq0l6rLX2DvH8M3twg6yaZyOdFqKlMIWNA9HmA&service=mail&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F"
},
{
"name": "Cookie",
"value": "accountrecoverylocale=en; mainpageaccountrecoveryparamscookie=CmJBSHdHa1JuSXI5TUhydFN0MTg1T05SMWxvLXBDcmtZejZ5TTZPc1E3YlZ6bU1uczNsMTNCV2lSOVBMV2lEcTBsNnJMWDJEdkg4TTN0d2c2eWFaeU9kRnFLbE1JV05BOUhtQRIdaHR0cHM6Ly9tYWlsLmdvb2dsZS5j...
}
],
"queryString": [],
"headersSize": 811,
"bodySize": -1
},
"response": {
"status": 200,
"statusText": "OK",
"httpVersion": "HTTP/1.1",
"cookies": [],
"headers": [
{
"name": "Expires",
"value": "Fri, 27 Apr 2012 14:27:20 GMT"
},
{
"name": "Date",
"value": "Wed, 28 Mar 2012 14:27:20 GMT"
},
{
"name": "Last-Modified",
"value": "Sat, 24 Mar 2012 08:58:08 GMT"
},
{
"name": "Content-Type",
"value": "text/javascript; charset=utf-8"
},
{
"name": "Content-Encoding",
"value": "gzip"
},
{
"name": "X-Content-Type-Options",
"value": "nosniff"
},
{
"name": "X-Frame-Options",
"value": "SAMEORIGIN"
},
{
"name": "X-XSS-Protection",
"value": "1; mode=block"
},
{
"name": "Server",
"value": "GSE"
},
{
"name": "Cache-Control",
"value": "public, max-age=2592000"
},
{
"name": "Content-Length",
"value": "15612"
},
{
"name": "Age",
"value": "467722"
}
],
"content": {
"mimeType": "text/javascript",
"size": 39903,
"text": "(function (){ function e(a){throw a;}var l=void 0,m=!0,n=null,p=!1,aa=window,r=Error,ba=parseInt,s=parseFloat,da=Function,ea=document,fa=Array,t=Math;function ga(a,b){return a.width=b}function ha(a,b){return a.innerHTML=b}functio...
},
"redirectURL": "",
"headersSize": 396,
"bodySize": 15612
},
"cache": {},
"timings": {
"blocked": 0,
"dns": 0,
"connect": 0,
"send": 0,
"wait": 32,
"receive": 31
},
"serverIPAddress": "74.125.237.116",
"connection": "443"
},
{
"pageref": "page_7372",
"startedDateTime": "2012-04-03T10:22:45.260+10:00",
"time": 171,
"request": {
"method": "GET",
"url": "https://www.google.com/accounts/recovery/resources/2134501236-all-css-kennedy.css",
"httpVersion": "HTTP/1.1",
"cookies": [
{
"name": "accountrecoverylocale",
"value": "en"
},
{
"name": "mainpageaccountrecoveryparamscookie",
"value": "CmJBSHdHa1JuSXI5TUhydFN0MTg1T05SMWxvLXBDcmtZejZ5TTZPc1E3YlZ6bU1uczNsMTNCV2lSOVBMV2lEcTBsNnJMWDJEdkg4TTN0d2c2eWFaeU9kRnFLbE1JV05BOUhtQRIdaHR0cHM6Ly9tYWlsLmdvb2dsZS5jb20vbWFpbC8gspOJo8ub6qNN"
},
{
"name": "GMAIL_RTT",
"value": "270"
},
{
"name": "S",
"value": "account-recovery=bD7NAj-9Icg"
}
],
"headers": [
{
"name": "Host",
"value": "www.google.com"
},
{
"name": "User-Agent",
"value": "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20100101 Firefox/11.0"
},
{
"name": "Accept",
"value": "text/css,*/*;q=0.1"
},
{
"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://www.google.com/accounts/recovery?hl=en&gaps=AHwGkRnIr9MHrtSt185ONR1lo-pCrkYz6yM6OsQ7bVzmMns3l13BWiR9PLWiDq0l6rLX2DvH8M3twg6yaZyOdFqKlMIWNA9HmA&service=mail&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F"
},
{
"name": "Cookie",
"value": "accountrecoverylocale=en; mainpageaccountrecoveryparamscookie=CmJBSHdHa1JuSXI5TUhydFN0MTg1T05SMWxvLXBDcmtZejZ5TTZPc1E3YlZ6bU1uczNsMTNCV2lSOVBMV2lEcTBsNnJMWDJEdkg4TTN0d2c2eWFaeU9kRnFLbE1JV05BOUhtQRIdaHR0cHM6Ly9tYWlsLmdvb2dsZS5j...
}
],
"queryString": [],
"headersSize": 831,
"bodySize": -1
},
"response": {
"status": 200,
"statusText": "OK",
"httpVersion": "HTTP/1.1",
"cookies": [],
"headers": [
{
"name": "Expires",
"value": "Wed, 02 May 2012 07:47:55 GMT"
},
{
"name": "Date",
"value": "Mon, 02 Apr 2012 07:47:55 GMT"
},
{
"name": "Last-Modified",
"value": "Wed, 28 Mar 2012 12:40:40 GMT"
},
{
"name": "Content-Type",
"value": "text/css; charset=utf-8"
},
{
"name": "Content-Encoding",
"value": "gzip"
},
{
"name": "X-Content-Type-Options",
"value": "nosniff"
},
{
"name": "X-Frame-Options",
"value": "SAMEORIGIN"
},
{
"name": "X-XSS-Protection",
"value": "1; mode=block"
},
{
"name": "Server",
"value": "GSE"
},
{
"name": "Cache-Control",
"value": "public, max-age=2592000"
},
{
"name": "Content-Length",
"value": "5128"
},
{
"name": "Age",
"value": "59687"
}
t/firebug_cookies_n_cache.t view on Meta::CPAN
{
"name": "Content-Length",
"value": "0"
},
{
"name": "Date",
"value": "Wed, 21 Jan 2004 19:51:30 GMT"
},
{
"name": "Pragma",
"value": "no-cache"
},
{
"name": "Cache-Control",
"value": "private, no-cache"
},
{
"name": "Expires",
"value": "Wed, 17 Sep 1975 21:32:10 GMT"
},
{
"name": "Content-Type",
"value": "image/gif"
},
{
"name": "Server",
"value": "Golfe"
}
],
"content": {
"mimeType": "image/gif",
"size": 0
},
"redirectURL": "",
"headersSize": 215,
"bodySize": 0
},
"cache": {},
"timings": {
"blocked": 0,
"dns": 0,
"connect": 0,
"send": 0,
"wait": 162,
"receive": 0
},
"serverIPAddress": "74.125.237.116",
"connection": "443"
}
]
}
}
_FIREBUG_RESULTS_
ok($har->string($firebug_gmail_string), "Successfully read firebug har archive for https://accounts.google.com");
my (undef, $secondEntry) = $har->entries();
ok(scalar $secondEntry->request()->cookies() == 1, "INPUT: Firebug's archive second entry request has a cookie list with 1 entries");
my ($cookie) = $secondEntry->request->cookies();
ok($cookie->name() eq 'GMAIL_RTT', "INPUT: Firebug's archive second entry request cookie has a name of 'GMAIL_RTT'");
ok($cookie->value() eq '270', "INPUT: Firebug's archive second entry request cookie has a value of '270'");
($cookie) = $secondEntry->response()->cookies();
ok($cookie->name() eq 'accountrecoverylocale', "INPUT: Firebug's archive second entry response cookie has a name of 'accountrecoverylocale'");
ok($cookie->value() eq 'en', "INPUT: Firebug's archive second entry response cookie has a name of 'en'");
ok($cookie->expires() eq '2012-04-10T10:22:42.000+10:00', "INPUT: Firebug's archive second entry response cookie has a expires of '2012-04-10T10:22:42.000+10:00'");
ok($cookie->path() eq '/accounts/recovery', "INPUT: Firebug's archive second entry response cookie has a path of '/accounts/recovery'");
ok($cookie->http_only(), "INPUT: Firebug's archive second entry response cookie has httpOnly set to true");
ok(not(defined($cookie->secure())), "INPUT: Firebug's archive second entry response cookie does not have secure set at all");
my $firebug_ref = $har->hashref();
ok(scalar @{$firebug_ref->{log}->{entries}->[1]->{request}->{cookies}} == 1, "OUTPUT: Firebug's archive second entry request has a cookie list with 1 entries");
ok($firebug_ref->{log}->{entries}->[1]->{request}->{cookies}->[0]->{name} eq 'GMAIL_RTT', "OUTPUT: Firebug's archive second entry request has a name of 'GMAIL_RTT'");
ok($firebug_ref->{log}->{entries}->[1]->{request}->{cookies}->[0]->{value} eq '270', "OUTPUT: Firebug's archive second entry request has a value of '270'");
ok($firebug_ref->{log}->{entries}->[1]->{response}->{cookies}->[0]->{name} eq 'accountrecoverylocale', "OUTPUT: Firebug's archive second entry response has a name of 'accountrecoverylocale'");
ok($firebug_ref->{log}->{entries}->[1]->{response}->{cookies}->[0]->{value} eq 'en', "OUTPUT: Firebug's archive second entry request has a value of 'en'");
ok($firebug_ref->{log}->{entries}->[1]->{response}->{cookies}->[0]->{expires} eq '2012-04-10T10:22:42.000+10:00', "OUTPUT: Firebug's archive second entry request has a expires of '2012-04-10T10:22:42.000+10:00'");
ok($firebug_ref->{log}->{entries}->[1]->{response}->{cookies}->[0]->{path} eq '/accounts/recovery', "OUTPUT: Firebug's archive second entry request has a path of '/accounts/recovery'");
ok($firebug_ref->{log}->{entries}->[1]->{response}->{cookies}->[0]->{httpOnly}, "OUTPUT: Firebug's archive second entry request has httpOnly set to true");
ok(not(exists $firebug_ref->{log}->{entries}->[1]->{response}->{cookies}->[0]->{secure}), "OUTPUT: Firebug's archive second entry request does not have a secure key at all");
( run in 0.670 second using v1.01-cache-2.11-cpan-5a3173703d6 )