diff --git a/assets/scss/styles.scss b/assets/scss/styles.scss index 3d5278c88..eb71d9d97 100644 --- a/assets/scss/styles.scss +++ b/assets/scss/styles.scss @@ -672,7 +672,7 @@ ol li { } .missing-data-response { - @apply bg-errColor; + @apply text-fgLightColor; } #response-details-wrapper { diff --git a/components/http/http-response-meta.vue b/components/http/http-response-meta.vue new file mode 100644 index 000000000..0a7391262 --- /dev/null +++ b/components/http/http-response-meta.vue @@ -0,0 +1,47 @@ + + + + {{ $t("response") }} + refresh + + fiber_manual_record + + + + + {{ $t("status") + `: \xA0 ` }} + + {{ response.status || $t("waiting_send_req") }} + + + + {{ $t("duration") + `: \xA0 ${response.duration} ms` }} + + + {{ $t("size") + `: \xA0 ${response.size} B` }} + + + + + + diff --git a/components/http/http-response.vue b/components/http/http-response.vue new file mode 100644 index 000000000..1059ffd56 --- /dev/null +++ b/components/http/http-response.vue @@ -0,0 +1,23 @@ + + + + + + + + + + diff --git a/components/lenses/renderers/HTMLLensRenderer.vue b/components/lenses/renderers/HTMLLensRenderer.vue index 0e362561b..b35cbbf93 100644 --- a/components/lenses/renderers/HTMLLensRenderer.vue +++ b/components/lenses/renderers/HTMLLensRenderer.vue @@ -1,7 +1,7 @@ - {{ $t("response") }} + {{ $t("response_body") }} - {{ $t("response") }} + {{ $t("response_body") }} - {{ $t("response") }} + {{ $t("response_body") }} - {{ $t("response") }} + {{ $t("response_body") }} - {{ $t("response") }} + {{ $t("response_body") }} - - + + { + config.timeData = { startTime: new Date().getTime() } + return config + }, + (error) => { + return Promise.reject(error) + } +) + +axios.interceptors.response.use( + (response) => { + response.config.timeData.endTime = new Date().getTime() + return response + }, + (error) => { + return Promise.reject(error) + } +) + let cancelSource = axios.CancelToken.source() export const cancelRunningAxiosRequest = () => { diff --git a/helpers/strategies/ExtensionStrategy.js b/helpers/strategies/ExtensionStrategy.js index 1a8ed676e..40cbc6f59 100644 --- a/helpers/strategies/ExtensionStrategy.js +++ b/helpers/strategies/ExtensionStrategy.js @@ -16,7 +16,9 @@ export const cancelRunningExtensionRequest = () => { } const extensionWithProxy = async (req, { state }) => { - const { data } = await window.__POSTWOMAN_EXTENSION_HOOK__.sendRequest({ + const backupTimeDataStart = new Date().getTime(); + + const res = await window.__POSTWOMAN_EXTENSION_HOOK__.sendRequest({ method: "post", url: state.postwoman.settings.PROXY_URL || "https://hoppscotch.apollosoftware.xyz/", data: { @@ -25,7 +27,9 @@ const extensionWithProxy = async (req, { state }) => { }, }) - const parsedData = JSON.parse(data) + const backupTimeDataEnd = new Date().getTime(); + + const parsedData = JSON.parse(res.data) if (!parsedData.success) { throw new Error(parsedData.data.message || "Proxy Error") @@ -35,14 +39,38 @@ const extensionWithProxy = async (req, { state }) => { parsedData.data = decodeB64StringToArrayBuffer(parsedData.data) } + if (!(res && res.config && res.config.timeData)) { + res.config = { + timeData: { + startTime: backupTimeDataStart, + endTime: backupTimeDataEnd + } + } + } + + parsedData.config = res.config + return parsedData } const extensionWithoutProxy = async (req, _store) => { + const backupTimeDataStart = new Date().getTime(); + const res = await window.__POSTWOMAN_EXTENSION_HOOK__.sendRequest({ ...req, wantsBinary: true, }) + + const backupTimeDataEnd = new Date().getTime(); + + if (!(res && res.config && res.config.timeData)) { + res.config = { + timeData: { + startTime: backupTimeDataStart, + endTime: backupTimeDataEnd + } + } + } return res } diff --git a/lang/en-US.json b/lang/en-US.json index f4e957941..e18fc8fc8 100644 --- a/lang/en-US.json +++ b/lang/en-US.json @@ -29,6 +29,7 @@ "parameter_list": "Parameter List", "request_body": "Request Body", "raw_request_body": "Raw Request Body", + "response_body": "Response Body", "show_code": "Show Code", "show_prerequest_script": "Show Pre-Request Script", "hide_prerequest_script": "Hide Pre-Request Script", @@ -301,5 +302,6 @@ "enter_gist_url": "Enter Gist URL", "account_exists": "Account exists with different credential - Login to link both accounts", "confirm": "Confirm", - "new_version_found": "New version found. Refresh to update." + "new_version_found": "New version found. Refresh to update.", + "size": "Size" } diff --git a/pages/graphql.vue b/pages/graphql.vue index 9a3ffe5c3..d26a8414d 100644 --- a/pages/graphql.vue +++ b/pages/graphql.vue @@ -266,7 +266,7 @@ {{ $t("response") }} - {{ $t("response") }} + {{ $t("response_body") }} - - - - {{ $t("status") }} - - - - - - - +