포럼에서 게시물이 차단되어 418 오류 또는 502 Bad Gateway 알림이 표시되는 문제 개선

포럼에서 게시물이 차단될 때 팝업으로 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. ↩︎

  2. ↩︎

1개의 좋아요