ictsc-score-server
ictsc-score-server copied to clipboard
graphql controllerでやってる例外ハンドリングをまともにする
- controllerでStandardErrorをキャッチするのを辞めたい
- controllerから
render_error
(独自) を消したい- 現状ではlocationsとpathが空
- 全てのエラーに
extensions
でrequest_id
をつけたい
executeでStandardErrorを全てキャッチして raise GraphQL::ExecutionError.new("Something went wrong", extensions: { "code" => "BROKEN" })
のようにしたい。
unexpected errorはこれでハンドリングできる。 https://graphql-ruby.org/errors/error_handling#add-error-handlers
あとはunauthorized errorだが、いまコントローラーでやっているのをいい感じに置き換えるものはなさそう。