You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The <code>TypeIndexService</code> provides a server-managed discovery mechanism to query the distinct resource types available within a storage, while the <code>TypeSearchService</code> allows clients to retrieve the specific resource or container URIs matching those types.
148
+
The <code>TypeCatalogService</code> provides a server-managed discovery mechanism to query the distinct resource types available within a storage, while the <code>TypeSearchService</code> allows clients to retrieve the specific resource or container URIs matching those types.
149
149
</p>
150
150
<p>
151
151
To prevent inadvertent or malicious corruption by clients, these services are strictly populated and managed by the server. To mitigate security and performance risks associated with deep-parsing arbitrary resource bodies, servers MUST NOT be required to parse resource content to discover types. Instead, servers SHOULD derive resource types from HTTP <code>Link</code> headers provided by the client during resource creation or modification, combined with the server's intrinsic knowledge of the resource's state (such as native LWS classes like <code>https://www.w3.org/ns/lws#Container</code>).
Because servers are not required to parse the resource body, the Type Search Service relies heavily on the types explicitly declared via HTTP headers or managed by the server. If a client includes a type exclusively within a resource's internal graph but fails to provide the corresponding <code>Link</code> header, that type may not be discoverable via these services.
155
155
</p>
156
156
<p>
157
-
A server that implements these services MUST advertise the endpoints in the storage description resource using the <code>typeIndexService</code> and <code>typeSearchService</code> properties.
157
+
A server that implements these services MUST advertise the endpoints in the storage description resource using the <code>typeCatalogService</code> and <code>typeSearchService</code> properties.
158
158
</p>
159
159
<preclass="example" title="Services advertised in storage description">
<p>Returns a paginated <code>TypeIndex</code> following standard LWS pagination. It lists the unique types of resources that currently exist within the storage and that the authenticated user is authorized to see. This endpoint accepts no query parameters.</p>
185
+
<p>Returns a paginated <code>TypeCatalog</code> following standard LWS pagination. It lists the unique types of resources that currently exist within the storage and that the authenticated user is authorized to see. This endpoint accepts no query parameters.</p>
Servers MUST enforce authorization per access grants. Responses to GET/POST on <code>typeIndexService</code> or <code>typeSearchService</code> include only types and resource URIs that the authenticated client is explicitly authorized to read.
215
+
Servers MUST enforce authorization per access grants. Responses to GET/POST on <code>typeCatalogService</code> or <code>typeSearchService</code> include only types and resource URIs that the authenticated client is explicitly authorized to read.
216
216
</p>
217
217
<p>
218
-
Unauthorized entries MUST be omitted entirely. A client must not be able to discover the existence of a specific resource instance, or that a specific type exists in the storage at all, if they do not have the required access grants. This implicit filtering yields a dynamically generated, client-specific type index and search result.
218
+
Unauthorized entries MUST be omitted entirely. A client must not be able to discover the existence of a specific resource instance, or that a specific type exists in the storage at all, if they do not have the required access grants. This implicit filtering yields a dynamically generated, client-specific type catalog and search result.
219
219
</p>
220
220
</section>
221
221
222
222
<section>
223
223
<h4>Non-Normative Examples</h4>
224
-
<preclass="example" title="Example 1: GET TypeIndex (Discovering available types)">
224
+
<preclass="example" title="Example 1: GET TypeCatalog (Discovering available types)">
0 commit comments