public UploadMediaTask(UploadMediaUrlBuilder urlBuilder, HttpClient httpClient, ICredentialsHeadersCryptor credentialsHeadersCryptor)
     : base(httpClient, credentialsHeadersCryptor)
 {
     this.urlBuilder = urlBuilder;
     this.credentialsHeadersCryptor = credentialsHeadersCryptor;
     this.httpClient = httpClient;
 }
        public async Task <ScItemsResponse> UploadMediaResourceAsync(IMediaResourceUploadRequest request, CancellationToken cancelToken = default(CancellationToken))
        {
            IMediaResourceUploadRequest requestCopy = request.DeepCopyUploadMediaRequest();

            using (ICredentialsHeadersCryptor cryptor = await this.GetCredentialsCryptorAsync(cancelToken))
            {
                IMediaResourceUploadRequest autocompletedRequest = this.requestMerger.FillUploadMediaGaps(requestCopy);

                var urlBuilder = new UploadMediaUrlBuilder(this.restGrammar, this.webApiGrammar, this.sessionConfig, this.mediaSettings);
                var taskFlow   = new UploadMediaTask(urlBuilder, this.httpClient, cryptor);

                return(await RestApiCallFlow.LoadRequestFromNetworkFlow(autocompletedRequest, taskFlow, cancelToken));
            }
        }
示例#3
0
        public void SetUp()
        {
            IRestServiceGrammar  restGrammar   = RestServiceGrammar.ItemWebApiV2Grammar();
            IWebApiUrlParameters webApiGrammar = WebApiUrlParameters.ItemWebApiV2UrlParameters();

            SessionConfigPOD mutableSessionConfig = new SessionConfigPOD();

            mutableSessionConfig.ItemWebApiVersion = "v234";
            mutableSessionConfig.InstanceUrl       = "mobiledev1ua1.dk.sitecore.net:7119";
            mutableSessionConfig.Site = "/sitecore/shell";

            ItemSource source = LegacyConstants.DefaultSource();

            this.requestMerger = new UserRequestMerger(mutableSessionConfig, source);

            IMediaLibrarySettings mediaSettings = mutableSessionConfig;

            this.builder = new UploadMediaUrlBuilder(restGrammar, webApiGrammar, mutableSessionConfig, mediaSettings);
        }
示例#4
0
 public void TearDown()
 {
     this.builder = null;
 }