123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- <script>
- import { getClient, Body } from "@tauri-apps/api/http";
- let httpMethod = "GET";
- let httpUrl = "https://jsonplaceholder.typicode.com/todos/1";
- let httpBody = "";
- export let onMessage;
- async function makeHttpRequest() {
- const client = await getClient();
- let method = httpMethod || "GET";
- let url = httpUrl || "";
- const options = {
- url: url || "",
- method: method || "GET",
- };
- if (
- (httpBody.startsWith("{") && httpBody.endsWith("}")) ||
- (httpBody.startsWith("[") && httpBody.endsWith("]"))
- ) {
- options.body = Body.json(JSON.parse(httpBody));
- } else if (httpBody !== "") {
- options.body = Body.text(httpBody);
- }
- client.request(options).then(onMessage).catch(onMessage);
- }
- </script>
- <form on:submit|preventDefault={makeHttpRequest}>
- <select class="button" id="request-method" bind:value={httpMethod}>
- <option value="GET">GET</option>
- <option value="POST">POST</option>
- <option value="PUT">PUT</option>
- <option value="PATCH">PATCH</option>
- <option value="DELETE">DELETE</option>
- </select>
- <input
- id="request-url"
- placeholder="Type the request URL..."
- bind:value={httpUrl}
- />
- <br />
- <textarea
- id="request-body"
- placeholder="Request body"
- rows="5"
- style="width:100%;margin-right:10px;font-size:12px"
- bind:value={httpBody}
- />
- <button class="button" id="make-request"> Make request </button>
- </form>
|