getezy / ezy

🔥 GUI client for gRPC/gRPC-Web
https://getezy.dev
Mozilla Public License 2.0
974 stars 16 forks source link

Request: Create an easy way to convert JSON fields to Buffer values #49

Open brandonsturgeon opened 1 year ago

brandonsturgeon commented 1 year ago

First of all, thank you for your continued maintenance on this project. While Postman now offers gRPC functionality, I would prefer using something like ezy for a few reasons:

  1. Open source is 💯
  2. I don't like the corporate feel that Postman gives now. It used to be simple to use, but now it's a full-fledged desktop application. I just want a simple tool.
  3. Postman forces you to sign up/sign in before using the gRPC feature.

So yeah, thanks, I appreciate this project a lot.

Is your feature request related to a problem? Please describe. Our application uses a complex system of Metadata fields for setting the request context. Creating that object and converting it to a Buffer value elsewhere and then copy-pasting it into the field whenever I need to change contexts is frustrating and error-prone.

Describe the solution you'd like Ideally, I could simply provide a basic JSON structure a Proto Message name and have it converted to a Buffer value. For example, maybe a small button on the top of the Request/Metadata entries that opens a popup where I can enter the required data, and when I click "submit" it would enter the Buffer value at my cursor location. It would be even nicer if I could easily edit that structure again without having to delete and re-enter the information.

Describe alternatives you've considered I would also be okay with a simple tool in the application somewhere that will do this conversion for me. I could copy its output and put it where I need it.

Additional context I'm actually not 100% sure if this is possible, so please correct me if I'm off-track.

There are two sub-features that would make this suggestion delightful:

  1. Ability to edit a previously-converted structure (maybe it could be a visual placeholder in the input field that I could interact with and modify, or it could appear as only JSON, letting me edit it freely without having to re-convert every time [because I already told it what message it is])
  2. Ability to use this feature recursively, i.e. putting these "friendly" Buffer values within Buffer value structures.
notmedia commented 1 year ago

Hi, @brandonsturgeon! Thank you for good words, I really appreciate this 🙂

If I understand you correctly the value of your metadata field is a Buffer of object with your request context? If so, I think that this is deeply relates only to your project. Unfortunately creating this extra features like Buffer encoder/decoder is not related to gRPC. It's like a side-feature.

But, I keeping another feature in my mind this app could have - called flow builder. With this builder you could create the chain of multiple requests and create payloads/metadata by custom scripts where you could implement this custom logic (for example buffering metadata request context field).

Let me know if this feature could help you or if you have another thoughts about it, thank you!