This might be more useful than the OP. This thing lets you translate HAR to Swagger…
My usual process is Dev tools -> Copy as CURL -> delete unnecessary headers -> translates to requests in python (these days I just use ChatGPT) -> wrap in python sdk for managing auth etc.
The OP’s correlation features are really nice though.
The first and immediate difference for me is the ability to recall the name. I can recall Postman/Insomina fine, and now for API Parrot. I'm never going to be able to recall mitmproxy2swagger.
Ha! Nicely played. That was out of purely laziness. I don't like using one handle across sites, so I take the first 8 chars of (New-Guid).ToString() and then dump it in my password manager.
I often forget the name of things, sometimes even the big ones. GitHub search is one of the primary ways I rediscover them. "reverse-engineer API" returns mitmproxy2swagger as the third result, and this is how I found it last time I needed it.
It is a bit frustrating when a project on GitHub doesn't have good tags or searchable keywords, making it harder to find.
As someone who uses mitmproxy and swagger quite often, I actually think the name isn't so bad. I haven't even looked at the readme but I already know what it does, how to run it and what output to expect.
Why would you use swagger/openapi? My understanding is that graphql has its own schema system that's supposed to be returned by the server when the client requests it.
This might be more useful than the OP. This thing lets you translate HAR to Swagger…
My usual process is Dev tools -> Copy as CURL -> delete unnecessary headers -> translates to requests in python (these days I just use ChatGPT) -> wrap in python sdk for managing auth etc.
The OP’s correlation features are really nice though.
The first and immediate difference for me is the ability to recall the name. I can recall Postman/Insomina fine, and now for API Parrot. I'm never going to be able to recall mitmproxy2swagger.
Unfortunately, names matter.
Thanks 1a527dd5.
Ha! Nicely played. That was out of purely laziness. I don't like using one handle across sites, so I take the first 8 chars of (New-Guid).ToString() and then dump it in my password manager.
https://xkcd.com/1105/
a real pitty that this was not xkcd 1111
I often forget the name of things, sometimes even the big ones. GitHub search is one of the primary ways I rediscover them. "reverse-engineer API" returns mitmproxy2swagger as the third result, and this is how I found it last time I needed it.
It is a bit frustrating when a project on GitHub doesn't have good tags or searchable keywords, making it harder to find.
As someone who uses mitmproxy and swagger quite often, I actually think the name isn't so bad. I haven't even looked at the readme but I already know what it does, how to run it and what output to expect.
Probably a dumb question but if my web app uses graphql, how would I go about with the swagger generation?(since its just one endpoint)
Thank you for sharing this though, I was looking for a tool like this :)
Have you tried something like GraphQL playground before? https://github.com/graphql/graphql-playground
There's other tools out there that can generate similar docs or playgrounds, given you have a schema/spec of some type.
Why would you use swagger/openapi? My understanding is that graphql has its own schema system that's supposed to be returned by the server when the client requests it.
https://graphql.org/learn/schema/