From 4d2f1e1bae748e115b7c69e6a0ea3f85f50b4c5d Mon Sep 17 00:00:00 2001 From: RogueException Date: Thu, 26 Nov 2015 18:55:32 -0400 Subject: [PATCH] Removed System.Net.Http dependency --- src/Discord.Net/DiscordClient.Voice.cs | 6 +- src/Discord.Net/DiscordClient.cs | 4 +- src/Discord.Net/DiscordWSClient.cs | 17 +++-- src/Discord.Net/Net/Rest/IRestEngine.cs | 7 +-- src/Discord.Net/Net/Rest/RestClient.Events.cs | 7 +-- src/Discord.Net/Net/Rest/RestClient.cs | 62 +++++++++---------- src/Discord.Net/Net/Rest/SharpRestEngine.cs | 9 ++- src/Discord.Net/project.json | 6 -- 8 files changed, 53 insertions(+), 65 deletions(-) diff --git a/src/Discord.Net/DiscordClient.Voice.cs b/src/Discord.Net/DiscordClient.Voice.cs index cd05432f3..26d4d8558 100644 --- a/src/Discord.Net/DiscordClient.Voice.cs +++ b/src/Discord.Net/DiscordClient.Voice.cs @@ -40,7 +40,11 @@ namespace Discord config.VoiceClientId = unchecked(++_nextVoiceClientId); return new DiscordWSClient(config, server.Id); }); - client.LogMessage += (s, e) => RaiseOnLog(e.Severity, e.Source, $"(#{client.Config.VoiceClientId}) {e.Message}", e.Exception); + client.LogMessage += (s, e) => + { + if (e.Source != LogMessageSource.DataWebSocket) + RaiseOnLog(e.Severity, e.Source, $"(#{client.Config.VoiceClientId}) {e.Message}", e.Exception); + }; await client.Connect(_gateway, _token).ConfigureAwait(false); return client; } diff --git a/src/Discord.Net/DiscordClient.cs b/src/Discord.Net/DiscordClient.cs index 1be671d53..5742c29fc 100644 --- a/src/Discord.Net/DiscordClient.cs +++ b/src/Discord.Net/DiscordClient.cs @@ -132,9 +132,9 @@ namespace Discord _api.RestClient.OnRequest += (s, e) => { if (e.Payload != null) - RaiseOnLog(LogMessageSeverity.Verbose, LogMessageSource.Rest, $"{e.Method.Method} {e.Path}: {Math.Round(e.ElapsedMilliseconds, 2)} ms ({e.Payload})"); + RaiseOnLog(LogMessageSeverity.Verbose, LogMessageSource.Rest, $"{e.Method} {e.Path}: {Math.Round(e.ElapsedMilliseconds, 2)} ms ({e.Payload})"); else - RaiseOnLog(LogMessageSeverity.Verbose, LogMessageSource.Rest, $"{e.Method.Method} {e.Path}: {Math.Round(e.ElapsedMilliseconds, 2)} ms"); + RaiseOnLog(LogMessageSeverity.Verbose, LogMessageSource.Rest, $"{e.Method} {e.Path}: {Math.Round(e.ElapsedMilliseconds, 2)} ms"); }; } if (_config.LogLevel >= LogMessageSeverity.Debug) diff --git a/src/Discord.Net/DiscordWSClient.cs b/src/Discord.Net/DiscordWSClient.cs index e46cc0cf3..d79cdf7a5 100644 --- a/src/Discord.Net/DiscordWSClient.cs +++ b/src/Discord.Net/DiscordWSClient.cs @@ -79,15 +79,12 @@ namespace Discord if (e.WasUnexpected) await socket.Reconnect(_token).ConfigureAwait(false); }; - - if (!_config.VoiceOnly) + + socket.LogMessage += (s, e) => RaiseOnLog(e.Severity, LogMessageSource.DataWebSocket, e.Message, e.Exception); + if (_config.LogLevel >= LogMessageSeverity.Info) { - socket.LogMessage += (s, e) => RaiseOnLog(e.Severity, LogMessageSource.DataWebSocket, e.Message, e.Exception); - if (_config.LogLevel >= LogMessageSeverity.Info) - { - socket.Connected += (s, e) => RaiseOnLog(LogMessageSeverity.Info, LogMessageSource.DataWebSocket, "Connected"); - socket.Disconnected += (s, e) => RaiseOnLog(LogMessageSeverity.Info, LogMessageSource.DataWebSocket, "Disconnected"); - } + socket.Connected += (s, e) => RaiseOnLog(LogMessageSeverity.Info, LogMessageSource.DataWebSocket, "Connected"); + socket.Disconnected += (s, e) => RaiseOnLog(LogMessageSeverity.Info, LogMessageSource.DataWebSocket, "Disconnected"); } socket.ReceivedEvent += async (s, e) => await OnReceivedEvent(e).ConfigureAwait(false); @@ -96,7 +93,6 @@ namespace Discord internal virtual VoiceWebSocket CreateVoiceSocket() { var socket = new VoiceWebSocket(this); - socket.LogMessage += (s, e) => RaiseOnLog(e.Severity, LogMessageSource.VoiceWebSocket, e.Message, e.Exception); socket.Connected += (s, e) => RaiseVoiceConnected(); socket.Disconnected += async (s, e) => { @@ -104,11 +100,14 @@ namespace Discord if (e.WasUnexpected) await socket.Reconnect().ConfigureAwait(false); }; + + socket.LogMessage += (s, e) => RaiseOnLog(e.Severity, LogMessageSource.VoiceWebSocket, e.Message, e.Exception); if (_config.LogLevel >= LogMessageSeverity.Info) { socket.Connected += (s, e) => RaiseOnLog(LogMessageSeverity.Info, LogMessageSource.VoiceWebSocket, "Connected"); socket.Disconnected += (s, e) => RaiseOnLog(LogMessageSeverity.Info, LogMessageSource.VoiceWebSocket, "Disconnected"); } + return socket; } diff --git a/src/Discord.Net/Net/Rest/IRestEngine.cs b/src/Discord.Net/Net/Rest/IRestEngine.cs index 3bed09f40..c72863de7 100644 --- a/src/Discord.Net/Net/Rest/IRestEngine.cs +++ b/src/Discord.Net/Net/Rest/IRestEngine.cs @@ -1,5 +1,4 @@ -using System.Net.Http; -using System.Threading; +using System.Threading; using System.Threading.Tasks; namespace Discord.Net.Rest @@ -7,7 +6,7 @@ namespace Discord.Net.Rest internal interface IRestEngine { void SetToken(string token); - Task Send(HttpMethod method, string path, string json, CancellationToken cancelToken); - Task SendFile(HttpMethod method, string path, string filePath, CancellationToken cancelToken); + Task Send(string method, string path, string json, CancellationToken cancelToken); + Task SendFile(string method, string path, string filePath, CancellationToken cancelToken); } } diff --git a/src/Discord.Net/Net/Rest/RestClient.Events.cs b/src/Discord.Net/Net/Rest/RestClient.Events.cs index b12fe997f..b569fd655 100644 --- a/src/Discord.Net/Net/Rest/RestClient.Events.cs +++ b/src/Discord.Net/Net/Rest/RestClient.Events.cs @@ -1,5 +1,4 @@ using System; -using System.Net.Http; namespace Discord.Net.Rest { @@ -7,11 +6,11 @@ namespace Discord.Net.Rest { public class RequestEventArgs : EventArgs { - public HttpMethod Method { get; } + public string Method { get; } public string Path { get; } public string Payload { get; } public double ElapsedMilliseconds { get; } - public RequestEventArgs(HttpMethod method, string path, string payload, double milliseconds) + public RequestEventArgs(string method, string path, string payload, double milliseconds) { Method = method; Path = path; @@ -21,7 +20,7 @@ namespace Discord.Net.Rest } public event EventHandler OnRequest; - private void RaiseOnRequest(HttpMethod method, string path, string payload, double milliseconds) + private void RaiseOnRequest(string method, string path, string payload, double milliseconds) { if (OnRequest != null) OnRequest(this, new RequestEventArgs(method, path, payload, milliseconds)); diff --git a/src/Discord.Net/Net/Rest/RestClient.cs b/src/Discord.Net/Net/Rest/RestClient.cs index 301dc035d..a7dfc8fe9 100644 --- a/src/Discord.Net/Net/Rest/RestClient.cs +++ b/src/Discord.Net/Net/Rest/RestClient.cs @@ -2,7 +2,6 @@ using Newtonsoft.Json; using System; using System.Diagnostics; -using System.Net.Http; using System.Threading; using System.Threading.Tasks; @@ -27,69 +26,64 @@ namespace Discord.Net.Rest public void SetToken(string token) => _engine.SetToken(token); //DELETE - private static readonly HttpMethod _delete = HttpMethod.Delete; internal Task Delete(string path, object data) where ResponseT : class - => Send(_delete, path, data); + => Send("DELETE", path, data); internal Task Delete(string path) where ResponseT : class - => Send(_delete, path); + => Send("DELETE", path); internal Task Delete(string path, object data) - => Send(_delete, path, data); + => Send("DELETE", path, data); internal Task Delete(string path) - => Send(_delete, path); + => Send("DELETE", path); //GET - private static readonly HttpMethod _get = HttpMethod.Get; internal Task Get(string path) where ResponseT : class - => Send(_get, path); + => Send("GET", path); internal Task Get(string path) - => Send(_get, path); + => Send("GET", path); //PATCH - private static readonly HttpMethod _patch = new HttpMethod("PATCH"); internal Task Patch(string path, object data) where ResponseT : class - => Send(_patch, path, data); + => Send("PATCH", path, data); internal Task Patch(string path, object data) - => Send(_patch, path, data); - - private static readonly HttpMethod _post = HttpMethod.Post; + => Send("PATCH", path, data); + internal Task Post(string path, object data) where ResponseT : class - => Send(_post, path, data); + => Send("POST", path, data); internal Task Post(string path) where ResponseT : class - => Send(_post, path); + => Send("POST", path); internal Task Post(string path, object data) - => Send(_post, path, data); + => Send("POST", path, data); internal Task Post(string path) - => Send(_post, path); - - private static readonly HttpMethod _put = HttpMethod.Put; + => Send("POST", path); + internal Task Put(string path, object data) where ResponseT : class - => Send(_put, path, data); + => Send("PUT", path, data); internal Task Put(string path) where ResponseT : class - => Send(_put, path); + => Send("PUT", path); internal Task Put(string path, object data) - => Send(_put, path, data); + => Send("PUT", path, data); internal Task Put(string path) - => Send(_put, path); + => Send("PUT", path); internal Task PostFile(string path, string filePath) where ResponseT : class - => SendFile(_post, path, filePath); + => SendFile("POST", path, filePath); internal Task PostFile(string path, string filePath) - => SendFile(_post, path, filePath); + => SendFile("POST", path, filePath); internal Task PutFile(string path, string filePath) where ResponseT : class - => SendFile(_put, path, filePath); + => SendFile("PUT", path, filePath); internal Task PutFile(string path, string filePath) - => SendFile(_put, path, filePath); + => SendFile("PUT", path, filePath); - private async Task Send(HttpMethod method, string path, object content = null) + private async Task Send(string method, string path, object content = null) where ResponseT : class { string responseJson = await Send(method, path, content, true).ConfigureAwait(false); return DeserializeResponse(responseJson); } - private Task Send(HttpMethod method, string path, object content = null) + private Task Send(string method, string path, object content = null) => Send(method, path, content, false); - private async Task Send(HttpMethod method, string path, object content, bool hasResponse) + private async Task Send(string method, string path, object content, bool hasResponse) { Stopwatch stopwatch = null; string requestJson = null; @@ -123,15 +117,15 @@ namespace Discord.Net.Rest return responseJson; } - private async Task SendFile(HttpMethod method, string path, string filePath) + private async Task SendFile(string method, string path, string filePath) where ResponseT : class { string responseJson = await SendFile(method, path, filePath, true).ConfigureAwait(false); return DeserializeResponse(responseJson); } - private Task SendFile(HttpMethod method, string path, string filePath) + private Task SendFile(string method, string path, string filePath) => SendFile(method, path, filePath, false); - private async Task SendFile(HttpMethod method, string path, string filePath, bool hasResponse) + private async Task SendFile(string method, string path, string filePath, bool hasResponse) { Stopwatch stopwatch = null; diff --git a/src/Discord.Net/Net/Rest/SharpRestEngine.cs b/src/Discord.Net/Net/Rest/SharpRestEngine.cs index 49124a802..72a3d7281 100644 --- a/src/Discord.Net/Net/Rest/SharpRestEngine.cs +++ b/src/Discord.Net/Net/Rest/SharpRestEngine.cs @@ -3,7 +3,6 @@ using Discord.API; using RestSharp; using System; using System.Net; -using System.Net.Http; using System.Threading; using System.Threading.Tasks; @@ -39,13 +38,13 @@ namespace Discord.Net.Rest _client.AddDefaultHeader("authorization", token); } - public Task Send(HttpMethod method, string path, string json, CancellationToken cancelToken) + public Task Send(string method, string path, string json, CancellationToken cancelToken) { var request = new RestRequest(path, GetMethod(method)); request.AddParameter("application/json", json, ParameterType.RequestBody); return Send(request, cancelToken); } - public Task SendFile(HttpMethod method, string path, string filePath, CancellationToken cancelToken) + public Task SendFile(string method, string path, string filePath, CancellationToken cancelToken) { var request = new RestRequest(path, Method.POST); request.AddFile("file", filePath); @@ -70,9 +69,9 @@ namespace Discord.Net.Rest } } - private Method GetMethod(HttpMethod method) + private Method GetMethod(string method) { - switch (method.Method) + switch (method) { case "DELETE": return Method.DELETE; case "GET": return Method.GET; diff --git a/src/Discord.Net/project.json b/src/Discord.Net/project.json index 3f2b8985c..5eeed29d8 100644 --- a/src/Discord.Net/project.json +++ b/src/Discord.Net/project.json @@ -35,18 +35,12 @@ "frameworks": { "net45": { - "frameworkAssemblies": { - "System.Net.Http": "4.0.0.0" - }, "dependencies": { "RestSharp": "105.2.3", "WebSocketSharp": "1.0.3-rc9" } }, "dnx451": { - "frameworkAssemblies": { - "System.Net.Http": "4.0.0.0" - }, "dependencies": { "RestSharp": "105.2.3", "WebSocketSharp": "1.0.3-rc9"