From 07ff74edc543f3fd3f0841babc46ff2ed38c2f4d Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Mon, 28 Aug 2023 13:19:34 +0530 Subject: [PATCH] feat: send unique request id as response header (#22218) --- frappe/app.py | 3 +++ frappe/public/js/frappe/request.js | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/frappe/app.py b/frappe/app.py index ca4907486b..e5d2632e08 100644 --- a/frappe/app.py +++ b/frappe/app.py @@ -211,6 +211,9 @@ def process_response(response): if hasattr(frappe.local, "rate_limiter"): response.headers.extend(frappe.local.rate_limiter.headers()) + if trace_id := frappe.monitor.get_trace_id(): + response.headers.extend({"X-Frappe-Request-Id": trace_id}) + # CORS headers if hasattr(frappe.local, "conf"): set_cors_headers(response) diff --git a/frappe/public/js/frappe/request.js b/frappe/public/js/frappe/request.js index f006157c51..30e707c1fa 100644 --- a/frappe/public/js/frappe/request.js +++ b/frappe/public/js/frappe/request.js @@ -523,6 +523,9 @@ frappe.request.report_error = function (xhr, request_opts) { const copy_markdown_to_clipboard = () => { const code_block = (snippet) => "```\n" + snippet + "\n```"; + + let request_data = Object.assign({}, request_opts); + request_data.request_id = xhr.getResponseHeader("X-Frappe-Request-Id"); const traceback_info = [ "### App Versions", code_block(JSON.stringify(frappe.boot.versions, null, "\t")), @@ -531,7 +534,7 @@ frappe.request.report_error = function (xhr, request_opts) { "### Traceback", code_block(exc), "### Request Data", - code_block(JSON.stringify(request_opts, null, "\t")), + code_block(JSON.stringify(request_data, null, "\t")), "### Response Data", code_block(JSON.stringify(data, null, "\t")), ].join("\n");