class RSolr::Client

Public Instance Methods

adapt_response(request, response) click to toggle source
# File lib/rsolr/json.rb, line 21
def adapt_response request, response
  raise "The response does not have the correct keys => :body, :headers, :status" unless
  %W(body headers status) == response.keys.map{|k|k.to_s}.sort
  raise RSolr::Error::Http.new request, response unless [200,302].include? response[:status]
  case request[:params][:wt]
    when :ruby
      orig_adapt_response request, response
    when :json
      result = evaluate_json_response(request, response)
      result.extend Context
      result.request, result.response = request, response
      result.is_a?(Hash) ? result.extend(RSolr::Response) : result
    else
      orig_adapt_response request, response
  end
end
Also aliased as: orig_adapt_response
build_request(path, opts) click to toggle source
# File lib/rsolr/json.rb, line 16
def build_request path, opts
  opts[:params] = opts[:params].nil? ? {:wt => :json} : {:wt => :json}.merge(opts[:params])
  orig_build_request path, opts
end
Also aliased as: orig_build_request
evaluate_json_response(request, response) click to toggle source
# File lib/rsolr/json.rb, line 38
def evaluate_json_response request, response
  begin
    MultiJson.load response[:body].to_s
  rescue MultiJson::LoadError
    raise RSolr::Error::InvalidRubyResponse.new request, response
  end
end
orig_adapt_response(request, response)
Alias for: adapt_response
orig_build_request(path, opts)
Alias for: build_request