Commit Graph
31 Commits
Author SHA1 Message Date
Christopher PruijsenandLucas Nogueira 0e17675653 fix(http): decode header values as ISO-8859-1 (#3586)
* fix(http): decode response header values as ISO-8859-1

Response header values were decoded with String::from_utf8 before being
sent over IPC. Raw UTF-8 bytes produced JS strings with code points
above 255, which new Headers() rejects as invalid ByteStrings
("Type error" on WebKit), and bytes that were not valid UTF-8 failed
the fetch outright. Decode as ISO-8859-1 instead so every byte maps to a
char 0-255, matching what browsers expose for the same response.

Fixes #2898

* fix(http): add tests for ISO-8859-1 response header decoding

Cover the #2898 Content-Disposition case and non-UTF-8 header bytes on
the same conversion fetch_send uses, so a revert to UTF-8 fails the suite.

* request headers, e2e test

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2026-10-13 14:43:50 -03:00
Den Ilin b443d6be52 fix(http): release the request's resources once fetch_send settles (#3669) 2026-10-07 07:37:16 +03:00
Lucas Nogueira f460570b44 chore: fmt 2026-09-26 15:57:33 -03:00
Lucas Nogueira 3d8a3c877b chore: edition 2024 2026-09-26 15:36:22 -03:00
Lucas Fernandes Nogueira 1198a524b7 Merge commit from fork
Checks the URL scope on every hop of a redirect chain instead of only on the URL requested by the frontend.
Without it, a server on an allowed origin can redirect the request to any other origin - including `localhost` services, internal hosts and cloud metadata endpoints - and the plugin follows it, returning the response to the webview.
2026-09-19 21:01:48 -03:00
Fabian-Lars b1dbee2c55 fix(http): manually set origin header to tauri://localhost (#3210) 2026-01-14 20:26:17 +01:00
Amr Bashir e8915f17e4 fix(http): fix aborting a streaming response (#2562) 2025-11-24 13:55:11 +01:00
Amr Bashir a15eedf378 fix(http): avoid closing stream multiple times (#2535)
* fix(http): avoid closing stream multiple times

closes #2533

* use different signal than empty vec
2025-03-16 16:45:45 -03:00
Adriel Jansen Siahaya d3183aa99d fix(http): return response early in JS before waiting for chunks on the rust side (#2522) 2025-03-15 02:06:41 +02:00
Adriel Jansen SiahayaandFabian-Lars cb38f54f4a HTTP add stream support (#2479)
* feat: add stream support

* feat: add stream support

* Revert "feat: add stream support"

This reverts commit 5edea81680.

* feat: add stream support

* Discard changes to pnpm-lock.yaml

* Discard changes to plugins/http/package.json

* fix(stream): change IPC packet

* fix: update stream message guest-js

* fix: return early when aborted

* fix: use InvokeResponseBody as packet

* fix: remove serde_bytes

* fix: remove reqwest response

* fix: content conversion bug

* fix: remove ReqwestResponses along with its implementations

* formatting and update changelog

* build api-iife.js

---------

Co-authored-by: Fabian-Lars <github@fabianlars.de>
2025-03-08 15:45:05 -03:00
DiamondDrake 105136494c feat(http): add dangerous settings / disable ssl verification - issue #518 (#2204) 2025-01-22 02:23:37 +02:00
Amr Bashir a3b553ddb4 feat(http): add request and response tracing behind feature flag (#2079) 2024-11-21 17:08:34 +02:00
Amr Bashir 1f649c7f1f chore: print a warning in development for forbidden headers (#1981)
* chore: print a warning in development for forbidden headers

closes #1979

* Update plugins/http/src/commands.rs
2024-10-30 15:26:46 +03:00
Niko Korvenlaita cfd48b3b2e feat: allow http calls without origin header (#1941) 2024-10-16 15:56:36 +03:00
Amr BashirandLucas Nogueira 9b2840db94 fix(http): retain headers order (#1884)
* fix(http): retain headers order

closes #1882

* simplify if

* actually set headers

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-10-09 08:07:46 -03:00
Amr Bashir ac9a25cc12 fix(http): use tokio oneshot channel for detecting abort (#1395)
* fix(http): properly handle aborting

closes #1376

* abort early in JS

* avoid using unnecessary mutexes

* fix lint

* update bundle

* simplify
2024-07-08 20:31:29 +03:00
Amr Bashir 28bc5c2e3e feat(http): add http plugin version in user agent sting (#1501)
* feat(http): add http plugin version in user agent sting

* Update build.rs
2024-07-02 03:57:24 +03:00
Amr Bashir da8a7bbe3a fix(http): fix check logic to decide whether to set Origin header (#1438)
ref: https://github.com/tauri-apps/plugins-workspace/issues/1389#issuecomment-2150470335
2024-06-05 19:57:36 +03:00
Amr BashirandLucas Fernandes Nogueira 0f739dbc48 feat(http): allow setting origin for unsafe headers (#1392)
* feat(http): allow setting `origin` for unsafe headers

closes #1389

* clippy

* Update .changes/http-origin-unsafe.md

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>

* Update commands.rs

* set origin not full url

---------

Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
2024-05-30 22:09:32 +03:00
Amr Bashir 9d7ae45b0e fix(http): include browser headers if not set by user (#1354)
* fix(http): include browser automatic headers if not set by user

close #1349

* fmt

* Update browser-headers.md

* lint

* generate api
2024-05-21 12:43:26 +02:00
renovate[bot]andFabianLars 290616d8e3 chore(deps): update tauri monorepo (#1325)
* chore(deps): update tauri monorepo

* enable ci for ver updates

* fix http

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: FabianLars <fabianlars@fabianlars.de>
2024-05-15 21:10:49 +02:00
Amr Bashir 58330f9ec1 feat(http): enable cookies and set origin header (#1192) 2024-05-14 01:39:36 +03:00
Amr Bashir e3d41f4011 fix: use webview's resources table (#1191)
* fix: use webview's resources table

* fix clipboard into_img usage

* fix mobile
2024-04-18 03:19:24 +02:00
Lorenzo Rizzotti 753c7be0a6 feat(http) add unsafe-headers feature flag (#1050)
* [http] add unsafe-headers feature flag

* change file

* fmt
2024-03-08 07:31:47 +02:00
Amr Bashir ae56b13a4d fix(http): allow User-Agent header to be set (#983)
* fix(http): allow `User-Agent` header to be set

closes #966

* lint

* fix build
2024-02-23 18:32:19 +02:00
Lucas Nogueira 8461cf1d1b chore: update to tauri beta.3 2024-02-19 17:10:49 -03:00
d198c01486 feat: update to tauri beta, add permissions (#862)
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Nogueira <lucas@crabnebula.dev>
2024-02-03 15:14:41 -03:00
Amr Bashir ae0cb92438 refactor(http): migrate to tauri's new resource table (#834)
* refactor(http): migrate to tauri's new resource table

* fmt

* change file
2024-01-02 21:55:57 +02:00
阿良仔 bfa87da848 feat(http): expose proxy configuration (#824)
* feat(http): add proxy config

* chore: build iife api

* chore: allow `too_many_arguments`

* improvement

* refactor: restructure code

* improvement

* format
2023-12-20 16:14:12 +02:00
Lucas Fernandes Nogueira aec17a90fc feat(http): improve performance (#558) 2023-08-14 15:53:55 -07:00
Amr BashirandLucas Nogueira 7d9df7297a feat(http): refactor and improvements (#428)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2023-08-07 08:33:00 -03:00