private async Task <BulkUploadOperation> SubmitUploadAsyncImpl(SubmitUploadParameters parameters) { var request = new GetBulkUploadUrlRequest { ResponseMode = parameters.ResponseMode }; GetBulkUploadUrlResponse getUploadUrlResponse; using (var apiService = new ServiceClient <IBulkService>(_authorizationData)) { getUploadUrlResponse = await apiService.CallAsync((s, r) => s.GetBulkUploadUrlAsync(r), request).ConfigureAwait(false); } var uploadUrl = getUploadUrlResponse.UploadUrl; Action <HttpRequestHeaders> addHeaders = headers => { headers.Add("DeveloperToken", _authorizationData.DeveloperToken); headers.Add("CustomerId", _authorizationData.CustomerId.ToString()); headers.Add("AccountId", _authorizationData.AccountId.ToString()); _authorizationData.Authentication.AddAuthenticationHeaders(headers); }; string effectiveFileUploadPath = parameters.UploadFilePath; if (parameters.RenameUploadFileToMatchRequestId) { effectiveFileUploadPath = RenameUploadFileToMatchRequestId(effectiveFileUploadPath, getUploadUrlResponse); } var shouldCompress = parameters.CompressUploadFile && Path.GetExtension(effectiveFileUploadPath) != ".zip"; string compressedFilePath = null; if (shouldCompress) { compressedFilePath = CompressUploadFile(effectiveFileUploadPath); effectiveFileUploadPath = compressedFilePath; } await HttpService.UploadFileAsync(new Uri(uploadUrl), effectiveFileUploadPath, addHeaders).ConfigureAwait(false); if (shouldCompress && compressedFilePath != null) { FileSystem.DeleteFile(compressedFilePath); } return(new BulkUploadOperation(getUploadUrlResponse.RequestId, _authorizationData, getUploadUrlResponse.TrackingId) { StatusPollIntervalInMilliseconds = StatusPollIntervalInMilliseconds }); }
// GetBulkUploadUrl helper method calls the GetBulkUploadUrl service operation // to request the upload identifier and upload Url via GetBulkUploadUrlResponse. private async Task <GetBulkUploadUrlResponse> GetBulkUploadUrl(ResponseMode responseMode, long accountId) { var request = new GetBulkUploadUrlRequest { ResponseMode = responseMode, AccountId = accountId }; return(await Service.CallAsync( (s, r) => s.GetBulkUploadUrlAsync(r), request)); }
public async Task <GetBulkUploadUrlResponse> GetBulkUploadUrlAsync(ApiAuthentication auth, long accountId, ResponseMode responseMode, long?customerId) { var request = new GetBulkUploadUrlRequest { CustomerAccountId = string.Format("{0}", accountId), CustomerId = string.Format("{0}", customerId), AccountId = accountId, ResponseMode = ResponseMode.ErrorsAndResults }; try { SetAuthHelper.SetAuth(auth, request); return(await Check().GetBulkUploadUrlAsync(request)); } catch (Exception ex) { Log(new LogEventArgs(ServiceType.Bulk, "GetBulkUploadUrlAsync", ex.Message, new { Request = request }, ex)); } return(null); }
// GetBulkUploadUrl helper method calls the GetBulkUploadUrl service operation // to request the upload identifier and upload Url via GetBulkUploadUrlResponse. private async Task<GetBulkUploadUrlResponse> GetBulkUploadUrl(ResponseMode responseMode, long accountId) { var request = new GetBulkUploadUrlRequest { ResponseMode = responseMode, AccountId = accountId }; return (await Service.CallAsync( (s, r) => s.GetBulkUploadUrlAsync(r), request)); }