public DigitalstromConnectionProvider(UriPriorityList uris, IDigitalstromAuth authData, X509Certificate2?cert = null, Func <X509Certificate2, bool>?certCallback = null, HttpMessageHandler?handler = null) { Uris = uris; AuthData = authData; ServerCertificate = cert; ServerCertificateValidationCallback = certCallback; if (handler != null) { Handler = handler; } }
/// <summary> /// Connects to the Digitalstrom DSS REST webservice at one of the given uris with /// the given app and user credentials given via the authentication data object. If /// a valid application token is given in the auth data, it is used directly. /// It is first tried to connect to the local uri - if this fails, i.e. the client /// is outside the local LAN, the internet base uri is used subsequently. /// </summary> /// <param name="localBaseUri">The uri of the Digitalstrom DSS in the local LAN</param> /// <param name="internetBaseUri">The internet exposed uri of the Digitalstrom DSS</param> /// <param name="authData">The authentication information needed to use for /// the webservice or to perform a new or renewed authentication</param> public DigitalstromDssClient(Uri localBaseUri, Uri internetBaseUri, IDigitalstromAuth authData) : base(new DigitalstromConnectionProvider(new List <Uri>() { localBaseUri, internetBaseUri }, authData)) { }
/// <summary> /// Connects to the Digitalstrom DSS REST webservice at the given uri with /// the given app and user credentials given via the authentication data object. If /// a valid application token is given in the auth data, it is used directly. /// </summary> /// <param name="uri">The uri of the Digitalstrom DSS</param> /// <param name="authData">The authentication information needed to use for /// the webservice or to perform a new or renewed authentication</param> public DigitalstromDssClient(Uri uri, IDigitalstromAuth authData) : base(new DigitalstromConnectionProvider(new List <Uri>() { uri }, authData)) { }
/// <summary> /// Connects to the Digitalstrom DSS REST webservice at the given uri with the given /// app and user credentials given via the IDigitalstromConnectionProvider object. If /// a valid application token is given in the auth data, it is used directly. /// This abstract base class handles the authentication flow including fetching and /// activating the application token, obtaining a session token as well as deserializing /// responses and unpacking the wiremessage. /// </summary> /// <param name="connectionProvider">All necessary connection infos like uris and /// authentication data needed to use for the webservice or to perform a new or /// renewed authentication</param> public DigitalstromAuthenticatingClientBase(IDigitalstromConnectionProvider connectionProvider) : base(connectionProvider) { _authData = connectionProvider.AuthData; }
public DigitalstromConnectionProvider(Uri uri, IDigitalstromAuth authData, X509Certificate2?cert = null, HttpMessageHandler?handler = null) : this(new UriPriorityList(new List <Uri>() { uri }), authData, cert, null, handler) { }