/* * Copyright (c) 2020, the SerenityOS developers. * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include namespace RequestServer { class GeminiRequest final : public Request { public: virtual ~GeminiRequest() override; static NonnullOwnPtr create_with_job(Badge, ConnectionFromClient&, NonnullRefPtr, NonnullOwnPtr&&, i32 request_id); Gemini::Job const& job() const { return *m_job; } virtual URL::URL url() const override { return m_job->url(); } private: explicit GeminiRequest(ConnectionFromClient&, NonnullRefPtr, NonnullOwnPtr&&, i32 request_id); virtual void set_certificate(ByteString certificate, ByteString key) override; NonnullRefPtr m_job; }; }