Skip to content

Commit c131145

Browse files
committed
Bugfix: Data Download Content in Cache/CDN
1 parent dcf1bcb commit c131145

File tree

6 files changed

+49
-41
lines changed

6 files changed

+49
-41
lines changed

coverage/coverage-summary.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
1-
{"total": {"lines":{"total":5469,"covered":5111,"skipped":0,"pct":93.45},"statements":{"total":5469,"covered":5111,"skipped":0,"pct":93.45},"functions":{"total":89,"covered":50,"skipped":0,"pct":56.17},"branches":{"total":761,"covered":550,"skipped":0,"pct":72.27},"branchesTrue":{"total":0,"covered":0,"skipped":0,"pct":100}}
1+
{"total": {"lines":{"total":5475,"covered":5117,"skipped":0,"pct":93.46},"statements":{"total":5475,"covered":5117,"skipped":0,"pct":93.46},"functions":{"total":89,"covered":50,"skipped":0,"pct":56.17},"branches":{"total":761,"covered":550,"skipped":0,"pct":72.27},"branchesTrue":{"total":0,"covered":0,"skipped":0,"pct":100}}
22
,"C:\\Users\\yuta\\Documents\\har\\HARlytics\\src\\lib\\CookieTable.svelte": {"lines":{"total":68,"covered":68,"skipped":0,"pct":100},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":68,"covered":68,"skipped":0,"pct":100},"branches":{"total":11,"covered":6,"skipped":0,"pct":54.54}}
33
,"C:\\Users\\yuta\\Documents\\har\\HARlytics\\src\\lib\\FileUpload.svelte": {"lines":{"total":8,"covered":8,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":8,"covered":8,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
44
,"C:\\Users\\yuta\\Documents\\har\\HARlytics\\src\\lib\\cdnAnalyzer.js": {"lines":{"total":590,"covered":562,"skipped":0,"pct":95.25},"functions":{"total":4,"covered":4,"skipped":0,"pct":100},"statements":{"total":590,"covered":562,"skipped":0,"pct":95.25},"branches":{"total":191,"covered":158,"skipped":0,"pct":82.72}}
55
,"C:\\Users\\yuta\\Documents\\har\\HARlytics\\src\\lib\\chartUtils.js": {"lines":{"total":64,"covered":64,"skipped":0,"pct":100},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":64,"covered":64,"skipped":0,"pct":100},"branches":{"total":19,"covered":19,"skipped":0,"pct":100}}
66
,"C:\\Users\\yuta\\Documents\\har\\HARlytics\\src\\lib\\constants.js": {"lines":{"total":51,"covered":51,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":51,"covered":51,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
77
,"C:\\Users\\yuta\\Documents\\har\\HARlytics\\src\\lib\\sequenceDiagramGenerator.js": {"lines":{"total":564,"covered":433,"skipped":0,"pct":76.77},"functions":{"total":18,"covered":16,"skipped":0,"pct":88.88},"statements":{"total":564,"covered":433,"skipped":0,"pct":76.77},"branches":{"total":105,"covered":79,"skipped":0,"pct":75.23}}
88
,"C:\\Users\\yuta\\Documents\\har\\HARlytics\\src\\lib\\utils.js": {"lines":{"total":815,"covered":656,"skipped":0,"pct":80.49},"functions":{"total":21,"covered":17,"skipped":0,"pct":80.95},"statements":{"total":815,"covered":656,"skipped":0,"pct":80.49},"branches":{"total":255,"covered":223,"skipped":0,"pct":87.45}}
9-
,"C:\\Users\\yuta\\Documents\\har\\HARlytics\\src\\lib\\components\\EntryCacheTable.svelte": {"lines":{"total":293,"covered":293,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":293,"covered":293,"skipped":0,"pct":100},"branches":{"total":2,"covered":2,"skipped":0,"pct":100}}
10-
,"C:\\Users\\yuta\\Documents\\har\\HARlytics\\src\\lib\\components\\EntryDetailTable.svelte": {"lines":{"total":280,"covered":280,"skipped":0,"pct":100},"functions":{"total":9,"covered":0,"skipped":0,"pct":0},"statements":{"total":280,"covered":280,"skipped":0,"pct":100},"branches":{"total":4,"covered":2,"skipped":0,"pct":50}}
9+
,"C:\\Users\\yuta\\Documents\\har\\HARlytics\\src\\lib\\components\\EntryCacheTable.svelte": {"lines":{"total":299,"covered":299,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":299,"covered":299,"skipped":0,"pct":100},"branches":{"total":2,"covered":2,"skipped":0,"pct":100}}
10+
,"C:\\Users\\yuta\\Documents\\har\\HARlytics\\src\\lib\\components\\EntryDetailTable.svelte": {"lines":{"total":278,"covered":278,"skipped":0,"pct":100},"functions":{"total":9,"covered":0,"skipped":0,"pct":0},"statements":{"total":278,"covered":278,"skipped":0,"pct":100},"branches":{"total":4,"covered":2,"skipped":0,"pct":50}}
1111
,"C:\\Users\\yuta\\Documents\\har\\HARlytics\\src\\lib\\components\\EntryRowCache.svelte": {"lines":{"total":467,"covered":467,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":467,"covered":467,"skipped":0,"pct":100},"branches":{"total":2,"covered":2,"skipped":0,"pct":100}}
1212
,"C:\\Users\\yuta\\Documents\\har\\HARlytics\\src\\lib\\components\\EntryRowGeneral.svelte": {"lines":{"total":464,"covered":462,"skipped":0,"pct":99.56},"functions":{"total":7,"covered":3,"skipped":0,"pct":42.85},"statements":{"total":464,"covered":462,"skipped":0,"pct":99.56},"branches":{"total":67,"covered":14,"skipped":0,"pct":20.89}}
1313
,"C:\\Users\\yuta\\Documents\\har\\HARlytics\\src\\lib\\components\\FilterInput.svelte": {"lines":{"total":22,"covered":0,"skipped":0,"pct":0},"functions":{"total":1,"covered":0,"skipped":0,"pct":0},"statements":{"total":22,"covered":0,"skipped":0,"pct":0},"branches":{"total":1,"covered":0,"skipped":0,"pct":0}}
1414
,"C:\\Users\\yuta\\Documents\\har\\HARlytics\\src\\lib\\components\\PieChart.svelte": {"lines":{"total":83,"covered":83,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":83,"covered":83,"skipped":0,"pct":100},"branches":{"total":2,"covered":2,"skipped":0,"pct":100}}
1515
,"C:\\Users\\yuta\\Documents\\har\\HARlytics\\src\\lib\\components\\SequenceExport.svelte": {"lines":{"total":148,"covered":147,"skipped":0,"pct":99.32},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":148,"covered":147,"skipped":0,"pct":99.32},"branches":{"total":4,"covered":1,"skipped":0,"pct":25}}
1616
,"C:\\Users\\yuta\\Documents\\har\\HARlytics\\src\\lib\\components\\WaterfallBar.svelte": {"lines":{"total":125,"covered":125,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":125,"covered":125,"skipped":0,"pct":100},"branches":{"total":24,"covered":20,"skipped":0,"pct":83.33}}
17-
,"C:\\Users\\yuta\\Documents\\har\\HARlytics\\src\\routes\\+layout.svelte": {"lines":{"total":81,"covered":79,"skipped":0,"pct":97.53},"functions":{"total":1,"covered":0,"skipped":0,"pct":0},"statements":{"total":81,"covered":79,"skipped":0,"pct":97.53},"branches":{"total":5,"covered":0,"skipped":0,"pct":0}}
17+
,"C:\\Users\\yuta\\Documents\\har\\HARlytics\\src\\routes\\+layout.svelte": {"lines":{"total":83,"covered":81,"skipped":0,"pct":97.59},"functions":{"total":1,"covered":0,"skipped":0,"pct":0},"statements":{"total":83,"covered":81,"skipped":0,"pct":97.59},"branches":{"total":5,"covered":0,"skipped":0,"pct":0}}
1818
,"C:\\Users\\yuta\\Documents\\har\\HARlytics\\src\\routes\\+page.svelte": {"lines":{"total":1346,"covered":1333,"skipped":0,"pct":99.03},"functions":{"total":24,"covered":6,"skipped":0,"pct":25},"statements":{"total":1346,"covered":1333,"skipped":0,"pct":99.03},"branches":{"total":69,"covered":22,"skipped":0,"pct":31.88}}
1919
}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "harlytics",
3-
"version": "0.3.0",
3+
"version": "0.3.1",
44
"private": true,
55
"scripts": {
66
"preinstall": "npx only-allow pnpm",

src/lib/components/EntryCacheTable.svelte

Lines changed: 34 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -93,21 +93,26 @@
9393
typeof entry.responseContentLength !== "undefined"
9494
? formatBytes(entry.responseContentLength)
9595
: "",
96-
entry.isCached ? entry.isCached : "",
96+
entry.cdnProvider != 'None' ? entry.cdnProvider : '',
97+
entry.cdnDataSource,
98+
entry.httpVersion,
99+
entry.cdnEdgeLocation,
100+
entry.cdnCacheStatus != "Unknown" ? entry.cdnCacheStatus : "",
101+
entry.cdnFreshness,
102+
entry.browserFreshness,
103+
entry.cacheStorage,
104+
entry.cacheTTL,
105+
entry.cachePolicy != "None" ? entry.cachePolicy : "",
106+
entry.etag ? entry.etag : '',
107+
entry.lastModified,
97108
entry.age !== null ? entry.age : "",
98109
entry.age !== null ? formatTime(entry.age) : "",
99-
entry.timings.dns >= 0 ? entry.timings.dns.toFixed(2) : "",
100-
entry.timings.dns >= 0 ? formatTime(entry.timings.dns) : "",
101-
entry.timings.connect >= 0 ? entry.timings.connect.toFixed(2) : "",
102-
entry.timings.connect >= 0 ? formatTime(entry.timings.connect) : "",
103-
entry.timings.ssl >= 0 ? entry.timings.ssl.toFixed(2) : "",
104-
entry.timings.ssl >= 0 ? formatTime(entry.timings.ssl) : "",
105-
entry.timings.send.toFixed(2),
106-
formatTime(entry.timings.send),
107-
entry.timings.wait.toFixed(2),
108-
formatTime(entry.timings.wait),
109-
entry.timings.receive.toFixed(2),
110-
formatTime(entry.timings.receive),
110+
typeof entry.vary !== "undefined"
111+
? entry.vary
112+
: "",
113+
typeof entry.contentEncoding !== "undefined"
114+
? entry.contentEncoding
115+
: "",
111116
]);
112117
113118
exportToCSV(
@@ -119,30 +124,31 @@
119124
"Method",
120125
"Status",
121126
"Type",
122-
"mimetype",
127+
"MIMEType",
123128
"Timestamp",
124129
"Time",
125130
"Time-formatted",
126131
"Size",
127132
"Size-formatted",
128-
"IsCached",
133+
"CDN",
134+
"Source",
135+
"HTTPVersion",
136+
"CDNLocation",
137+
"CDNCacheStatus",
138+
"CDNFreshness",
139+
"BrowserFreshness",
140+
"CacheStorage",
141+
"CacheTTL",
142+
"CachePolicy",
143+
"ETag",
144+
"Last-Modified",
129145
"Age",
130146
"Age-formatted",
131-
"DNS",
132-
"DNS-formatted",
133-
"Connect",
134-
"Connect-formatted",
135-
"SSL",
136-
"SSL-formatted",
137-
"Send",
138-
"Send-formatted",
139-
"Wait",
140-
"Wait-formatted",
141-
"Receive",
142-
"Receive-formatted",
147+
"Vary",
148+
"Content-Encoding",
143149
],
144150
logFilename,
145-
"_detail",
151+
"_cacheCDN",
146152
);
147153
}
148154

src/lib/components/EntryDetailTable.svelte

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,6 @@
9191
typeof entry.responseContentLength !== "undefined"
9292
? formatBytes(entry.responseContentLength)
9393
: "",
94-
entry.isCached ? entry.isCached : "",
9594
entry.age !== null ? entry.age : "",
9695
entry.age !== null ? formatTime(entry.age) : "",
9796
entry.timings.dns >= 0 ? entry.timings.dns.toFixed(2) : "",
@@ -117,13 +116,12 @@
117116
"Method",
118117
"Status",
119118
"Type",
120-
"mimetype",
119+
"MIMEType",
121120
"Timestamp",
122121
"Time",
123122
"Time-formatted",
124123
"Size",
125124
"Size-formatted",
126-
"IsCached",
127125
"Age",
128126
"Age-formatted",
129127
"DNS",
@@ -140,7 +138,7 @@
140138
"Receive-formatted",
141139
],
142140
logFilename,
143-
"_detail",
141+
"_overview",
144142
);
145143
}
146144

src/routes/+layout.svelte

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
import { onMount } from "svelte";
44
import { Badge, Button, Modal, DarkMode } from "flowbite-svelte";
55
import {
6-
GithubSolid
6+
GithubSolid,
7+
HomeSolid
78
} from "flowbite-svelte-icons";
89
910
let isLive = false;
@@ -86,7 +87,7 @@
8687
class="md:ml-auto flex flex-wrap items-center space-x-2 text-base justify-center"
8788
>
8889
<!-- <DarkMode {btnClass} /> -->
89-
<div id="buildTimestamp" class="text-xs" title="Build: 2025-03-12 09:47:49 UTC">v0.3.0</div>
90+
<div id="buildTimestamp" class="text-xs" title="Build: 2025-03-12 14:48:22 UTC">v0.3.1</div>
9091
{#if isLive}
9192
<Badge large color="indigo" class="ml-4" data-testid="cloud-edition-badge">Cloud Edition</Badge>
9293
{/if}
@@ -97,7 +98,10 @@
9798
on:click={() => (scrollingModal = true)}
9899
autoclose>License</Button
99100
>
100-
<a href="https://github.com/sgrastar/HARlytics" target="_blank">
101+
<a href="https://harlytics.com/" target="_blank" title="HARlytics.com">
102+
<HomeSolid />
103+
</a>
104+
<a href="https://github.com/sgrastar/HARlytics" target="_blank" title="GitHub">
101105
<GithubSolid />
102106
</a>
103107
</nav>

static/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"manifest_version": 3,
33
"name": "HARlytics",
4-
"version": "0.3.0",
4+
"version": "0.3.1",
55
"description": "HARlytics is a powerful HAR file analyzer that transforms complex HTTP Archive files into actionable insights.",
66
"icons": {
77
"16": "favicon.png",

0 commit comments

Comments
 (0)