mirror of
https://github.com/ProxymanApp/Proxyman.git
synced 2026-04-27 00:55:57 +03:00
[GH-ISSUE #828] Parse Error: when https Response enabled #823
Labels
No labels
Discussion
Feature request
In Progress...
Plugins
Waiting response
Windows
Windows
bug
duplicate
enhancement
feature
good first issue
iOS
macOS 10.11
question
wontfix
✅ Done
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/Proxyman#823
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @TimidLupus on GitHub (Mar 20, 2021).
Original GitHub issue: https://github.com/ProxymanApp/Proxyman/issues/828
Originally assigned to: @NghiaTranUIT on GitHub.
Proxyman version?
(version 2.20.0 (22000)
macOS Version?
(mac 11.2.3)
Steps to reproduce
Unfortunately I can't describe here..this is happening on a particular API request from my android emulator when I enable HTTPS Response.
Following is the list of tools and responses received from them.
Proxy man
Following error is logged:
The operation couldn’t be completed. (NIOHTTP1.HTTPParserError error 15.) (code=15)HTTP Tool kit
it logs an error stating unable to parse one of the request headers.
Charles
which parses the request without any problem (I don't wanna use charles though 🤦♂️)
Expected behaviour
proxyman should parse the response once the request returns 😍😍
Actual behaviour
Response is not parsed when in Enable HTTPS mode 😔
Screenshots (optional)
@NghiaTranUIT commented on GitHub (Mar 21, 2021):
Hey @TimidLupus it looks like SwiftNIO could parse your request due to malformed HTTP Message.
HTTPParserError error = 15 means
invalidHeaderTokengithub.com/apple/swift-nio@8ea768b0b8/Sources/NIOHTTP1/HTTPTypes.swift (L771)If you don't mind, please use Charles -> capture this request -> go to Raw Tab in Request and Response -> Share with top 5 line via support@proxyman.io
Thank you in advance 🌮
@NghiaTranUIT commented on GitHub (Mar 21, 2021):
@TimidLupus Please help me to test this scenario:
@TimidLupus commented on GitHub (Mar 21, 2021):
@NghiaTranUIT thanks for your quick response. Yes this works on other tools I mentioned in my original issue comment.
I have sent you the details you wanted via support@proxyman.io
@TimidLupus commented on GitHub (Mar 22, 2021):
@NghiaTranUIT Hi, I know it's difficult to sort these type of bugs..
Meanwhile can you guide me how to bypass this particular request when
HTTPS RESPONSEis enabled?@TimidLupus commented on GitHub (Mar 22, 2021):
@NghiaTranUIT Ok, there is some good news. my team mate actually has pin pointed the problem..
so if the header has brackets "(" ")" then Proxyman is unable to parse and hence that header parsing error.
I believe you have received my email and it has that header with brackets which causes the issue.
Hoping you will get around and smash this bug 😊
Regards,
@NghiaTranUIT commented on GitHub (Mar 23, 2021):
@TimidLupus Is there any reason why you use brackets in Header Key Name? From what I google, it doesn't allow to have the brackets.
I tried with curl and Insomnia, it's invalid too.
@TimidLupus commented on GitHub (Mar 25, 2021):
@NghiaTranUIT
so probably if you are getting bored in the future and have no big tickets in your way then I would really appreciate resolving this tiny annoyance.
Lastly, I actually wanna thank you for your swift responses and diagnosis.
Regards,
@NghiaTranUIT commented on GitHub (Mar 25, 2021):
Hey @TimidLupus, I'm not sure if I'm able to fix it. Proxyman is using Swift NIO behind the sense and it takes care of the HTTPS Parser too (Source: https://github.com/apple/swift-nio/tree/main/Sources/CNIOHTTPParser). This parser locates deeply inside the source code, so it's really difficult to fix your bug.
Charles works because it ignores the semantic schema of the HTTP Message, but not SwiftNIO.
I highly recommend requesting a change from your Backend or encoded the header to make it works.
@TimidLupus commented on GitHub (Mar 25, 2021):
Fair enough, I am going to close the issue.
Thanks for your support.
Regards,
@NghiaTranUIT commented on GitHub (Mar 26, 2021):
I'd like to open this ticket, so I can look back later if SwiftNIO fixes it 👍