From 97ff08911020c5985371b4679e0e9bb4b531719e Mon Sep 17 00:00:00 2001 From: nicognaW Date: Tue, 14 Jun 2022 18:10:33 +0800 Subject: [PATCH] feat: display response size with a bigger unit in tooltip (#2425) Co-authored-by: Andrew Bastin --- .../components/http/ResponseMeta.vue | 39 ++++++++++++++++++- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/packages/hoppscotch-app/components/http/ResponseMeta.vue b/packages/hoppscotch-app/components/http/ResponseMeta.vue index 48f8c8f5..e0ce8773 100644 --- a/packages/hoppscotch-app/components/http/ResponseMeta.vue +++ b/packages/hoppscotch-app/components/http/ResponseMeta.vue @@ -117,9 +117,21 @@ {{ t("response.time") }}: {{ `${response.meta.responseDuration} ms` }} - + {{ t("response.size") }}: - {{ `${response.meta.responseSize} B` }} + {{ + readableResponseSize + ? readableResponseSize + : `${response.meta.responseSize} B` + }} @@ -141,6 +153,29 @@ const props = defineProps<{ response: HoppRESTResponse }>() +/** + * Gives the response size in a human readable format + * (changes unit from B to MB/KB depending on the size) + * If no changes (error res state) or value can be made (size < 1KB ?), + * it returns undefined + */ +const readableResponseSize = computed(() => { + if ( + props.response.type === "loading" || + props.response.type === "network_fail" || + props.response.type === "script_fail" || + props.response.type === "fail" + ) + return undefined + + const size = props.response.meta.responseSize + + if (size >= 100000) return (size / 1000000).toFixed(2) + " MB" + if (size >= 1000) return (size / 1000).toFixed(2) + " KB" + + return undefined +}) + const statusCategory = computed(() => { if ( props.response.type === "loading" ||