HttpsRequest.cpp 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. /*
  2. * Copyright (c) 2020, the SerenityOS developers.
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #include <LibHTTP/HttpsJob.h>
  7. #include <RequestServer/HttpCommon.h>
  8. #include <RequestServer/HttpsProtocol.h>
  9. #include <RequestServer/HttpsRequest.h>
  10. namespace RequestServer {
  11. HttpsRequest::HttpsRequest(ConnectionFromClient& client, NonnullRefPtr<HTTP::HttpsJob> job, NonnullOwnPtr<Core::Stream::File>&& output_stream)
  12. : Request(client, move(output_stream))
  13. , m_job(job)
  14. {
  15. Detail::init(this, job);
  16. }
  17. void HttpsRequest::set_certificate(String certificate, String key)
  18. {
  19. m_job->set_certificate(move(certificate), move(key));
  20. }
  21. HttpsRequest::~HttpsRequest()
  22. {
  23. m_job->on_finish = nullptr;
  24. m_job->on_progress = nullptr;
  25. m_job->cancel();
  26. }
  27. NonnullOwnPtr<HttpsRequest> HttpsRequest::create_with_job(Badge<HttpsProtocol>&&, ConnectionFromClient& client, NonnullRefPtr<HTTP::HttpsJob> job, NonnullOwnPtr<Core::Stream::File>&& output_stream)
  28. {
  29. return adopt_own(*new HttpsRequest(client, move(job), move(output_stream)));
  30. }
  31. }