tauri-app-http-client
$
npx mdskill add partme-ai/full-stack-skills/tauri-app-http-clientEnables 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