CHttpRequest.cpp 868 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #include <AK/StringBuilder.h>
  2. #include <LibCore/CHttpJob.h>
  3. #include <LibCore/CHttpRequest.h>
  4. CHttpRequest::CHttpRequest()
  5. {
  6. }
  7. CHttpRequest::~CHttpRequest()
  8. {
  9. }
  10. ObjectPtr<CNetworkJob> CHttpRequest::schedule()
  11. {
  12. auto job = CHttpJob::construct(*this);
  13. job->start();
  14. return job;
  15. }
  16. String CHttpRequest::method_name() const
  17. {
  18. switch (m_method) {
  19. case Method::GET:
  20. return "GET";
  21. case Method::HEAD:
  22. return "HEAD";
  23. case Method::POST:
  24. return "POST";
  25. default:
  26. ASSERT_NOT_REACHED();
  27. }
  28. }
  29. ByteBuffer CHttpRequest::to_raw_request() const
  30. {
  31. StringBuilder builder;
  32. builder.append(method_name());
  33. builder.append(' ');
  34. builder.append(m_url.path());
  35. builder.append(" HTTP/1.0\r\nHost: ");
  36. builder.append(m_url.host());
  37. builder.append("\r\n\r\n");
  38. return builder.to_byte_buffer();
  39. }