controller.cpp 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*
  2. Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler
  3. Distributed under MIT license, or public domain if desired and
  4. recognized in your jurisdiction.
  5. See file LICENSE for detail.
  6. */
  7. #include "controller.h"
  8. #include "request.h"
  9. #include "response.h"
  10. CWF_BEGIN_NAMESPACE
  11. void Controller::doMessage(Request &req, Response &resp, const QString &method) const
  12. {
  13. QString msg("http.method_" + method.toLower() + "_not_supported");
  14. if (req.getProtocol().endsWith("1.1"))
  15. resp.sendError(Response::SC_METHOD_NOT_ALLOWED, msg.toUtf8());
  16. else
  17. resp.sendError(Response::SC_BAD_REQUEST, msg.toUtf8());
  18. }
  19. void Controller::doDelete(Request &req, Response &resp) const
  20. {
  21. doMessage(req, resp, HTTP::METHOD::DELETE);
  22. }
  23. void Controller::doGet(Request &req, Response &resp) const
  24. {
  25. doMessage(req, resp, HTTP::METHOD::GET);
  26. }
  27. void Controller::doOptions(Request &req, Response &resp) const
  28. {
  29. doMessage(req, resp, HTTP::METHOD::OPTIONS);
  30. }
  31. void Controller::doPost(Request &req, Response &resp) const
  32. {
  33. doMessage(req, resp, HTTP::METHOD::POST);
  34. }
  35. void Controller::doPut(Request &req, Response &resp) const
  36. {
  37. doMessage(req, resp, HTTP::METHOD::PUT);
  38. }
  39. void Controller::doTrace(Request &req, Response &resp) const
  40. {
  41. doMessage(req, resp, HTTP::METHOD::TRACE);
  42. }
  43. CWF_END_NAMESPACE