From bdc3abacbd72d9b092d79474813eb72058f22cee Mon Sep 17 00:00:00 2001 From: John Knox Date: Wed, 7 Nov 2018 10:32:35 -0800 Subject: [PATCH] Isolate BodyFormatter exceptions Summary: If one throws an exception, we'd skip all the other ones. I don't think that's the behaviour we want. Reviewed By: passy Differential Revision: D12958926 fbshipit-source-id: dd82b750197b6fc1380496be4147fe63454d39da --- src/plugins/network/RequestDetails.js | 32 +++++++++++++++------------ 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/src/plugins/network/RequestDetails.js b/src/plugins/network/RequestDetails.js index b37170bdf..ae324bfa6 100644 --- a/src/plugins/network/RequestDetails.js +++ b/src/plugins/network/RequestDetails.js @@ -336,24 +336,23 @@ class RequestBodyInspector extends Component<{ const {request, formattedText} = this.props; const bodyFormatters = formattedText ? TextBodyFormatters : BodyFormatters; let component; - try { - for (const formatter of bodyFormatters) { - if (formatter.formatRequest) { + for (const formatter of bodyFormatters) { + if (formatter.formatRequest) { + try { component = formatter.formatRequest(request); if (component) { break; } + } catch (e) { + console.warn( + 'BodyFormatter exception from ' + formatter.constructor.name, + e.getMessage(), + ); } } - } catch (e) {} - - if (component == null && request.data != null) { - component = {decodeBody(request)}; } - if (component == null) { - return null; - } + component = component || {decodeBody(request)}; return {component}; } @@ -368,16 +367,21 @@ class ResponseBodyInspector extends Component<{ const {request, response, formattedText} = this.props; const bodyFormatters = formattedText ? TextBodyFormatters : BodyFormatters; let component; - try { - for (const formatter of bodyFormatters) { - if (formatter.formatResponse) { + for (const formatter of bodyFormatters) { + if (formatter.formatResponse) { + try { component = formatter.formatResponse(request, response); if (component) { break; } + } catch (e) { + console.warn( + 'BodyFormatter exception from ' + formatter.constructor.name, + e.getMessage(), + ); } } - } catch (e) {} + } component = component || {decodeBody(response)};