Executando verificação de segurança...
1

[ DÚVIDA ] RUST

Bom, tenho uma rest api feita em rust e enquanto eu fazia fui testando no postman, até ai tudo ok, passando tudo certinho, quando vou fazer o front, toda requisição post que eu faço da erro de cors, alguém tem ideia de como resolver? e estou usando aqui o cors no rust, mas ainda da erro

let cors = warp::cors()
        .allow_any_origin()
        .allow_methods(vec!["GET", "POST", "DELETE", "PUT"])
        .allow_headers(vec!["Content-Type"])
        .max_age(3600);
Carregando publicação patrocinada...
2

Guterres, vale dar uma olhada no console do devtools do navegador para entender qual erro está dando ao realizar uma solicitação para sua API.

Imagino que é algum Header especifico que você não especificou na linha de codigo que você mencionou.

Dica, utilize constantes:

Dê uma olhada nas constantes que você pode utilizar dentro do vec!
https://docs.rs/http/latest/http/header/index.html#constants

let cors = warp::cors()
.allow_any_origin()
.allow_methods(vec!["GET", "POST", "DELETE", "PUT"])
.allow_headers(vec![http::header::CONTENT_TYPE])
.max_age(3600);

A constante CONTENT_TYPE retorna a string que corresponde ao nome correto do header, o que evita termos utilizados de forma incorreta(Não que seja o seu caso).

3

resolvi assim

let cors = warp::cors()
    .allow_any_origin()
    .allow_methods(vec!["GET", "POST", "DELETE", "PUT"])
    .allow_headers(vec!["User-Agent", "Sec-Fetch-Mode", "Referer", "Origin", "Access-Control-Request-Method", "Access-Control-Request-Headers"])
    .max_age(3600);
0