포럼에서 게시물이 차단될 때 팝업으로 418 에러 또는 502 Bad Gateway 메시지가 표시됩니다. 이 메시지는 정확하지 않을 수 있으므로, 포럼의 어떤 위치에서 이 메시지를 더 상세하게 최적화할 수 있을까요?
사용자가 브라우저 DevTools(우클릭 > 검사 > 콘솔)에 접속하면 일반적으로 여기에 오류 메시지가 기록됩니다. 또한 /logs(관리자만 볼 수 있음)에도 표시됩니다.
이 오류 메시지를 수정할 수 있는 방법이 있을까요? 예를 들어 이 팝업의 메시지를 '네트워크/게이트웨이 오류’로 변경하는 것처럼요.
이것은 더 근본적인 문제일 수 있습니다. 이러한 유형의 오류는 그리 흔하지 않습니다.
이 메시지의 출처를 찾은 것 같습니다.
Discourse가 응답에서 구조화된 오류 메시지를 찾지 못할 경우, HTTP 상태 코드와 statusText로 대체됩니다:
if (!parsedError) {
if (error.status && error.status >= 400) {
parsedError = error.status + " " + error.statusText;
}
}
Discourse 소스: HTTP 오류 대체 로직.[1]
즉, 502 Bad Gateway는 일반적인 사이트 텍스트(Site Text) 항목이 아닙니다. 이는 HTTP 응답의 상태 코드와 상태 텍스트로부터 생성됩니다.
생성된 메시지는 다음 위치에서 Discourse 알림 대화상자로 전달됩니다.[2]
서버가 error_key나 다른 구조화된 오류를 반환하는 경우, Discourse는 이미 번역된 문자열을 사용합니다. 그러나 원시 502 응답의 경우, 위에서 언급한 대체 로직이 적용됩니다.
플러그인은 자체 오류 대화상자를 표시하기 전에 메시지를 대체할 수 있지만, 이 대체 로직을 전역적으로 변경하기 위한 공개된 플러그인 API 훅은 확인되지 않습니다. 이러한 HTTP 대체 메시지를 전역적으로 사용자 정의하거나 번역 가능하게 하려면 코어 변경 또는 새로운 플러그인 API 훅이 필요할 것입니다.
1개의 좋아요
