Class: RSolr::Client
- Inherits:
-
Object
- Object
- RSolr::Client
- Defined in:
- lib/rsolr/json.rb
Instance Method Summary collapse
- #adapt_response(request, response) ⇒ Object
- #build_request(path, opts) ⇒ Object
- #evaluate_json_response(request, response) ⇒ Object
- #orig_adapt_response ⇒ Object
- #orig_build_request ⇒ Object
Instance Method Details
#adapt_response(request, response) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# 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 |
#build_request(path, opts) ⇒ Object
16 17 18 19 |
# 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 |
#evaluate_json_response(request, response) ⇒ Object
38 39 40 41 42 43 44 |
# 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 ⇒ Object
14 |
# File 'lib/rsolr/json.rb', line 14 alias_method :orig_adapt_response, :adapt_response |
#orig_build_request ⇒ Object
13 |
# File 'lib/rsolr/json.rb', line 13 alias_method :orig_build_request, :build_request |