Então procurei os documentos da caixa http e usei Request::builder()
para fazer uma solicitação. Porém, por mais estúpido que pareça, não consegui descobrir como enviar esta solicitação. Tipo, o que eu preciso fazer? :p
Existe um código de exemplo, mas elimina a parte importante, a send()
função:
use http::{Request, Response};
let mut request = Request::builder()
.uri("https://www.rust-lang.org/")
.header("User-Agent", "my-awesome-agent/1.0");
if needs_awesome_header() {
request = request.header("Awesome", "yes");
}
let response = send(request.body(()).unwrap());
fn send(req: Request<()>) -> Response<()> {
// ...
}
Já consegui enviar solicitações via hyper, seguindo o guia inicial , mas a caixa http me parece mais fácil de entender... pelo menos desde que eu não precise enviar minha solicitação :p
Atualmente tenho:
use http::{Request, Response, StatusCode};
fn main() {
let request = Request::builder()
.method("GET")
.uri("https://api.spotify.com/v1/search?q=system+overload")
.header("artist", "smash stereo")
.body(())
.unwrap();
println!("{:?}", request);
}
quais saídas:
Request { method: GET, uri: https://api.spotify.com/v1/search?q=system+overload, version: HTTP/1.1, headers: {"artist": "smash stereo"}, body: () }