Как мне получить доступ к аргументам запроса Splash при анализе ответа на ошибку 400? - PullRequest
0 голосов
/ 04 сентября 2018

Я передаю некоторые аргументы конечной точке Splash от сканера Scrapy, который будет использоваться сценарием Splash, который будет запущен. Иногда в этом скрипте могут возникать ошибки. Для ошибок времени выполнения я использую pcall, чтобы обернуть сомнительный скрипт, чтобы я мог изящно перехватывать и возвращать ошибки времени выполнения. Однако для синтаксических ошибок это не работает, и вместо этого выдается ошибка 400. Я настроил свой сканер на обработку таких ошибок с помощью атрибута handle_httpstatus_list, поэтому мой обратный вызов синтаксического анализа вызывается при такой ошибке, где я могу изящно проверить, что пошло не так.

Пока все хорошо, за исключением того, что я не мог корректно обработать синтаксическую ошибку в скрипте lua, и я не смог вернуть некоторые входные аргументы Splash, к которым обратный вызов будет ожидать доступа. Прямо сейчас я вызываю response._splash_args() на SplashJsonResponse объекте, который у меня есть, и это позволяет мне получить доступ к этим значениям. Однако это по сути защищенный метод, который означает, что он не может быть долгосрочным решением.

Есть ли лучший способ получить доступ к аргументам Splash в ответе, когда вы вообще не можете полагаться на связанный сценарий Splash?

...