2016-03-20 2 views
0

Я иду через Фарадея, чтобы сделать запрос. Я использую FakeWeb для завершения запроса.Почему я получаю Net :: HTTPBadResponse с этим кодом Ruby?

Фарадея код

middleware = [ 
    Faraday::Request::UrlEncoded, 
    AirbrakeAPI::Middleware::RaiseResponseError, 
    FaradayMiddleware::Mashify, 
    FaradayMiddleware::ParseXml, 
    AirbrakeAPI::Middleware::ScrubResponse, 
    AirbrakeAPI::Middleware::RaiseServerError] 

    @connection ||= Faraday.new(default_options.deep_merge(connection_options)) do |builder| 
    middleware.each { |mw| builder.use *mw } 
    builder.adapter :net_http 
    builder.response :json, :content_type => /\bjson$/ 

fakeweb код

DEFAULTS = {:content_type => "application/json; charset=utf-8", :status => ["200", "OK"]} 

def fixture_request(verb, url, file) 
    FakeWeb.register_uri(verb, url, DEFAULTS.merge(:response => File.join(File.dirname(__FILE__), 'fixtures', file))) 
end 

fixture_request :get, "http://example.com/notices.json", 'notices.json' 

notices.json файл

HTTP/1.1 200 OK 
Content-Type: application/json 
Date: Sun, 20 Mar 2016 05:24:04 GMT 
Transfer-Encoding: chunked 
{ 
    "notices": [ 
    { 
     "id": "1", 
     "projectId": 1, 
     "groupId": "1696170", 
     "createdAt": "2014-10-22T03:00:00.407Z" 
    }, 
    { 
     "id": "2", 
     "projectId": 1, 
     "groupId": "1234", 
     "createdAt": "2014-10-22T03:00:00.407Z" 
    } 
    ], 
    "count": 2 
} 

двутавровых ошибка получить:

# Net::HTTPBadResponse: 
    # wrong header line format 

В файле notices.json, если удалить строки 1-4 (строка 1 = HTTP/1.1 200 OK), то я до сих пор получаю эту ошибку:

# Net::HTTPBadResponse: 
    # wrong status line: "{" 

ответ

 Смежные вопросы

  • Нет связанных вопросов^_^