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 GetPublicKeyTasks(SessionConfigUrlBuilder sessionConfigBuilder, IRestServiceGrammar restGrammar, IWebApiUrlParameters webApiGrammar, HttpClient httpClient) { this.sessionConfigBuilder = sessionConfigBuilder; this.restGrammar = restGrammar; this.webApiGrammar = webApiGrammar; this.httpClient = httpClient; }
public GetPublicKeyTasks(IScCredentials credentials, SessionConfigUrlBuilder sessionConfigBuilder, ISSCUrlParameters sscGrammar, HttpClient httpClient) { this.sessionConfigBuilder = sessionConfigBuilder; this.sscGrammar = sscGrammar; this.httpClient = httpClient; this.credentials = credentials; }
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); }
protected AbstractDeleteItemUrlBuilder(IRestServiceGrammar restGrammar, IWebApiUrlParameters webApiGrammar) { this.RestGrammar = restGrammar; this.WebApiGrammar = webApiGrammar; this.sessionConfigUrlBuilder = new SessionConfigUrlBuilder(restGrammar, webApiGrammar); this.scopeBuilder = new ScopeParametersUrlBuilder(restGrammar, webApiGrammar); }
protected virtual string GetHostUrlForRequest(TRequest request) { SessionConfigUrlBuilder sessionBuilder = new SessionConfigUrlBuilder(this.restGrammar, this.sscGrammar); string hostUrl = sessionBuilder.BuildUrlString(request.SessionSettings); return(hostUrl); }
public AuthenticateTasks(IRestServiceGrammar restGrammar, IWebApiUrlParameters webApiGrammar, SessionConfigUrlBuilder urlBuilder, HttpClient httpClient, ICredentialsHeadersCryptor cryptor) { this.restGrammar = restGrammar; this.webApiGrammar = webApiGrammar; this.urlBuilder = urlBuilder; this.httpClient = httpClient; this.credentialsCryptor = cryptor; }
protected virtual string GetHostUrlForRequest(TRequest request) { SessionConfigUrlBuilder sessionBuilder = new SessionConfigUrlBuilder(this.utGrammar); string hostUrl = sessionBuilder.BuildUrlString(request.SessionConfig); hostUrl = hostUrl + RestGrammar.PathComponentSeparator + this.GetEndpointForRequest(); return(hostUrl); }
public void TestBuildBaseUrlWithoutSite() { SessionConfigUrlBuilder builder = new SessionConfigUrlBuilder(RestServiceGrammar.ItemSSCV2Grammar(), SSCUrlParameters.ItemSSCV2UrlParameters()); SessionConfigPOD mockConfig = new SessionConfigPOD(); mockConfig.InstanceUrl = "localhost"; string result = builder.BuildUrlString(mockConfig); string expected = "https://localhost/sitecore/api/ssc"; 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); } }
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); }
protected virtual async Task <ScAuthResponse> GetPublicKeyAsync(CancellationToken cancelToken = default(CancellationToken)) { ScAuthResponse response = null; if (this.credentials != null) { string url = SessionConfigValidator.AutocompleteInstanceUrlForcingHttps(this.Config.InstanceUrl); IEnumerable <Cookie> prevCookies = this.cookies.GetCookies(new Uri(url)).Cast <Cookie>(); bool noCookies = true; if (prevCookies.Count() > 0) { noCookies = this.CookiesExpired(prevCookies); } if (noCookies) { try { var sessionConfigBuilder = new SessionConfigUrlBuilder(this.restGrammar, this.sscGrammar); var taskFlow = new GetPublicKeyTasks(this.credentials, sessionConfigBuilder, this.sscGrammar, this.httpClient); response = await RestApiCallFlow.LoadRequestFromNetworkFlow(this.sessionConfig, taskFlow, cancelToken); IEnumerable <Cookie> newCookies = this.cookies.GetCookies(new Uri(url)).Cast <Cookie>(); Debug.WriteLine(newCookies.ToString()); } 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] ASPXAUTH not received properly", ex.InnerException); } catch (Exception ex) { throw new RsaHandshakeException("[Sitecore Mobile SDK] ASPXAUTH not received properly", ex); } } else { response = new ScAuthResponse("200"); } } return(response); }
private string GetSSCEndpointUrlForSession(ISessionConfig sessionConfig) { SessionConfigUrlBuilder builder = new SessionConfigUrlBuilder(this.restGrammar, this.sscGrammar); return(builder.BuildUrlString(sessionConfig)); }
protected AbstractDeleteItemUrlBuilder(IRestServiceGrammar restGrammar, ISSCUrlParameters sscGrammar) { this.RestGrammar = restGrammar; this.SSCGrammar = sscGrammar; this.sessionConfigUrlBuilder = new SessionConfigUrlBuilder(restGrammar, sscGrammar); }