chore(tracing): trim network urls for readability (#6566)
This commit is contained in:
parent
ab36fdeba7
commit
0678f48289
|
|
@ -19,6 +19,7 @@ export type ResourceSnapshot = {
|
||||||
pageId: string,
|
pageId: string,
|
||||||
frameId: string,
|
frameId: string,
|
||||||
url: string,
|
url: string,
|
||||||
|
type: string,
|
||||||
contentType: string,
|
contentType: string,
|
||||||
responseHeaders: { name: string, value: string }[],
|
responseHeaders: { name: string, value: string }[],
|
||||||
requestHeaders: { name: string, value: string }[],
|
requestHeaders: { name: string, value: string }[],
|
||||||
|
|
|
||||||
|
|
@ -201,6 +201,7 @@ export class Snapshotter {
|
||||||
frameId: response.frame().guid,
|
frameId: response.frame().guid,
|
||||||
resourceId: 'resource@' + createGuid(),
|
resourceId: 'resource@' + createGuid(),
|
||||||
url,
|
url,
|
||||||
|
type: response.request().resourceType(),
|
||||||
contentType,
|
contentType,
|
||||||
responseHeaders: response.headers(),
|
responseHeaders: response.headers(),
|
||||||
requestHeaders,
|
requestHeaders,
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 0 10px;
|
padding: 0 3px;
|
||||||
background: #fdfcfc;
|
background: #fdfcfc;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
flex: none;
|
flex: none;
|
||||||
|
|
@ -41,7 +41,8 @@
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.network-request-title-status {
|
.network-request-title-status,
|
||||||
|
.network-request-title-method {
|
||||||
padding-right: 5px;
|
padding-right: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -62,6 +63,7 @@
|
||||||
|
|
||||||
.network-request-details {
|
.network-request-details {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
user-select: text;
|
||||||
}
|
}
|
||||||
|
|
||||||
.network-request-details-url {
|
.network-request-details-url {
|
||||||
|
|
@ -89,3 +91,8 @@
|
||||||
border: black 1px solid;
|
border: black 1px solid;
|
||||||
max-height: 500px;
|
max-height: 500px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.network-request-details-header {
|
||||||
|
margin: 3px 0;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -95,27 +95,28 @@ export const NetworkResourceDetails: React.FunctionComponent<{
|
||||||
|
|
||||||
const requestContentTypeHeader = resource.requestHeaders.find(q => q.name === 'Content-Type');
|
const requestContentTypeHeader = resource.requestHeaders.find(q => q.name === 'Content-Type');
|
||||||
const requestContentType = requestContentTypeHeader ? requestContentTypeHeader.value : '';
|
const requestContentType = requestContentTypeHeader ? requestContentTypeHeader.value : '';
|
||||||
|
const resourceName = resource.url.substring(resource.url.lastIndexOf('/') + 1);
|
||||||
|
|
||||||
return <div
|
return <div
|
||||||
className={'network-request ' + (selected ? 'selected' : '')} onClick={() => setSelected(index)}>
|
className={'network-request ' + (selected ? 'selected' : '')} onClick={() => setSelected(index)}>
|
||||||
<Expandable expanded={expanded} setExpanded={setExpanded} style={{ width: '100%' }} title={
|
<Expandable expanded={expanded} setExpanded={setExpanded} style={{ width: '100%' }} title={
|
||||||
<div className='network-request-title'>
|
<div className='network-request-title'>
|
||||||
<div className={'network-request-title-status ' + formatStatus(resource.status)}>{resource.status}</div>
|
<div className={'network-request-title-status ' + formatStatus(resource.status)}>{resource.status}</div>
|
||||||
<div className='network-request-title-method'>{resource.method}: </div>
|
<div className='network-request-title-method'>{resource.method}</div>
|
||||||
<div className='network-request-title-url'>{resource.url}</div>
|
<div className='network-request-title-url'>{resourceName}</div>
|
||||||
<div className='network-request-title-content-type'>{resource.contentType}</div>
|
<div className='network-request-title-content-type'>{resource.type}</div>
|
||||||
</div>
|
</div>
|
||||||
} body={
|
} body={
|
||||||
<div className='network-request-details'>
|
<div className='network-request-details'>
|
||||||
<h4>URL</h4>
|
<div className='network-request-details-header'>URL</div>
|
||||||
<div className='network-request-details-url'>{resource.url}</div>
|
<div className='network-request-details-url'>{resource.url}</div>
|
||||||
<h4>Request Headers</h4>
|
<div className='network-request-details-header'>Request Headers</div>
|
||||||
<div className='network-request-headers'>{resource.requestHeaders.map(pair => `${pair.name}: ${pair.value}`).join('\n')}</div>
|
<div className='network-request-headers'>{resource.requestHeaders.map(pair => `${pair.name}: ${pair.value}`).join('\n')}</div>
|
||||||
<h4>Response Headers</h4>
|
<div className='network-request-details-header'>Response Headers</div>
|
||||||
<div className='network-request-headers'>{resource.responseHeaders.map(pair => `${pair.name}: ${pair.value}`).join('\n')}</div>
|
<div className='network-request-headers'>{resource.responseHeaders.map(pair => `${pair.name}: ${pair.value}`).join('\n')}</div>
|
||||||
{resource.requestSha1 ? <h4>Request Body</h4> : ''}
|
{resource.requestSha1 ? <div className='network-request-details-header'>Request Body</div> : ''}
|
||||||
{resource.requestSha1 ? <div className='network-request-body'>{formatBody(requestBody, requestContentType)}</div> : ''}
|
{resource.requestSha1 ? <div className='network-request-body'>{formatBody(requestBody, requestContentType)}</div> : ''}
|
||||||
<h4>Response Body</h4>
|
<div className='network-request-details-header'>Response Body</div>
|
||||||
{!resource.responseSha1 ? <div className='network-request-response-body'>Response body is not available for this request.</div> : ''}
|
{!resource.responseSha1 ? <div className='network-request-response-body'>Response body is not available for this request.</div> : ''}
|
||||||
{responseBody !== null && responseBody.dataUrl ? <img src={responseBody.dataUrl} /> : ''}
|
{responseBody !== null && responseBody.dataUrl ? <img src={responseBody.dataUrl} /> : ''}
|
||||||
{responseBody !== null && responseBody.text ? <div className='network-request-response-body'>{formatBody(responseBody.text, resource.contentType)}</div> : ''}
|
{responseBody !== null && responseBody.text ? <div className='network-request-response-body'>{formatBody(responseBody.text, resource.contentType)}</div> : ''}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue