Base class of video operation settings.
コード例 #1
0
        private async Task<Operation> CreateOperationAsyncInternal(object video, VideoOperationSettings videoOperationSettings)
        {
            var url = string.Format("{0}/{1}", ServiceHost, videoOperationSettings.MethodName);

            var arguments = videoOperationSettings.GetQueryParameters().ToArray();
            if (arguments.Length != 0)
            {
                var queryToAppend = string.Join("&",
                    arguments.Select(p => WebUtility.UrlEncode(p.Key) + "=" + WebUtility.UrlEncode(p.Value)));

                var uriBuilder = new UriBuilder(url);
                if (uriBuilder.Query != null && uriBuilder.Query.Length > 1)
                {
                    uriBuilder.Query = uriBuilder.Query.Substring(1) + "&" + queryToAppend;
                }
                else
                {
                    uriBuilder.Query = queryToAppend;
                }
                url = uriBuilder.ToString();
            }

            var response = await SendRequestAsync(HttpMethod.Post, url, video);
            Operation operation = new Operation(response.Headers.GetValues(OperationLocation).First());
            return operation;
        }
コード例 #2
0
 /// <summary>
 /// Create video operation.
 /// </summary>
 /// <param name="video">Video byte array.</param>
 /// <param name="videoOperationSettings">Settings of operation.</param>
 /// <returns>Video operation created.</returns>
 public async Task<Operation> CreateOperationAsync(byte[] video, VideoOperationSettings videoOperationSettings)
 {
     return await CreateOperationAsyncInternal(video, videoOperationSettings);
 }
コード例 #3
0
 /// <summary>
 /// Create video operation.
 /// </summary>
 /// <param name="videoUrl">Video url.</param>
 /// <param name="videoOperationSettings">Settings of operation.</param>
 /// <returns>Video operation created.</returns>
 public async Task<Operation> CreateOperationAsync(string videoUrl, VideoOperationSettings videoOperationSettings)
 {
     return await CreateOperationAsyncInternal(videoUrl, videoOperationSettings);
 }
コード例 #4
0
 /// <summary>
 /// Create video operation.
 /// </summary>
 /// <param name="videoUrl">Video url.</param>
 /// <param name="videoOperationSettings">Settings of operation.</param>
 /// <returns>Video operation created.</returns>
 public async Task<Operation> CreateOperationAsync(string videoUrl, VideoOperationSettings videoOperationSettings)
 {
     return await CreateOperationAsyncInternal(new VideoUrlRequest() { Url = videoUrl }, videoOperationSettings);
 }