Routing#

The routes of RFC 7644 §3.2.

scim2_server.routing.ROUTES#

The routes of a SCIM server, the literal ones first.

The routes of /Me serve the resource of the authenticated subject (RFC 7644 §3.11).

class scim2_server.routing.Route(method: str, pattern: str, operation: Operation, name: str)[source]#

A route of a SCIM server (RFC 7644 §3.2).

{endpoint} in the pattern stands for the endpoint of a resource type, and {resource_id} for an identifier.

class scim2_server.routing.Operation(*values)[source]#

A SCIM operation, named after the handler method that serves it.

create = 'create'#
query = 'query'#
replace = 'replace'#
patch = 'patch'#
delete = 'delete'#
search = 'search'#
search_with_body = 'search_with_body'#
bulk = 'bulk'#
service_provider_config = 'service_provider_config'#
resource_types = 'resource_types'#
resource_type = 'resource_type'#
schemas = 'schemas'#
schema = 'schema'#
class scim2_server.routing.Target(operation: Operation, endpoint: str | None = None, resource_id: str | None = None, me: bool = False)[source]#

The operation a request asks for, and what it acts on.

endpoint: str | None = None#

The endpoint of the resource type, or None at the root.

resource_id: str | None = None#

The identifier of a resource, a resource type or a schema.

me: bool = False#

Whether the request targets /Me, the alias of the resource of the authenticated subject.

scim2_server.routing.match(method: str, path: str) → Target[source]#

Return the target of a request.

Raises: