У меня обнаружен переменный вариант использования в некоторых клиентах с небрежным веб-прокси, и, согласно W3, я обнаружил, что:
Если клиент HTTP / 1.1 отправляет запрос, который включаеттело запроса, но которое не включает поле заголовка запроса Expect с ожиданием «100-continue», и если клиент не подключен напрямую к исходному серверу HTTP / 1.1, и если клиент видит соединение закрытым до получения какого-либоСтатус от сервера, клиент ДОЛЖЕН повторить запрос.
Итак, я пытался добавить заголовок Expect: 100-continue
к свойствам заголовков по умолчанию, чтобы избежать повторения любого процесса в будущем. но я заметил это, или плагин или браузер удаляет его из заголовка запроса.
Я уже пробовал один из этих случаев
this.configure(config => {
config
.withBaseUrl(baseURL)
.withDefaults({
credentials: 'same-origin',
headers: {
Accept: 'application/json',
'X-Requested-With': 'Fetch',
'accept-enconding': 'gzip',
'Expect': '100-continue',
/*global __VERSION__ */
'X-WebApp-Version': __VERSION__
}
})
.withInterceptor({
request(request) {
let token = authService.getToken();
if (token) {
request.headers.set('Authorization', `Bearer ${token}`);
}
return request;
}
});
});
и
this.configure(config => {
config
.withBaseUrl(baseURL)
.withDefaults({
credentials: 'same-origin',
headers: {
Accept: 'application/json',
'X-Requested-With': 'Fetch',
'accept-enconding': 'gzip',
/*global __VERSION__ */
'X-WebApp-Version': __VERSION__
}
})
.withInterceptor({
request(request) {
let token = authService.getToken();
if (token) {
request.headers.set('Authorization', `Bearer ${token}`);
}
if(request.method === 'POST') {
request.headers.set('Expect', '100-continue');
}
return request;
}
});
});
Кто-нибудь когда-нибудь пытался избежать повторения запросов по умолчанию? Можно ли настроить повторный перехватчик в плагине aurelia-fetch-client?
Спасибо за вашу поддержку