Beam - A HTTP client for developers built with Rust

by
A HTTP client for developers built with Rust. ## Features - Native, local-first, no telemetry - Multi-workspace organization with folders and requests - Authentication support for Bearer, Basic, and API Key - Request body formats for JSON, XML, Text, GraphQL, Form URL-Encoded, and Multipart - Environments support - Post-response JavaScript scripting - Import from Postman/Insomnia - Command palette - Theme support with light/dark mode and a clean desktop interface

Add a comment

Replies

Best
Maker
📌
Postman is slow and overkill for me. This tool aims for productivity and performance.
Maker

Beam v0.1.2 is released

Glad to share the new version of Beam - A native GUI HTTP client written in Rust.

What's new?

Show post response script API manual in the request pane

Beam has own shortened APIs to write Postman like script. E.g.

pm.test.status(200);
pm.test.statusOneOf([200, 201, 204]);
pm.test.json("$.success", true);
pm.test.jsonExists("$.data.id");
pm.test.header("content-type", "application/json");
pm.test.responseTimeLessThan(500);
pm.fail("Expected 200, got " + pm.response.status);

console.log("statusText:", pm.response.statusText);
console.log("content-type:", pm.response.headers.get("content-type"));
console.log("has x-request-id:", pm.response.headers.has("x-request-id"));
console.log("raw body:", pm.response.text());
console.log("timing:", pm.response.responseTime, "ms");
console.log("size:", pm.response.bodySize, "bytes");

pm.extract("$.token", "auth_token");
pm.environment.set("token", pm.response.json.token);
...

It's nice to have a quick API reference that user can look up when writing the scripts. Now it shows an info icon, hovering on which shows the API manual.

Show response history in the response pane

Now user is able to view the response execution history by clicking the history icon in the response pane. Use v_virtual_list to improve the rendering performance when too many history items.

Simplify the response status code display

Change from Status: 500 Internal server error to Status: 500 (with status code being colored). Hovering on the code shows the status text in a popover.

Disable the replace feature in response body editor

Added new API to gpui-component to disable the replace feature in the response body editor, as response shouldn't be updated.

Enhance workspace management

  • Add confirmation when deleting a workspace from workspace picker in title bar

  • Auto switch to new workspace after creation

Fixed request workspace tree drag and drop slots rendering bugs

  • When drop request right under a folder

  • When drop request at the bottom of workspace

  • When move out request/folder from an inner folder

Fixed search scroll direction on search wrap

Updated the logic in gpui-component to wrap the search when reaches to the last matching text.

Please share your feedback!

Happy hacking!

Maker

Beam v0.3.0 is released

Glad to share the new version of Beam - A native GUI HTTP client written in Rust.

What's new?

Import from Postman/Insomnia

Now user can import Postman/Insomnia request collections and environments to Beam.

Command palette

Support command palette, user can easily navigate to request/folder, system setting, environment manager and keybindings.

Duplicate folder

Previously, Beam only supports duplicating a request, now it supports folder too.

Support per-workspace view history

Each workspace keeps its own request view history, user can navigate to previous/next viewed request in multiple workspaces.

Misc enhancements/fixes

  • Highlight selected execution history by index

  • Can drop request on expanded folder

  • Fix tree drag-and-drop silently rejecting name-conflicting drops

  • Fix duplicate request when creating new request under a folder via cmd+n