GeminiRequest.cpp 649 B

12345678910111213141516171819202122232425262728293031
  1. /*
  2. * Copyright (c) 2020-2022, 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/GeminiRequest.h>
  9. namespace Gemini {
  10. ByteBuffer GeminiRequest::to_raw_request() const
  11. {
  12. StringBuilder builder;
  13. builder.append(m_url.to_string());
  14. builder.append("\r\n");
  15. return builder.to_byte_buffer();
  16. }
  17. Optional<GeminiRequest> GeminiRequest::from_raw_request(ByteBuffer const& raw_request)
  18. {
  19. URL url = StringView(raw_request);
  20. if (!url.is_valid())
  21. return {};
  22. GeminiRequest request;
  23. request.m_url = url;
  24. return request;
  25. }
  26. }