@prefix sioc: <http://rdfs.org/sioc/ns#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix content: <http://purl.org/rss/1.0/modules/content/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

<https://lhero.org/portfolio/lh-dav/>
  a sioc:Post ;
  dc:title "Hooks and Filters" ;
  dcterms:identifier 152590 ;
  dc:modified "2026-10-27T03:15:15Z"^^xsd:dateTime ;
  dc:created "2026-10-27T03:00:57Z"^^xsd:dateTime ;
  sioc:link <https://lhero.org/portfolio/lh-dav/hooks-and-filters/> ;
  sioc:has_creator <https://lhero.org/author/1/#account> ;
  sioc:has_container <https://lhero.org/#posts> ;
  content:encoded """<ul class="lh_portfolio-meta"><li><strong>Part of:</strong> <a href="https://lhero.org/portfolio/lh-dav/">LH DAV</a></li></ul>
<ul class="wp-block-list">
<li><code>lh_dav_collection_providers</code> (filter): array of <code>LH_DAV_Collection_Provider</code> instances.</li>



<li><code>lh_dav_return_access_capability</code> (filter): capability needed to use DAV on a site. Default <code>read</code>.</li>



<li><code>lh_dav_return_retention_days</code> (filter): days a change is kept, and so how old a sync token may be. Default 90, minimum 7.</li>



<li><code>lh_dav_return_max_resource_bytes</code> (filter): largest accepted PUT body. Default 1 MB; larger uploads get 413.</li>



<li><code>lh_dav_init_plugin</code> (filter): return false to stop the plugin loading without deactivating it.</li>



<li><code>lh_dav_prune_change_log</code> (action, cron): daily on the main site; removes changes past the retention.</li>
</ul>



<h3 class="wp-block-heading">Core hooks used</h3>



<ul class="wp-block-list">
<li><code>rest_api_init</code>: DAV and setup-profile routes</li>



<li><code>rest_pre_dispatch</code> (5): OPTIONS and the namespace root</li>



<li><code>rest_authentication_errors</code> (99): lets the server send its own Basic challenge</li>



<li><code>rest_pre_serve_request</code>: sends the raw DAV or profile body</li>



<li><code>parse_request</code> (0): the well-known redirects</li>



<li><code>show_user_profile</code>: the setup profile link</li>
</ul>
"""^^rdf:XMLLiteral ;
  sioc:content """Part of: LH DAV

lh_dav_collection_providers (filter): array of LH_DAV_Collection_Provider instances.



lh_dav_return_access_capability (filter): capability needed to use DAV on a site. Default read.



lh_dav_return_retention_days (filter): days a change is kept, and so how old a sync token may be. Default 90, minimum 7.



lh_dav_return_max_resource_bytes (filter): largest accepted PUT body. Default 1 MB; larger uploads get 413.



lh_dav_init_plugin (filter): return false to stop the plugin loading without deactivating it.



lh_dav_prune_change_log (action, cron): daily on the main site; removes changes past the retention.




Core hooks used




rest_api_init: DAV and setup-profile routes



rest_pre_dispatch (5): OPTIONS and the namespace root



rest_authentication_errors (99): lets the server send its own Basic challenge



rest_pre_serve_request: sends the raw DAV or profile body



parse_request (0): the well-known redirects



show_user_profile: the setup profile link

""" ;
  sioc:topic <https://lhero.org/?taxonomy=author&term=cap-1> .

<https://lhero.org/author/1/#account> rdfs:seeAlso <https://lhero.org/author/1/?feed=lhrdf&format=turtle> .
<https://lhero.org/?taxonomy=author&term=cap-1> rdfs:seeAlso <https://lhero.org/?taxonomy=author&term=cap-1&feed=lhrdf&format=turtle> .
