Skip to main content

Crate freeman

Crate freeman 

Source
Expand description

§Freeman TUI

A minimal terminal-based API testing tool, similar to Postman/Insomnia.

§Features

  • HTTP methods: GET, POST, PUT, PATCH, DELETE
  • Request body editor
  • Custom headers
  • Auth support (Bearer, Basic)
  • Request history
  • cURL import/export
  • JSON syntax highlighting
  • Workspace discovery (OpenAPI, FastAPI, Express)

§Architecture

Actor-based with channels:

  • UI Layer (Ratatui) - synchronous
  • App Layer (State machine)
  • Network Layer (Tokio runtime)

Re-exports§

pub use models::Request;
pub use models::HttpMethod;
pub use models::Header;
pub use models::AuthType;
pub use models::Collection;
pub use models::Environment;
pub use curl::parse_curl;
pub use curl::to_curl;
pub use discovery::DiscoveredEndpoint;
pub use discovery::WorkspaceProject;
pub use discovery::Framework;
pub use messages::UiEvent;
pub use messages::NetworkCommand;
pub use messages::NetworkResponse;
pub use messages::RenderState;
pub use app::AppState;
pub use app::AppActor;
pub use network::NetworkActor;

Modules§

app
App layer - central state management and command processing
constants
Application constants
curl
discovery
Workspace discovery module - detects API endpoints from project source code
messages
Message types for inter-layer communication in the actor-based architecture.
models
network
Network layer - HTTP request execution and WebSocket connections
storage
tui
TUI rendering layer - all drawing functions organized by component.
ui
UI helper re-exports for backward compatibility.