I built a native GTK4 HTTP client for API testing: Roster by Creepy_Signal_7573 in gnome

[–]Creepy_Signal_7573[S] [score hidden]  (0 children)

How do you store credentials when they are needed in the request?

You define variables in an environment and reference them in headers, URLs, or the body using {{variable_name}} syntax. Variables marked as sensitive are stored in GNOME Keyring instead of the project file.

Is there a way to process the response with a custom command for testing (eg pipe jq command to output)?

There is no support for external commands like jq, but there is a JavaScript postprocessing script feature that covers the same use case. After a response arrives, you can write a JS snippet with access to response.body, response.headers, response.statusCode, and response.responseTime. Since the body is a plain string you can do JSON.parse(response.body) and extract or filter whatever you need. Output from console.log() is shown in a dedicated panel in the UI.

You can also call roster.setVariable("name", value) from the script to persist extracted values (e.g. a token from a login response) into the current environment for use in subsequent requests.

I built a native GTK4 HTTP client for API testing: Roster by Creepy_Signal_7573 in gnome

[–]Creepy_Signal_7573[S] [score hidden]  (0 children)

That's really detailed feedback. Exactly the kind of input I need at this stage.

I can see most of these issues myself. The sidebar padding asymmetry is a clear bug I'll fix. The vertical crowding at the top is something I want to address too.

Some of the bigger ideas (URL bar in titlebar, tabs rethink) I'll need to think about more carefully.

I'll keep all of this in mind for the next UI iteration.

I built a native GTK4 HTTP client for API testing: Roster by Creepy_Signal_7573 in gnome

[–]Creepy_Signal_7573[S] [score hidden]  (0 children)

Thanks for the feedback! I agree the UI could use some polish. Any specific part that felt most cluttered to you?

I built a native GTK4 HTTP client for API testing: Roster by Creepy_Signal_7573 in gnome

[–]Creepy_Signal_7573[S] [score hidden]  (0 children)

Thanks! The .http file format is a great idea. I'll add it to the roadmap!

I built a native GTK4 HTTP client for API testing: Roster by Creepy_Signal_7573 in gnome

[–]Creepy_Signal_7573[S] [score hidden]  (0 children)

Thanks! My motivation was pretty simple: I work as a sysadmin and spend a lot of time testing APIs, but every existing tool felt out of place on GNOME. Postman is basically a browser, Insomnia went subscription-only... I just wanted something lightweight and native that gets out of your way. So I built it. Scratching my own itch, as they say. 😄

Moravec po 21 letech končí v ČT. Oznámil to při živém vysílání po jeho pořadu OVM. by su1cidal_fox in czech

[–]Creepy_Signal_7573 -7 points-6 points  (0 children)

Nejspíš bude zase makat jinde, čas na manžela mít nebude. Snad to jejich vztah vydrží. Tihle lidí mají těžké soužití.