Я пишу обертки API и сталкиваюсь с проблемой, которую я точно не знаю, как ее решить.Faraday :: ParsingError - 757: неожиданный токен
Вот установка Фарадея:
@connection = Faraday.new(url: @api_url, params: params,
headers: default_headers,
ssl: { verify: true }) do |faraday|
faraday.use FaradayMiddleware::Mashify
faraday.use FaradayMiddleware::ParseJson, content_type: /\bjson$/
faraday.use FaradayMiddleware::FollowRedirects
faraday.adapter Faraday.default_adapter
end
Это работает на 95% API вызовов, которые я делаю - это разбирает JSON так же, как мне это нужно, чтобы и Mashify оно. Отлично.
Проблема заключается в том, когда API возвращает значение JSON, НЕ упакованное в объект JSON. Вызов API заключается в следующем:
https://hacker-news.firebaseio.com/v0/maxitem.json
Я могу видеть, что это не является действительным объектом JSON в jsonlint (скриншот ниже).
мне нужно перенастроить новый экземпляр Фарадея для одного только этого вызова делать? Это кажется несколько избыточным, но он явно взорвался на классе FaradayMiddleware::ParseJson
.
Мой тест возвращает RSpec это:
Failure/Error: latest = client.max_item
Faraday::ParsingError:
757: unexpected token at '8438316'
Любая помощь приветствуется.
Спасибо, что подтвердили мои подозрения Ник. – Anthony