[GH-ISSUE #279] Raw Message Editor #1: Breakpoint Raw Tab Editor #279

Open
opened 2026-03-03 19:49:34 +03:00 by kerem · 2 comments
Owner

Originally created by @NghiaTranUIT on GitHub (Aug 1, 2023).
Original GitHub issue: https://github.com/ProxymanApp/proxyman-windows-linux/issues/279

Originally assigned to: @kics223w1 on GitHub.

Description

From macOS insight, Many users prefer editing the Breakpoint With Raw Tab (To able to edit Response Header and status code)

⚠️ Ping @NghiaTranUIT to get the class BreakpointRawMessage and BreakpointData for code reference ⚠️

  • Video in action:

https://github.com/ProxymanApp/proxyman-windows-linux/assets/5878421/0fc82f95-4476-4566-8260-d21eadb3491a

Acceptance Criteria

  • Support Raw Tab Editor on Breakpoint Response

Important Logic

  1. Edit the Header Tab -> End Editing Event fired -> It will automatically update the Raw Message
  2. Edit the Raw Message -> End editing event fired -> Automatic parse the raw message to Header and Status code -> Make sure it updates the data in the Header + Status Code too
  3. Reuse the class HttpParserService to parse the data and get correct
  4. Auto-Completion for Header Key, Header Value, HTTP version, and HTTP Status Code (as a Video) -> Reference Monaco Editor for the implementation.

Note:

When implementing this ticket, please beware that we will have the Raw Tab Editor for the Request part too (Breakpoint Request and Compose). It's for future ticket

CleanShot 2023-08-01 at 13 22 18@2x

Originally created by @NghiaTranUIT on GitHub (Aug 1, 2023). Original GitHub issue: https://github.com/ProxymanApp/proxyman-windows-linux/issues/279 Originally assigned to: @kics223w1 on GitHub. ## Description From macOS insight, Many users prefer editing the Breakpoint With Raw Tab (To able to edit Response Header and status code) ⚠️ Ping @NghiaTranUIT to get the class `BreakpointRawMessage` and `BreakpointData` for code reference ⚠️ - Video in action: https://github.com/ProxymanApp/proxyman-windows-linux/assets/5878421/0fc82f95-4476-4566-8260-d21eadb3491a ## Acceptance Criteria - Support Raw Tab Editor on Breakpoint Response ## Important Logic 1. Edit the Header Tab -> End Editing Event fired -> It will automatically update the Raw Message 2. Edit the Raw Message -> End editing event fired -> Automatic parse the raw message to Header and Status code -> Make sure it updates the data in the Header + Status Code too 3. Reuse the class `HttpParserService` to parse the data and get correct 4. Auto-Completion for Header Key, Header Value, HTTP version, and HTTP Status Code (as a Video) -> Reference [Monaco Editor](https://github.com/ProxymanApp/monaco-editor) for the implementation. ## Note: When implementing this ticket, please beware that we will have the Raw Tab Editor for the Request part too (Breakpoint Request and Compose). It's for future ticket ![CleanShot 2023-08-01 at 13 22 18@2x](https://github.com/ProxymanApp/proxyman-windows-linux/assets/5878421/a7424570-3725-4e72-bc20-69d15d931da6)
Author
Owner

@NghiaTranUIT commented on GitHub (Aug 1, 2023):

Update Requirement

  • When the text editor is changed -> Debounce on 0.3s and validate the HTTP Message
  • Show the error if it's invalid -> Check out the macOS to see what error messages

Screenshot 2023-08-01 at 13 26 41

<!-- gh-comment-id:1659649928 --> @NghiaTranUIT commented on GitHub (Aug 1, 2023): ### Update Requirement - When the text editor is changed -> `Debounce` on 0.3s and validate the HTTP Message - Show the error if it's invalid -> Check out the macOS to see what error messages ![Screenshot 2023-08-01 at 13 26 41](https://github.com/ProxymanApp/proxyman-windows-linux/assets/5878421/4134b5b1-78d6-4533-9a03-618baf21df68)
Author
Owner

@NghiaTranUIT commented on GitHub (Aug 1, 2023):

Test Scenarios

  1. Open the Raw Tab on Breakpoint Response
  2. Select All and remove all text
  3. Able to write the HTTP Message from the beginner -> Make sure auto-completion is working (suggest HTTP Version, Status Code, Header, and Value)
  4. Click Execute -> Make sure the data is correct

Unit Tests

Ping @NghiaTranUIT to get Unit Tests files:

  • BreakpointRawMessageTests: Test the HTTP Parser

1. Breakpoint Service with Raw Message

  1. Setup similar Unit Test when we test the Breakpoint Service
  2. Edit the Raw Message of the Breakpoint Response -> Change the Status code, header, ...
  3. Make a request to https://httpbin.proxyman.app
  4. Verify the Response is corrected and that we've changed in the Raw Message

Write similar unit tests

<!-- gh-comment-id:1659658836 --> @NghiaTranUIT commented on GitHub (Aug 1, 2023): ### Test Scenarios 1. Open the Raw Tab on Breakpoint Response 2. Select All and remove all text 3. Able to write the HTTP Message from the beginner -> Make sure auto-completion is working (suggest HTTP Version, Status Code, Header, and Value) 4. Click Execute -> Make sure the data is correct ### Unit Tests Ping @NghiaTranUIT to get Unit Tests files: - `BreakpointRawMessageTests`: Test the HTTP Parser ### 1. Breakpoint Service with Raw Message 1. Setup similar Unit Test when we test the Breakpoint Service 2. Edit the Raw Message of the Breakpoint Response -> Change the Status code, header, ... 3. Make a request to `https://httpbin.proxyman.app` 4. Verify the Response is corrected and that we've changed in the Raw Message > Write similar unit tests
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/proxyman-windows-linux#279
No description provided.