    # File lib/chef/resource_reporter.rb, line 183
        def post_reporting_data
          if reporting_enabled?
            run_data = prepare_run_data
            resource_history_url = "reports/nodes/#{@node.name}/runs/#{@run_id}"
            Chef::Log.info("Sending resource update report (run-id: #{@run_id})")
            Chef::Log.debug run_data.inspect
            compressed_data = encode_gzip(run_data.to_json)
            begin
              #if summary only is enabled send the uncompressed run_data excluding the run_data["resources"] and some additional metrics.
              if @summary_only
                run_data = report_summary(run_data, compressed_data)
                Chef::Log.info("run_data_summary: #{run_data}")
                @rest_client.post_rest(resource_history_url, run_data)
              else
                Chef::Log.debug("Sending compressed run data...")
                # Since we're posting compressed data we can not directly call
                # post_rest which expects JSON
                reporting_url = @rest_client.create_url(resource_history_url)
                @rest_client.raw_http_request(:POST, reporting_url, {'Content-Encoding' => 'gzip'}, compressed_data)
              end
            rescue Net::HTTPServerException => e
              if e.response.code.to_s == "400"
                Chef::FileCache.store("failed-reporting-data.json", Chef::JSONCompat.to_json_pretty(run_data), 0640)
                Chef::Log.error("Failed to post reporting data to server (HTTP 400), saving to #{Chef::FileCache.load("failed-reporting-data.json", false)}")
              else
                Chef::Log.error("Failed to post reporting data to server (HTTP #{e.response.code.to_s})")
              end
            end
          else
            Chef::Log.debug("Server doesn't support resource history, skipping resource report.")
          end
        end