GeminiRequest.cpp 750 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. /*
  2. * Copyright (c) 2020, the SerenityOS developers.
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #include <AK/StringBuilder.h>
  7. #include <AK/URL.h>
  8. #include <LibGemini/GeminiJob.h>
  9. #include <LibGemini/GeminiRequest.h>
  10. namespace Gemini {
  11. GeminiRequest::GeminiRequest()
  12. {
  13. }
  14. GeminiRequest::~GeminiRequest()
  15. {
  16. }
  17. ByteBuffer GeminiRequest::to_raw_request() const
  18. {
  19. StringBuilder builder;
  20. builder.append(m_url.to_string());
  21. builder.append("\r\n");
  22. return builder.to_byte_buffer();
  23. }
  24. Optional<GeminiRequest> GeminiRequest::from_raw_request(const ByteBuffer& raw_request)
  25. {
  26. URL url = StringView(raw_request);
  27. if (!url.is_valid())
  28. return {};
  29. GeminiRequest request;
  30. request.m_url = url;
  31. return request;
  32. }
  33. }