Method: Calligraphy::Proppatch#execute

Defined in:
lib/calligraphy/web_dav_request/proppatch.rb

#executeObject

Executes the WebDAV request for a particular resource.



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/calligraphy/web_dav_request/proppatch.rb', line 10

def execute
  return :locked if @resource.locked_to_user? @headers

  # The `propertyupdate` tag contains the request to alter properties
  # on a resource.
  xml = xml_for body: body, node: 'propertyupdate'
  return :bad_request if xml == :bad_request

  actions = @resource.proppatch xml

  builder = xml_builder
  xml_res = builder.proppatch_response(@resource.full_request_path,
                                       actions)

  set_xml_content_type

  [:multi_status, xml_res]
end