Акведук не дает ответа Flutter получает запрос

Здравствуйте, я создаю приложение, использующее http-фреймворк, и отправляю свой сервер для получения запроса. Я использую Aqueduct для серверной службы, и он работает, когда я использую POSTMAN для отправки запроса на получение, но когда я использую свое приложение для отправки запроса на получение, Aqueduct выдает сообщение на консоли:

[INFO] aqueduct: OPTIONS /workers 8ms 403 {user-agent : Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/IP_ADRESS Safari/537.36\nconnection : keep-alive\naccept : */*\naccept-language : en-US,en;q=0.9\nsec-fetch-mode : cors\naccept-encoding : gzip, deflate, br\norigin : http://localhost:58095\nhost : localhost:8888\nsec-fetch-site : same-site\naccess-control-request-headers : authorization,companymail,content-type\naccess-control-request-method : GET\nreferer : http://localhost:58095/\n}   

Когда я использую почтальон для отправки запроса на получение, все в порядке, и сервер дает ответ:

[INFO] aqueduct: GET /workers 92ms 200   

Мои заголовки почтальона:

companyMail:deneme1234
Content-Type:application/json
Authorization:Basic ZGVuZW1lMTIzNDpkZW5lbWUxMjM0

Заголовки моего приложения flutter:

final Map<String, String> headers = {"Content-Type": "application/json"};  
String basicAuth = 'Basic ' + base64Encode(utf8.encode('$mail:$password'));
  headers['authorization'] = basicAuth;
  headers['companyMail'] = companyMail;
return headers

Мое приложение flutter получает запрос:

   final response = http.get(baseUrl+'workers',headers: await authHeader());

person Onur    schedule 25.12.2019    source источник


Ответы (1)


Наконец-то я нашел решение :) Речь идет о CorsPolicy. Если вы хотите отправить специальный заголовок с запросом, вы должны проверить допустимые заголовки вашего сервера. В Aqueduct вы можете редактировать разрешенные заголовки запросов следующим образом:

CORSPolicy.defaultPolicy.allowedRequestHeaders = ['company-mail','content-type','authorization'];    
person Onur    schedule 25.12.2019