Server
open class Server: FHIROpenServer, OAuth2RequestPerformer
Representing the FHIR resource server a client connects to.
This implementation holds on to an Auth instance to handle authentication. It is automatically instantiated with properties from the
settings dictionary provided upon Client initalization or from the server’s cabability statement.
The server’s cabability statement is automatically downloaded the first time it’s needed for various tasks, such as instantiating the Auth
instance or validating/executing operations.
A server manages its own NSURLSession, either with an optional delegate provided via sessionDelegate or simply the system shared
session. Subclasses can change this behavior by overriding createDefaultSession or any of the other request-related methods.
-
The service URL as a string, as specified during initalization to be used as
audparameter.Declaration
Swift
public final let aud: String -
An optional name of the server; will be read from cabability statement unless manually assigned.
Declaration
Swift
public final var name: String? -
An optional NSURLSessionDelegate.
Declaration
Swift
open var sessionDelegate: URLSessionDelegate? -
Allow to inject a custom OAuth2DynReg class and/or setup.
Declaration
Swift
open var onBeforeDynamicClientRegistration: ((URL) -> OAuth2DynReg)? -
The logger to use.
Declaration
Swift
open var logger: OAuth2Logger? -
Main initializer. Makes sure the base URL ends with a
/
to facilitate URL generation later on.Declaration
Swift
public required init(baseURL base: URL, auth: OAuth2JSON? = nil)Parameters
baseURLThe base URL of the server
authA dictionary with authentication settings, passed on to the
Authinitializer
-
Instantiate the server’s default URLSession.
Declaration
Swift
override open func createDefaultSession() -> URLSessionReturn Value
The URLSession created
-
Return a URLRequest for the given url, possibly already signed, that can be further configured.
Declaration
Swift
override open func configurableRequest(for url: URL) -> URLRequestParameters
urlThe URL the request will work against
Return Value
A preconfigured URLRequest
-
Declaration
Swift
open override func perform(request: URLRequest, completionHandler: @escaping (Data?, URLResponse?, Error?) -> Void) -> URLSessionTask?Parameters
requestThe URL request to perform as-is
completionHandlerThe completion handler, returning optional data, response and error instances, when all has completed
Return Value
A URLSessionTask that is already under way
-
Undocumented
Declaration
Swift
open class Server: FHIROpenServer, OAuth2RequestPerformer -
Undocumented
Declaration
Swift
open class Server: FHIROpenServer, OAuth2RequestPerformer
-
The auth credentials currently in use by the receiver.
Declaration
Swift
open var authClientCredentials: (id: String, secret: String?, name: String?)? -
Ensures that the server is ready to perform requests before calling the callback.
Being
ready
in this case entails holding on to anAuthinstance. Such an instance is automatically created if either the client init settings are sufficient (i.e. contain anauthorize_uri
and optionally atoken_uri
and aclient_id
orregistration_uri
) or after the cabability statement has been fetched.Declaration
Swift
open func ready(callback: @escaping (FHIRError?) -> ()) -
Ensures that the receiver is ready, then calls the auth method’s
authorize()method.Declaration
Swift
open func authorize(with properties: SMARTAuthProperties, callback: @escaping ((_ patient: Patient?, _ error: Error?) -> Void))Parameters
propertiesThe auth properties to use
callbackCallback to call when authorization is complete, providing the chosen patient (if the patient scope was provided) or an error, if any
-
Aborts ongoing authorization and requests session.
Declaration
Swift
open func abort()
-
Runs dynamic client registration unless the client has a client id (or no registration URL is known). Since this happens automatically during
authorize()you probably won’t need to call this method explicitly.Declaration
Swift
open func registerIfNeeded(callback: @escaping ((_ json: OAuth2JSON?, _ error: Error?) -> Void))Parameters
callbackThe callback to call when completed or failed; if both json and error is nil no registration was attempted
View on GitHub
Install in Dash
Server Class Reference