hiroshi-okimura / web_app_diary

3 stars 0 forks source link

add: Screenshotのエラーハンドリング #106

Closed hiroshi-okimura closed 1 year ago

hiroshi-okimura commented 1 year ago

Closes #93 ScreenshotService.screenshotlayer("https://tabelog", options = {})のように、存在しないURLを引数にしても、エラー文が含まれたJSONがレスポンスされず、白背景のスクリーンショットが撮られるということがわかった。 しかし、公式ドキュメントでは、JSON形式でレスポンスするということなので、それを踏まえ以下の流れで実装した。

  1. ScreenshotService.screenshotlayerを使用してスクリーンショットのURLを取得します。
  2. そのURLを使用してAPIからのレスポンスを取得します。
  3. レスポンスが成功しているかどうかを確認します。
  4. 成功した場合、レスポンスボディがJSONかどうかを確認します。
  5. JSONの場合、エラーメッセージを解析してユーザーに表示します。
  6. そうでない場合、レスポンスを正常として処理します。

本番環境では、問題なくスクリーンショットを取得できることが確認取れました。

Closes #104 ページネーションのホバー範囲を修正しました。