protected virtual string GetHostUrlForRequest(IMediaResourceUploadRequest request) { SessionConfigUrlBuilder sessionBuilder = new SessionConfigUrlBuilder(this.restGrammar, this.webApiGrammar); string hostUrl = sessionBuilder.BuildUrlString(request.SessionSettings); return hostUrl; }
public void TestBuildNullSessionConfig() { SessionConfigUrlBuilder builder = new SessionConfigUrlBuilder(RestServiceGrammar.ItemWebApiV2Grammar(), WebApiUrlParameters.ItemWebApiV2UrlParameters()); TestDelegate action = () => builder.BuildUrlString(null); Assert.Throws<ArgumentNullException>(action); }
public void TestBuildBaseUrlWithoutSite() { SessionConfigUrlBuilder builder = new SessionConfigUrlBuilder(RestServiceGrammar.ItemWebApiV2Grammar(), WebApiUrlParameters.ItemWebApiV2UrlParameters()); SessionConfigPOD mockConfig = new SessionConfigPOD(); mockConfig.InstanceUrl = "localhost"; mockConfig.ItemWebApiVersion = "v1"; mockConfig.Site = null; string result = builder.BuildUrlString(mockConfig); string expected = "http://localhost/-/item/v1"; Assert.AreEqual(expected, result); }
public async Task<bool> AuthenticateAsync(CancellationToken cancelToken = default(CancellationToken)) { var sessionUrlBuilder = new SessionConfigUrlBuilder(this.restGrammar, this.webApiGrammar); using (var cryptor = await this.GetCredentialsCryptorAsync(cancelToken)) { var taskFlow = new AuthenticateTasks(this.restGrammar, this.webApiGrammar, sessionUrlBuilder, this.httpClient, cryptor); WebApiJsonStatusMessage result = await RestApiCallFlow.LoadRequestFromNetworkFlow(this.sessionConfig, taskFlow, cancelToken); return result.StatusCode == 200; } }
protected virtual async Task<PublicKeyX509Certificate> GetPublicKeyAsync(CancellationToken cancelToken = default(CancellationToken)) { try { var sessionConfigBuilder = new SessionConfigUrlBuilder(this.restGrammar, this.webApiGrammar); var taskFlow = new GetPublicKeyTasks(sessionConfigBuilder, this.restGrammar, this.webApiGrammar, this.httpClient); PublicKeyX509Certificate result = await RestApiCallFlow.LoadRequestFromNetworkFlow(this.sessionConfig, taskFlow, cancelToken); this.publicCertifiacte = result; } catch (ObjectDisposedException) { // CancellationToken.ThrowIfCancellationRequested() throw; } catch (OperationCanceledException) { // CancellationToken.ThrowIfCancellationRequested() // and TaskCanceledException throw; } catch (SitecoreMobileSdkException ex) { // throw unwrapped exception as if GetPublicKeyAsync() is an atomic phase throw new RsaHandshakeException("[Sitecore Mobile SDK] Public key not received properly", ex.InnerException); } catch (Exception ex) { throw new RsaHandshakeException("[Sitecore Mobile SDK] Public key not received properly", ex); } return this.publicCertifiacte; }
private string GetWebApiEndpointUrlForSession(ISessionConfig sessionConfig) { SessionConfigUrlBuilder builder = new SessionConfigUrlBuilder(this.restGrammar, this.webApiGrammar); return builder.BuildUrlString(sessionConfig); }