tauri-app-http-client

$npx mdskill add partme-ai/full-stack-skills/tauri-app-http-client

Enables HTTP requests from Rust in Tauri v2, bypassing WebView CORS for secure API calls with allowlists and configurable timeouts.

  • Helps developers send API requests while avoiding CORS restrictions in Tauri applications.
  • Integrates with the Tauri v2 http-client plugin and requires Rust and Tauri setup.
  • Triggers on mentions of HTTP clients, CORS, allowlists, or API requests in user queries.
  • Provides code examples and configuration steps for implementation in Tauri projects.
SKILL.md
.github/skills/tauri-app-http-clientView on GitHub ↗
---
name: tauri-app-http-client
description: "Make HTTP requests from the Rust side using the Tauri v2 http-client plugin, bypassing WebView CORS restrictions. Use when sending API requests with domain allowlists, configuring secure transport, or handling request timeouts and retries."
license: Complete terms in LICENSE.txt
---


## When to use this skill

**ALWAYS use this skill when the user mentions:**
- HTTP requests from Tauri (bypassing WebView CORS)
- Domain allowlists for API requests
- Configuring request timeouts, retries, or headers

**Trigger phrases include:**
- "http client", "fetch", "API request", "CORS", "allowlist", "http plugin"

## How to use this skill

1. **Install the http plugin**:
   ```bash
   cargo add tauri-plugin-http
   ```
2. **Register the plugin** in your Tauri builder:
   ```rust
   tauri::Builder::default()
       .plugin(tauri_plugin_http::init())
   ```
3. **Configure scoped access** in `src-tauri/capabilities/default.json`:
   ```json
   {
     "permissions": [
       { "identifier": "http:default", "allow": [{ "url": "https://api.example.com/**" }] }
     ]
   }
   ```
4. **Make requests from the frontend**:
   ```typescript
   import { fetch } from '@tauri-apps/plugin-http';
   const response = await fetch('https://api.example.com/data', {
     method: 'GET',
     headers: { 'Authorization': 'Bearer token' },
     connectTimeout: 10000,
   });
   const data = await response.json();
   ```
5. **Restrict allowed domains** to only the APIs your app needs (principle of least privilege)
6. **Handle errors** with proper timeout, retry, and network failure patterns

## Outputs

- HTTP client setup with domain-scoped permissions
- Request pattern with headers and timeout configuration
- Error handling and retry strategy

## References

- https://v2.tauri.app/plugin/http-client/

## Keywords

tauri http client, fetch, API request, CORS, allowlist, http plugin
More from partme-ai/full-stack-skills