From a126f56ead0db7789590073cf7a937bcb590c292 Mon Sep 17 00:00:00 2001 From: Dave Christenson Date: Sat, 16 Sep 2023 17:54:46 -0500 Subject: [PATCH 1/3] v3-30-0: JSON Log - support wrapped lines --- client/src/App.css | 32 +++++++++++++++----- client/src/components/JsonLogAnnotator.tsx | 7 +++-- client/src/components/Request.tsx | 8 +++-- client/src/components/SnapshotTabContent.tsx | 1 + 4 files changed, 35 insertions(+), 13 deletions(-) diff --git a/client/src/App.css b/client/src/App.css index 3bc0da7b..e87fb10d 100644 --- a/client/src/App.css +++ b/client/src/App.css @@ -40,6 +40,15 @@ body { td { border-color: black !important; } + + .request__msg-even { + background-color: #333333; + } + + .request__msg-highlight { + /* color:rgba(0, 55, 255, 0.884) !important; */ + color: #4ca728 !important; + } } @media screen and (prefers-color-scheme: light) { @@ -79,6 +88,15 @@ body { .MuiCheckbox-colorSecondary { color: blue; } + + .request__msg-even { + background-color: #e5e5e5; + } + + .request__msg-highlight { + /* color:rgba(0, 55, 255, 0.884) !important; */ + color: rgb(203, 75, 22) !important; + } } .header__filter-input, @@ -169,8 +187,8 @@ td input { padding-bottom: 0 !important; } -.json-label { - cursor: pointer; +.keep-all { + word-break: keep-all; } .center { @@ -325,11 +343,6 @@ td input { white-space: nowrap; } -.request__msg-highlight { - /* color:rgba(0, 55, 255, 0.884) !important; */ - color: rgb(203, 75, 22) !important; -} - .request__msg-unhighlight { color: grey !important; } @@ -733,6 +746,11 @@ td input { display: flex; } +.request__msg.wrap { + white-space: wrap; + word-break: break-all; +} + /* .request__msg.active { border: red solid thin; border-radius: .2rem; diff --git a/client/src/components/JsonLogAnnotator.tsx b/client/src/components/JsonLogAnnotator.tsx index 9430d6c0..417e377f 100644 --- a/client/src/components/JsonLogAnnotator.tsx +++ b/client/src/components/JsonLogAnnotator.tsx @@ -23,7 +23,7 @@ const JsonLogAnnotator = observer(({ message }: Props) => { // Look for embedded JSON object let nonJson = message.path ? message.path + ' ' : ''; - elements.push( {nonJson + JSON.stringify(message.responseBody)}); + elements.push(
{nonJson + JSON.stringify(message.responseBody)}
); } let messageText = messageStore.getLogEntry().message; @@ -58,14 +58,15 @@ const JsonLogAnnotator = observer(({ message }: Props) => { function makeLabel(name: string, background: string, color: string, filter: string, value: any = undefined): JSX.Element[] { const v = value === undefined ? '' : typeof value === 'string' ? `"${value}"` : value; - const className = value !== undefined ? 'json-label' : ''; + const className = value !== undefined ? 'json-label keep-all' : ''; const elements: JSX.Element[] = []; elements.push( {name}); if (v !== undefined) { - elements.push({v}); + const className = value === 'string' && v.length > 16 ? undefined : 'keep-all'; + elements.push({v}); } return elements; } diff --git a/client/src/components/Request.tsx b/client/src/components/Request.tsx index 812cae00..e0938efe 100644 --- a/client/src/components/Request.tsx +++ b/client/src/components/Request.tsx @@ -21,8 +21,9 @@ type Props = { maxEndpointSize: number, vertical: boolean, isFiltered: boolean, + className: string, }; -const Request = observer(({ isActive, highlight, onClick, store, onResend, maxStatusSize, maxMethodSize, maxEndpointSize, vertical, isFiltered }: Props) => { +const Request = observer(({ isActive, highlight, onClick, store, onResend, maxStatusSize, maxMethodSize, maxEndpointSize, vertical, isFiltered, className }: Props) => { const [openNoteDialog, setOpenNoteDialog] = React.useState(false); const handleClick = () => { @@ -39,7 +40,7 @@ const Request = observer(({ isActive, highlight, onClick, store, onResend, maxSt return ( <>
-
+
{message.protocol !== 'log:' ? @@ -105,6 +106,7 @@ const Request = observer(({ isActive, highlight, onClick, store, onResend, maxSt
}
-
+
handleResend(message)} vertical={vertical} isFiltered={isFiltered} + className={message.protocol === 'log:' && matchCount % 2 === 0 ? 'request__msg-even' : ''} />); } })} From 370a1bdd6d5d2db0a49dbec10c659eacd7a9f8b9 Mon Sep 17 00:00:00 2001 From: Dave Christenson Date: Sat, 16 Sep 2023 17:55:01 -0500 Subject: [PATCH 2/3] 3.30.0 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8cda5b76..96a6f4db 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "allproxy", - "version": "3.29.2", + "version": "3.30.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "allproxy", - "version": "3.29.2", + "version": "3.30.0", "hasInstallScript": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index ea463b04..fbdb1afd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "allproxy", - "version": "3.29.2", + "version": "3.30.0", "description": "AllProxy: MITM HTTP Debugging Tool.", "keywords": [ "proxy", From e440a44ef6bc24fd5f57540bcabf1ef840e2e216 Mon Sep 17 00:00:00 2001 From: Dave Christenson Date: Sat, 16 Sep 2023 17:57:16 -0500 Subject: [PATCH 3/3] Update readme version --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index e0002f1a..34764e34 100644 --- a/README.md +++ b/README.md @@ -8,13 +8,13 @@ MITM debugging proxy with a web GUI to view and modify all of the HTTP and HTTPS ### Install -> Mac: **[allproxy.dmg](https://github.com/allproxy/allproxy/releases/download/v3.29.0/allproxy-3.29.2-x64.dmg)** +> Mac: **[allproxy.dmg](https://github.com/allproxy/allproxy/releases/download/v3.30.0/allproxy-3.30.0-x64.dmg)** -> RedHat: **[allproxy.rpm](https://github.com/allproxy/allproxy/releases/download/v3.29.0/allproxy-3.29.2-1.x86_64.rpm)** +> RedHat: **[allproxy.rpm](https://github.com/allproxy/allproxy/releases/download/v3.30.0/allproxy-3.30.0-1.x86_64.rpm)** -> Ubuntu: **[allproxy.deb](https://github.com/allproxy/allproxy/releases/download/v3.29.0/allproxy_3.29.2_amd64.deb)** +> Ubuntu: **[allproxy.deb](https://github.com/allproxy/allproxy/releases/download/v3.30.0/allproxy_3.30.0_amd64.deb)** -> Windows: **[Setup.exe](https://github.com/allproxy/allproxy/releases/download/v3.29.0/allproxy-3.29.2.Setup.exe)** +> Windows: **[Setup.exe](https://github.com/allproxy/allproxy/releases/download/v3.30.0/allproxy-3.30.0.Setup.exe)** > Other install options: > 1. Install NPM package: **npm install -g allproxy**