public async Task <Profanity> AddAsync(ulong serverId, string profanity, ProfanityMode mode) { var server = await _serverRepository.GetByServerId(serverId); if (server == null) { _logger.LogWarning("Attempted to access a server ({server}) that does not exist.", serverId); throw new ArgumentException("Server does not exist!", nameof(serverId)); } var profanityObj = await GetProfanity(profanity); if (profanityObj == null) { profanityObj = new Profanity { Word = profanity }; await AddAsync(profanityObj); } await ExecuteAsync($"INSERT INTO ProfanityServer " + $"(ServerId, ProfanityId, Mode) " + $"VALUES (@ServerId, @ProfanityId, @Mode);", new { ServerId = server.Id, ProfanityId = profanityObj.Id, Mode = mode }); return(profanityObj); }
HttpRequestMessage CreateRequest(OutputMode outputMode) { try { var uriBuilder = new UriBuilder(SpeechEndpoint.Protocol, SpeechEndpoint.Host, SpeechEndpoint.Port, SpeechEndpoint.Path); uriBuilder.Path += $"/{RecognitionMode.ToString ().ToLower ()}/cognitiveservices/{ApiVersion}"; uriBuilder.Query = $"language={RecognitionLanguage}&format={outputMode.ToString ().ToLower ()}&profanity={ProfanityMode.ToString ().ToLower ()}"; Debug.WriteLine($"{DateTime.Now} :: Request Uri: {uriBuilder.Uri}"); var request = new HttpRequestMessage(HttpMethod.Post, uriBuilder.Uri) { Version = HttpVersion.Version11 }; request.Headers.TransferEncodingChunked = true; request.Headers.ExpectContinue = true; request.Headers.Accept.ParseAdd(Constants.MimeTypes.Json); request.Headers.Accept.ParseAdd(Constants.MimeTypes.Xml); request.Headers.Host = SpeechEndpoint.Host; switch (AuthenticationMode) { case AuthenticationMode.SubscriptionKey: request.Headers.Add(Constants.Keys.SubscriptionKey, subscriptionKey); break; case AuthenticationMode.AuthorizationToken: request.Headers.Authorization = new AuthenticationHeaderValue(Constants.Keys.Bearer, AuthClient.Token); break; } return(request); } catch (Exception ex) { Debug.WriteLine(ex.Message); throw; } }