# class Chef::HTTP::JSONInput

Middleware that takes json input and turns it into raw text

### Public Class Methods

new(opts={}) click to toggle source

    # File lib/chef/http/json_input.rb, line 28
    def initialize(opts={})
    end

### Public Instance Methods

handle_request(method, url, headers={}, data=false) click to toggle source

    # File lib/chef/http/json_input.rb, line 31
    def handle_request(method, url, headers={}, data=false)
      if data
        headers["Content-Type"] = 'application/json'
        data = Chef::JSONCompat.to_json(data)
        # Force encoding to binary to fix SSL related EOFErrors
        # cf. http://tickets.opscode.com/browse/CHEF-2363
        # http://redmine.ruby-lang.org/issues/5233
        data.force_encoding(Encoding::BINARY) if data.respond_to?(:force_encoding)
      end
      [method, url, headers, data]
    end

handle_response(http_response, rest_request, return_value) click to toggle source

    # File lib/chef/http/json_input.rb, line 43
    def handle_response(http_response, rest_request, return_value)
      [http_response, rest_request, return_value]
    end

handle_stream_complete(http_response, rest_request, return_value) click to toggle source

    # File lib/chef/http/json_input.rb, line 51
    def handle_stream_complete(http_response, rest_request, return_value)
      [http_response, rest_request, return_value]
    end

stream_response_handler(response) click to toggle source

    # File lib/chef/http/json_input.rb, line 47
    def stream_response_handler(response)
      nil
    end