diff --git a/atom/browser/api/atom_api_web_contents.cc b/atom/browser/api/atom_api_web_contents.cc index 5a91062340d6..3ccb297514ba 100644 --- a/atom/browser/api/atom_api_web_contents.cc +++ b/atom/browser/api/atom_api_web_contents.cc @@ -278,13 +278,19 @@ void WebContents::DidStopLoading(content::RenderViewHost* render_view_host) { void WebContents::DidGetResourceResponseStart( const content::ResourceRequestDetails& details) { + auto context = AtomBrowserContext::Get(); + std::string headers; + if (context) + headers = context->GetNetworkDelegate()->GetResponseHeaders(details.url); + Emit("did-get-response-details", details.socket_address.IsEmpty(), details.url, details.original_url, details.http_response_code, details.method, - details.referrer); + details.referrer, + headers); } void WebContents::DidGetRedirectForResourceRequest( diff --git a/atom/renderer/lib/web-view/guest-view-internal.coffee b/atom/renderer/lib/web-view/guest-view-internal.coffee index fb1b40d27e1f..218108ce3773 100644 --- a/atom/renderer/lib/web-view/guest-view-internal.coffee +++ b/atom/renderer/lib/web-view/guest-view-internal.coffee @@ -10,7 +10,8 @@ WEB_VIEW_EVENTS = 'did-start-loading': [] 'did-stop-loading': [] 'did-get-response-details': ['status', 'newUrl', 'originalUrl', - 'httpResponseCode', 'requestMethod', 'referrer'] + 'httpResponseCode', 'requestMethod', 'referrer', + 'headers'] 'did-get-redirect-request': ['oldUrl', 'newUrl', 'isMainFrame'] 'dom-ready': [] 'console-message': ['level', 'message', 'line', 'sourceId'] diff --git a/docs/api/browser-window.md b/docs/api/browser-window.md index 9808e3abfd15..14740e929c4e 100644 --- a/docs/api/browser-window.md +++ b/docs/api/browser-window.md @@ -666,9 +666,11 @@ Corresponds to the points in time when the spinner of the tab stops spinning. * `httpResponseCode` Integer * `requestMethod` String * `referrer` String +* `headers` String Emitted when details regarding a requested resource is available. `status` indicates the socket connection to download the resource. +`headers` is key-value string separated by new-line character. ### Event: 'did-get-redirect-request' diff --git a/docs/api/web-view-tag.md b/docs/api/web-view-tag.md index 49c16fabae93..55f4ad77bfac 100644 --- a/docs/api/web-view-tag.md +++ b/docs/api/web-view-tag.md @@ -325,9 +325,11 @@ Corresponds to the points in time when the spinner of the tab stops spinning. * `httpResponseCode` Integer * `requestMethod` String * `referrer` String +* `headers` String Fired when details regarding a requested resource is available. `status` indicates socket connection to download the resource. +`headers` is key-value string separated by new-line character. ### did-get-redirect-request