HttpService.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace ServerLib
  7. {
  8. public class HttpService : HttpServer
  9. {
  10. private List<ServiceModule> m_modules;
  11. public HttpService(string ipAddress, int port)
  12. : base(ipAddress, port)
  13. {
  14. m_modules = new List<ServiceModule>();
  15. }
  16. /// <summary>
  17. /// 注册模块
  18. /// </summary>
  19. /// <param name="module">ServiceModule</param>
  20. public void RegisterModule(ServiceModule module)
  21. {
  22. this.m_modules.Add(module);
  23. }
  24. /// <summary>
  25. /// 卸载模块
  26. /// </summary>
  27. /// <param name="module"></param>
  28. public void RemoveModule(ServiceModule module)
  29. {
  30. this.m_modules.Remove(module);
  31. }
  32. public override void OnDefault(HttpRequest request, HttpResponse response)
  33. {
  34. base.OnDefault(request, response);
  35. }
  36. public override void OnGet(HttpRequest request, HttpResponse response)
  37. {
  38. ServiceRoute route = ServiceRoute.Parse(request);
  39. ServiceModule module = m_modules.FirstOrDefault(m => m.SearchRoute(route));
  40. if (module != null){
  41. var result = module.ExecuteRoute(route);
  42. }
  43. }
  44. public override void OnPost(HttpRequest request, HttpResponse response)
  45. {
  46. base.OnPost(request, response);
  47. }
  48. }
  49. }