As the title says, I am trying to format a string to JSON and curl it to a slack channel. In ruby:
body = {"text" => message}.to_json
`curl -XPOST #{slackchannel} -d 'payload=#{body}'`
puts body
I'm unsure how to convert the string to JSON, but I tried curling it using:
use reqwest::blocking::Client;
let response = Client::post(slackchannel)
.body(format!("payload={}", body))
.send()
.unwrap();
But I get the error " use of undeclared crate or module reqwest". I couldn't find something among the lines of "extern crate reqwest" in the reqwest documentation. I did add the dependencies: "reqwest = { version = "0.11", features = ["blocking"]}"
Any help would be appreciated.
Nevermind, I fixed it by adding "json" to the dependency: "reqwest = { version = "0.11", features = ["blocking", "json"]}". I am still unsure about formatting a string as json.
I have also tried:
let body = format!("payload={}", message);
let client = reqwest::Client::new();
let response = client.post(slackchan)
.json(&body)
.send()
.await;
But I get the error:
|
15 | fn main() {
| ---- this is not `async`
...
241 | let response = client.post(slackchan)
| ____________________^
242 | | .json(&body)
243 | | .send()
244 | | .await();
| |______________^ only allowed inside `async` functions and blocks