Convert plugin UI to Sandy
Summary: Changelog: Updated Network plugin to Sandy UI, including several UI improvements Converted UI to Sandy, and some minor code cleanups Moved all mock related logic to its own dir Fixes https://github.com/facebook/flipper/issues/2267 Reviewed By: passy Differential Revision: D27966606 fbshipit-source-id: a64e20276d7f0966ce7a95b22557762a32c184cd
This commit is contained in:
committed by
Facebook GitHub Bot
parent
84d65b1a77
commit
fc4a08eb55
@@ -127,3 +127,79 @@ export function getResponseLength(request: ResponseInfo): number {
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
export function formatDuration(duration: number | undefined) {
|
||||
if (typeof duration === 'number') return duration + 'ms';
|
||||
return '';
|
||||
}
|
||||
|
||||
export function formatBytes(count: number | undefined): string {
|
||||
if (typeof count !== 'number') {
|
||||
return '';
|
||||
}
|
||||
if (count > 1024 * 1024) {
|
||||
return (count / (1024.0 * 1024)).toFixed(1) + ' MB';
|
||||
}
|
||||
if (count > 1024) {
|
||||
return (count / 1024.0).toFixed(1) + ' kB';
|
||||
}
|
||||
return count + ' B';
|
||||
}
|
||||
|
||||
export function formatStatus(status: number | undefined) {
|
||||
return status ? '' + status : '';
|
||||
}
|
||||
|
||||
export function requestsToText(requests: Request[]): string {
|
||||
const request = requests[0];
|
||||
if (!request || !request.url) {
|
||||
return '<empty request>';
|
||||
}
|
||||
|
||||
let copyText = `# HTTP request for ${request.domain} (ID: ${request.id})
|
||||
## Request
|
||||
HTTP ${request.method} ${request.url}
|
||||
${request.requestHeaders
|
||||
.map(
|
||||
({key, value}: {key: string; value: string}): string =>
|
||||
`${key}: ${String(value)}`,
|
||||
)
|
||||
.join('\n')}`;
|
||||
|
||||
// TODO: we want decoding only for non-binary data! See D23403095
|
||||
const requestData = request.requestData
|
||||
? decodeBody({
|
||||
headers: request.requestHeaders,
|
||||
data: request.requestData,
|
||||
})
|
||||
: null;
|
||||
const responseData = request.responseData
|
||||
? decodeBody({
|
||||
headers: request.responseHeaders,
|
||||
data: request.responseData,
|
||||
})
|
||||
: null;
|
||||
|
||||
if (requestData) {
|
||||
copyText += `\n\n${requestData}`;
|
||||
}
|
||||
if (request.status) {
|
||||
copyText += `
|
||||
|
||||
## Response
|
||||
HTTP ${request.status} ${request.reason}
|
||||
${
|
||||
request.responseHeaders
|
||||
?.map(
|
||||
({key, value}: {key: string; value: string}): string =>
|
||||
`${key}: ${String(value)}`,
|
||||
)
|
||||
.join('\n') ?? ''
|
||||
}`;
|
||||
}
|
||||
|
||||
if (responseData) {
|
||||
copyText += `\n\n${responseData}`;
|
||||
}
|
||||
return copyText;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user