You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

TestRestClient.cs 1.8 kB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using Discord;
  7. using Discord.Net.Rest;
  8. using System.Threading;
  9. using System.IO;
  10. namespace Discord.Tests.Framework
  11. {
  12. class TestRestClient : IRestClient
  13. {
  14. public static Dictionary<string, string> Headers = new Dictionary<string, string>();
  15. public TestRestClient(string baseUrl)
  16. {
  17. }
  18. Task<Stream> IRestClient.SendAsync(string method, string endpoint, bool headerOnly = false)
  19. {
  20. if (headerOnly) return null;
  21. return Task.FromResult<Stream>(new MemoryStream(Encoding.UTF8.GetBytes(EndpointHandler.Instance.HandleMessage(method, endpoint, ""))));
  22. }
  23. Task<Stream> IRestClient.SendAsync(string method, string endpoint, IReadOnlyDictionary<string, object> multipartParams, bool headerOnly = false)
  24. {
  25. if (headerOnly) return null;
  26. throw new NotImplementedException("method only used for SendFile, not concerned with that yet.");
  27. }
  28. Task<Stream> IRestClient.SendAsync(string method, string endpoint, string json, bool headerOnly = false)
  29. {
  30. if (headerOnly) return null;
  31. return Task.FromResult<Stream>(new MemoryStream(Encoding.UTF8.GetBytes(EndpointHandler.Instance.HandleMessage(method, endpoint, json))));
  32. }
  33. void IRestClient.SetCancelToken(CancellationToken cancelToken)
  34. {
  35. }
  36. void IRestClient.SetHeader(string key, string value)
  37. {
  38. if (Headers.ContainsKey(key))
  39. {
  40. Headers.Remove(key);
  41. }
  42. Headers.Add(key, value);
  43. Console.WriteLine($"[Header Set]: {key} -> {value}");
  44. }
  45. }
  46. }