def save(body = nil, headers = {})
      headers['Content-Type'] ||= default_content_type
      headers['If-Match'] ||= etag if exists?
      response = make_request(:put, body, headers)
      @http_headers = response.env['response_headers']
      response
    end
def save(body = nil, headers = {})
      headers['Content-Type'] ||= default_content_type
      headers['If-Match'] ||= etag if exists?
      response = make_request(:put, body, headers)
      @http_headers = response.env['response_headers']
      response
    end
Sends PUT request to the resource's #rdf_subject via #ldp_connection.
 A body and headers can be passed in. Default HTTP headers are:

    Content-Type: 'text/turtle' (i.e. creates an LDP-RS)
    If-Match: "#{etag}" (uses idempotent put if an Entity Tag is cached)

 @param body [#to_s] the request body.
 @param headers [Hash<String, String>] a hash of HTTP headers;
   e.g. {'Content-Type' => 'text/plain'}.

 @raise (see #make_request)
 @return [Faraday::Response] the server's response