/* * 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&&); Gemini::Job const& job() const { return *m_job; } virtual URL url() const override { return m_job->url(); } private: explicit GeminiRequest(ConnectionFromClient&, NonnullRefPtr, NonnullOwnPtr&&); virtual void set_certificate(String certificate, String key) override; NonnullRefPtr m_job; }; }