Crate wasm_request[][src]

Expand description

Wasm Request

Create http request with rustwasm saving boilerplate

WASM Request

Create http request with rustwasm saving boilerplate

How to use

Include in Cargo.toml

wasm_request = '0.1'

Create http request

#[derive(Serialize, Deserialize, Debug, Clone)]
struct Eur {
    eur: f64,
}

#[derive(Serialize, Deserialize, Debug, Clone)]
struct CurrentPrice {
    current_price: Eur,
}

#[derive(Serialize, Deserialize, Debug, Clone)]
struct Price {
    market_data: CurrentPrice,
}

async fn get_token_price() -> Price {
    let options = get_options::<Price>(
        "https://api.coingecko.com/api/v3/coins/1million-token",
        Method::Get,
        None,
        None,
    );

    let price_1mt_token: Price = request(options).await.unwrap().into_serde().unwrap();

    price_1mt_token
}

Post with body

use wasm_request::{get_options, request, Method, DataType};

#[derive(Serialize, Deserialize, Debug)]
pub struct User {
    pub email: String,
    pub username: String,
    pub password: String,
}

async fn create_user() {
  let user = User {
    email: "test@example.com".to_string(),
    password: "test43214".to_string(),
  }

  let options = get_options::<User>(
    "https://api.sport-example.com/login",
    Method::Post,
    None,
    Some(DataType::Json(user)),
  );

  request(options).await.unwrap().into_serde().unwrap();
}

Post with form data

use wasm_request::{get_options, request, Method, DataType, get_defualt_headers};
use web_sys::FormData;

async fn add_form() {
  let form = FormData::new().unwrap();
  form.append_with_str("name", "Lee").unwrap();
  form.append_with_str("email", "test.example@gmail.com").unwrap();

  let headers = get_defualt_headers();
  headers.delete("Content-Type").unwrap();

  let options = get_options::<()>(
    "https://api.sport-example.com/user",
    Method::Post,
    None,
    Some(DataType::Form(form)),
  );

  request(options).await.unwrap().into_serde().unwrap();
}

Manage Local Storage

set_storage("food", "ramen");
let food = get_storage("food").unwrap();
delete_storage("food");

Structs

Error Handler

Request Options

Enums

DataType of the body, Json or Form

Http methods

Statics

Functions

Delete data by key from local storage

set and return default headers allowing Cors and with Conten-type application/json

get options to set in the request

Get data by key from local storage

Execute request

Set data by key to local storage