Axios bindings for Bucklescript.
- Install bs-axios
$ yarn add bs-axios
or
$ npm install --save bs-axios
- Add "bs-axios" to "bs-dependencies" section of
bsconfig.json
See usage examples in examples folder:
- Request examples (GET, POST)
- Instance example
Js.Promise.(
Axios.get("/user?ID=12345")
|> then_((response) => resolve(Js.log(response##data)))
|> catch((error) => resolve(Js.log(error)))
);
Js.Promise.(
Axios.post("/user")
|> then_((response) => resolve(Js.log(response##data)))
|> catch((error) => resolve(Js.log(error)))
);
let user = {
"username": "michel",
"password": "12345678"
};
Js.Promise.(
Axios.postData("/auth", {user})
|> then_((response) => resolve(Js.log(response##data)))
|> catch((error) => resolve(Js.log(error)))
);
Js.Promise.(
Axios.all2((Axios.get("/users/1"), Axios.get("/users/1/friends")))
|> then_(((user, friends)) => resolve(Js.log2(user##data, friends##data)))
|> catch((error) => resolve(Js.log(error)))
);
You can create a new instance of axios with a custom config.
open Axios;
let inst = Instance.create(makeConfig(~baseURL="https://example.com", ()));
Js.Promise.(Instance.get(inst, "/") |> then_((resp) => resolve(Js.log(resp##data))));