From 1bf87642934ad9aa5cdbcd8b1d67afa8e49acada Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=AD=90=E9=BE=99?= <809052335@qq.com> Date: Tue, 24 Jul 2018 16:45:45 +0800 Subject: [PATCH] feature: show custom request headers if exist --- src/Network/Network.js | 20 ++++++++++++++++++-- src/Network/XhrRequest.js | 3 ++- src/Sources/Sources.scss | 1 + src/Sources/http.hbs | 17 +++++++++++++++++ 4 files changed, 38 insertions(+), 3 deletions(-) diff --git a/src/Network/Network.js b/src/Network/Network.js index 97bf618..c9fb726 100644 --- a/src/Network/Network.js +++ b/src/Network/Network.js @@ -46,7 +46,9 @@ export default class Network extends Tool { let winXhrProto = window.XMLHttpRequest.prototype let origSend = (this._origSend = winXhrProto.send), - origOpen = (this._origOpen = winXhrProto.open) + origOpen = (this._origOpen = winXhrProto.open), + origSetRequestHeader = (this._origSetRequestHeader = + winXhrProto.setRequestHeader) let self = this @@ -76,6 +78,18 @@ export default class Network extends Tool { origSend.apply(this, arguments) } + + winXhrProto.setRequestHeader = function() { + let req = this.erudaRequest + if (!req._headers) { + req._headers = {} + } + let key = arguments[0] + let val = arguments[1] + req._headers[key] = val + + origSetRequestHeader.apply(this, arguments) + } } restoreXhr() { let winXhrProto = window.XMLHttpRequest.prototype @@ -119,6 +133,7 @@ export default class Network extends Tool { startTime: now(), time: 0, resHeaders: {}, + reqHeaders: {}, resTxt: '', done: false }) @@ -161,7 +176,8 @@ export default class Network extends Tool { resTxt: data.resTxt, type: data.type, subType: data.subType, - resHeaders: data.resHeaders + resHeaders: data.resHeaders, + reqHeaders: data.reqHeaders }) }) .on('click', '.eruda-clear-request', () => this.clear()) diff --git a/src/Network/XhrRequest.js b/src/Network/XhrRequest.js index d2d9b03..ccb33c7 100644 --- a/src/Network/XhrRequest.js +++ b/src/Network/XhrRequest.js @@ -42,7 +42,8 @@ export default class XhrRequest extends Emitter { subType: type.subType, size: getSize(xhr, true, this._url), time: now(), - resHeaders: getHeaders(xhr) + resHeaders: getHeaders(xhr), + reqHeaders: (xhr.erudaRequest && xhr.erudaRequest._headers) || {} }) } handleDone() { diff --git a/src/Sources/Sources.scss b/src/Sources/Sources.scss index 163d6c1..efb280a 100644 --- a/src/Sources/Sources.scss +++ b/src/Sources/Sources.scss @@ -86,6 +86,7 @@ td { font-size: $font-size-s; padding: 5px 10px; + word-break: break-all; } .key { white-space: nowrap; diff --git a/src/Sources/http.hbs b/src/Sources/http.hbs index c93f50d..472ef35 100644 --- a/src/Sources/http.hbs +++ b/src/Sources/http.hbs @@ -4,6 +4,23 @@
{{data}}
{{/if}}
| {{@key}} | +{{.}} | +
| Empty | +