public static async Task <Uri> PostTranscriptionAsync(TranscriptionDefinition transcriptionDefinition, string hostName, string subscriptionKey) { var path = $"{hostName}{TranscriptionsBasePath}"; var payloadString = JsonConvert.SerializeObject(transcriptionDefinition); return(await PostAsync(path, subscriptionKey, payloadString, PostTimeout).ConfigureAwait(false)); }
public Task <Uri> PostTranscriptionAsync(string name, string description, string locale, Dictionary <string, string> properties, IEnumerable <string> contentUrls, IEnumerable <Guid> modelIds) { var models = modelIds.Select(m => ModelIdentity.Create(m)).ToList(); var path = $"{SpeechToTextBasePath}Transcriptions/"; var transcriptionDefinition = TranscriptionDefinition.Create(name, description, locale, contentUrls, properties, models); return(this.PostAsJsonAsync(path, transcriptionDefinition)); }
private async Task <Uri> PostAsJsonAsync(string path, TranscriptionDefinition payload) { var request = BuildPostWebRequest(path, payload); Log.LogInformation("Request: " + request); var webResponse = await GetHttpWebResponseAsync(request).ConfigureAwait(false); Log.LogInformation("StatusCode: " + webResponse.StatusCode); return(GetLocationFromPostResponseAsync(webResponse.Headers)); }
private HttpWebRequest BuildPostWebRequest(string path, TranscriptionDefinition payload) { var request = (HttpWebRequest)WebRequest.Create(new Uri(HostName + path)); request.ContentType = "application/json; charset=UTF-8"; request.Accept = "application/json"; request.Method = "POST"; request.Headers.Add("Ocp-Apim-Subscription-Key", SubscriptionKey); var payloadString = JsonConvert.SerializeObject(payload); var data = Encoding.ASCII.GetBytes(payloadString); request.ContentLength = data.Length; using (var stream = request.GetRequestStream()) { stream.Write(data, 0, data.Length); } return(request); }