Back to Hoppscotch

Tauri Plugin: Relay

packages/hoppscotch-desktop/plugin-workspace/tauri-plugin-relay/README.md

2026.4.02.9 KB
Original Source

Tauri Plugin: Relay

A HTTP request-response relay plugin for Tauri apps, providing advanced request handling capabilities including custom headers, certificates, proxies, and local system integration.

<div align="center">

</div>

Features

  • 🦀 Blazingly fast!
  • HTTP client built on libcurl
  • Security with SSL/TLS certificate management
  • Proxy support
  • Multiple authentication methods (Basic, Bearer, Digest)
  • Content handling (JSON, Form Data, Binary)
  • Async request execution with cancellation support

Installation

[!IMPORTANT] This plugin requires Tauri 2.0 or later.

Add the plugin to your project by installing directly from GitHub:

toml
[dependencies]
tauri-plugin-relay = { git = "https://github.com/CuriousCorrelation/tauri-plugin-relay" }
json
"dependencies": {
  "@CuriousCorrelation/plugin-relay": "github:CuriousCorrelation/tauri-plugin-relay"
}

Quick Start

Rust

rust
fn main() {
    tauri::Builder::default()
        .plugin(tauri_plugin_relay::init())
        .run(tauri::generate_context!())
        .expect("error while running tauri application");
}

JavaScript/TypeScript

typescript
import { execute, cancel } from '@CuriousCorrelation/plugin-relay'

// Execute a request
const result = await execute({
  id: 1,
  url: "https://api.example.com/data",
  method: "POST",
  headers: {
    "Content-Type": ["application/json"]
  },
  content: {
    kind: "json",
    content: { hello: "world" }
  }
})

// Cancel a request
await cancel(1)

Content Types

The plugin supports multiple content types for requests:

TypeDescription
textPlain text content
jsonJSON data with automatic parsing
formMultipart form data with file support
binaryRaw binary data with optional MIME type
urlencodedURL-encoded form data

Authentication

Built-in support for various authentication methods:

MethodDescription
basicBasic HTTP authentication
bearerBearer token authentication
digestDigest authentication (MD5, SHA-256, SHA-512)

Security

The plugin provides extensive security options:

  • Client certificate support (PEM, PKCS#12)
  • Custom CA certificates
  • Certificate validation control
  • Host verification settings

Development

Requirements:

  • Rust 1.77.2 or later
  • Node.js 18 or later
  • pnpm
  • libcurl with SSL support

Error Handling

The plugin provides detailed error information for:

  • Network failures
  • Certificate issues
  • Timeout scenarios
  • Parse errors
  • Request cancellations

License

Code: (c) 2024 - CuriousCorrelation

MIT or MIT/Apache 2.0 where applicable.