Skip to content

Library overhaul - #25

Merged
azmeuk merged 13 commits into
mainfrom
server-core
Oct 5, 2026
Merged

azmeuk merged 13 commits into
mainfrom
server-core

Conversation

@azmeuk

@azmeuk azmeuk commented Oct 5, 2026

Copy link
Copy Markdown
Member

Rework the whole library to make it reusable in different contexts:

  • add a documentation
  • add ScimStorage and AsyncScimStorage interfaces to let users plug their own database or orm
  • add ScimHandler and AsyncScimHandler classes to let users plug their own web frameworks
  • add a ScimService class to let users overrid the SCIM logic if needed

azmeuk added 12 commits October 2, 2026 23:03
…torage

The Backend class and the scim2_server.backend module are removed.
A storage implements ScimStorage.
InMemoryStorage keeps the resources in memory.
The ScimStorageContract tests of scim2_server.testing check a storage.
ScimService holds the SCIM logic and does no I/O.
ScimHandler serves the requests with a service and a storage.
SCIMApplication becomes a werkzeug adapter over a handler.
It takes an optional ScimService, so a subclass can change the service.
The methods of SCIMApplication that held the SCIM logic are removed.
… and the handler

AsyncScimStorage, AsyncInMemoryStorage and AsyncScimHandler serve the
same requests with coroutines.
SCIMApplication.register_bearer_token is removed.
The scim2_server.testserver package holds the scim2-server command and
BearerTokenApplication, which checks static bearer tokens.
The handler methods take a ScimRequest.
The service matches the requests against the routes of RFC 7644 §3.2.
An adapter passes every request to ScimHandler.handle.
SCIMApplication and the werkzeug dependency are removed.
WSGIApplication and ASGIApplication, in scim2_server.applications, serve
the SCIM protocol with no web framework.
TenantDispatcher and ForwardedHeaders are WSGI middlewares.
The scim2-server command serves the application with wsgiref.
@azmeuk
azmeuk merged commit be082d4 into main Oct 5, 2026
8 checks passed
@azmeuk
azmeuk deleted the server-core branch October 5, 2026 08:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant