@tauri-apps/plugin-http 2.0.0-beta.0 → 2.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,7 +4,7 @@ Access the HTTP client written in Rust.
4
4
 
5
5
  ## Install
6
6
 
7
- _This plugin requires a Rust version of at least **1.70**_
7
+ _This plugin requires a Rust version of at least **1.75**_
8
8
 
9
9
  There are three general methods of installation that we can recommend.
10
10
 
package/dist-js/index.cjs CHANGED
@@ -51,6 +51,19 @@ async function fetch(input, init) {
51
51
  delete init.proxy;
52
52
  }
53
53
  const signal = init?.signal;
54
+ const headers = !init?.headers
55
+ ? []
56
+ : init.headers instanceof Headers
57
+ ? Array.from(init.headers.entries())
58
+ : Array.isArray(init.headers)
59
+ ? init.headers
60
+ : Object.entries(init.headers);
61
+ const mappedHeaders = headers.map(([name, val]) => [
62
+ name,
63
+ // we need to ensure we have all values as strings
64
+ // eslint-disable-next-line
65
+ typeof val === "string" ? val : val.toString(),
66
+ ]);
54
67
  const req = new Request(input, init);
55
68
  const buffer = await req.arrayBuffer();
56
69
  const reqData = buffer.byteLength ? Array.from(new Uint8Array(buffer)) : null;
@@ -58,7 +71,7 @@ async function fetch(input, init) {
58
71
  clientConfig: {
59
72
  method: req.method,
60
73
  url: req.url,
61
- headers: Array.from(req.headers.entries()),
74
+ headers: mappedHeaders,
62
75
  data: reqData,
63
76
  maxRedirections,
64
77
  connectTimeout,
@@ -70,14 +83,18 @@ async function fetch(input, init) {
70
83
  rid,
71
84
  });
72
85
  });
73
- const { status, statusText, url, headers, rid: responseRid, } = await core.invoke("plugin:http|fetch_send", {
86
+ const { status, statusText, url, headers: responseHeaders, rid: responseRid, } = await core.invoke("plugin:http|fetch_send", {
74
87
  rid,
75
88
  });
76
89
  const body = await core.invoke("plugin:http|fetch_read_body", {
77
90
  rid: responseRid,
78
91
  });
79
- const res = new Response(new Uint8Array(body), {
80
- headers,
92
+ const res = new Response(body instanceof ArrayBuffer && body.byteLength
93
+ ? body
94
+ : body instanceof Array && body.length
95
+ ? new Uint8Array(body)
96
+ : null, {
97
+ headers: responseHeaders,
81
98
  status,
82
99
  statusText,
83
100
  });
package/dist-js/index.js CHANGED
@@ -49,6 +49,19 @@ async function fetch(input, init) {
49
49
  delete init.proxy;
50
50
  }
51
51
  const signal = init?.signal;
52
+ const headers = !init?.headers
53
+ ? []
54
+ : init.headers instanceof Headers
55
+ ? Array.from(init.headers.entries())
56
+ : Array.isArray(init.headers)
57
+ ? init.headers
58
+ : Object.entries(init.headers);
59
+ const mappedHeaders = headers.map(([name, val]) => [
60
+ name,
61
+ // we need to ensure we have all values as strings
62
+ // eslint-disable-next-line
63
+ typeof val === "string" ? val : val.toString(),
64
+ ]);
52
65
  const req = new Request(input, init);
53
66
  const buffer = await req.arrayBuffer();
54
67
  const reqData = buffer.byteLength ? Array.from(new Uint8Array(buffer)) : null;
@@ -56,7 +69,7 @@ async function fetch(input, init) {
56
69
  clientConfig: {
57
70
  method: req.method,
58
71
  url: req.url,
59
- headers: Array.from(req.headers.entries()),
72
+ headers: mappedHeaders,
60
73
  data: reqData,
61
74
  maxRedirections,
62
75
  connectTimeout,
@@ -68,14 +81,18 @@ async function fetch(input, init) {
68
81
  rid,
69
82
  });
70
83
  });
71
- const { status, statusText, url, headers, rid: responseRid, } = await invoke("plugin:http|fetch_send", {
84
+ const { status, statusText, url, headers: responseHeaders, rid: responseRid, } = await invoke("plugin:http|fetch_send", {
72
85
  rid,
73
86
  });
74
87
  const body = await invoke("plugin:http|fetch_read_body", {
75
88
  rid: responseRid,
76
89
  });
77
- const res = new Response(new Uint8Array(body), {
78
- headers,
90
+ const res = new Response(body instanceof ArrayBuffer && body.byteLength
91
+ ? body
92
+ : body instanceof Array && body.length
93
+ ? new Uint8Array(body)
94
+ : null, {
95
+ headers: responseHeaders,
79
96
  status,
80
97
  statusText,
81
98
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tauri-apps/plugin-http",
3
- "version": "2.0.0-beta.0",
3
+ "version": "2.0.0-beta.2",
4
4
  "license": "MIT or APACHE-2.0",
5
5
  "authors": [
6
6
  "Tauri Programme within The Commons Conservancy"
@@ -20,7 +20,7 @@
20
20
  "LICENSE"
21
21
  ],
22
22
  "dependencies": {
23
- "@tauri-apps/api": "2.0.0-beta.0"
23
+ "@tauri-apps/api": "2.0.0-beta.4"
24
24
  },
25
25
  "scripts": {
26
26
  "build": "rollup -c"