@@ -433,9 +433,8 @@ def forbid_filter(request: Request):
433433 if "filter" in request .args :
434434 raise Forbidden
435435
436- def call_service_provider_config (self , request : Request , ** kwargs ):
437- """Return the ServiceProviderConfig."""
438- self .forbid_filter (request )
436+ def get_service_provider_config (self ):
437+ """Build a ServiceProviderConfig object describing the server configuration."""
439438 auth_scheme = (
440439 []
441440 if not self .bearer_tokens
@@ -448,23 +447,27 @@ def call_service_provider_config(self, request: Request, **kwargs):
448447 )
449448 ]
450449 )
451- return self .make_response (
452- ServiceProviderConfig (
453- documentation_uri = "https://www.example.com/" ,
454- patch = Patch (supported = True ),
455- bulk = Bulk (supported = False ),
456- filter = Filter (supported = True , max_results = 1000 ),
457- change_password = ChangePassword (supported = True ),
458- sort = Sort (supported = True ),
459- etag = ETag (supported = True ),
460- authentication_schemes = auth_scheme ,
461- meta = Meta (
462- resource_type = "ServiceProviderConfig" ,
463- location = request .url ,
464- ),
465- ).model_dump ()
450+ return ServiceProviderConfig (
451+ documentation_uri = "https://www.example.com/" ,
452+ patch = Patch (supported = True ),
453+ bulk = Bulk (supported = False ),
454+ filter = Filter (supported = True , max_results = 1000 ),
455+ change_password = ChangePassword (supported = True ),
456+ sort = Sort (supported = True ),
457+ etag = ETag (supported = True ),
458+ authentication_schemes = auth_scheme ,
459+ meta = Meta (
460+ resource_type = "ServiceProviderConfig" ,
461+ ),
466462 )
467463
464+ def call_service_provider_config (self , request : Request , ** kwargs ):
465+ """Return the ServiceProviderConfig."""
466+ self .forbid_filter (request )
467+ spc = self .get_service_provider_config ()
468+ spc .meta .location = request .url
469+ return self .make_response (spc .model_dump ())
470+
468471 def call_resource_type (self , request : Request , resource_type : str , ** kwargs ):
469472 """Return a single resource type."""
470473 self .forbid_filter (request )
0 commit comments