1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 12:07:45 +00:00

RequestServer: Make Request::url() virtual

Let the Request subclass decide how they store the URL instead of
storing it in a Request member.
This commit is contained in:
Andreas Kling 2022-01-26 22:35:50 +01:00
parent f73eae1245
commit b7d316d291
4 changed files with 7 additions and 2 deletions

View file

@ -20,6 +20,8 @@ public:
Gemini::GeminiJob const& job() const { return *m_job; } Gemini::GeminiJob const& job() const { return *m_job; }
virtual URL url() const override { return m_job->url(); }
private: private:
explicit GeminiRequest(ClientConnection&, NonnullRefPtr<Gemini::GeminiJob>, NonnullOwnPtr<OutputFileStream>&&); explicit GeminiRequest(ClientConnection&, NonnullRefPtr<Gemini::GeminiJob>, NonnullOwnPtr<OutputFileStream>&&);

View file

@ -22,6 +22,8 @@ public:
HTTP::HttpJob& job() { return m_job; } HTTP::HttpJob& job() { return m_job; }
HTTP::HttpJob const& job() const { return m_job; } HTTP::HttpJob const& job() const { return m_job; }
virtual URL url() const override { return m_job->url(); }
private: private:
explicit HttpRequest(ClientConnection&, NonnullRefPtr<HTTP::HttpJob>, NonnullOwnPtr<OutputFileStream>&&); explicit HttpRequest(ClientConnection&, NonnullRefPtr<HTTP::HttpJob>, NonnullOwnPtr<OutputFileStream>&&);

View file

@ -21,6 +21,8 @@ public:
HTTP::HttpsJob& job() { return m_job; } HTTP::HttpsJob& job() { return m_job; }
HTTP::HttpsJob const& job() const { return m_job; } HTTP::HttpsJob const& job() const { return m_job; }
virtual URL url() const override { return m_job->url(); }
private: private:
explicit HttpsRequest(ClientConnection&, NonnullRefPtr<HTTP::HttpsJob>, NonnullOwnPtr<OutputFileStream>&&); explicit HttpsRequest(ClientConnection&, NonnullRefPtr<HTTP::HttpsJob>, NonnullOwnPtr<OutputFileStream>&&);

View file

@ -21,7 +21,7 @@ public:
virtual ~Request(); virtual ~Request();
i32 id() const { return m_id; } i32 id() const { return m_id; }
URL url() const { return m_url; } virtual URL url() const = 0;
Optional<u32> status_code() const { return m_status_code; } Optional<u32> status_code() const { return m_status_code; }
Optional<u32> total_size() const { return m_total_size; } Optional<u32> total_size() const { return m_total_size; }
@ -50,7 +50,6 @@ private:
ClientConnection& m_client; ClientConnection& m_client;
i32 m_id { 0 }; i32 m_id { 0 };
int m_request_fd { -1 }; // Passed to client. int m_request_fd { -1 }; // Passed to client.
URL m_url;
Optional<u32> m_status_code; Optional<u32> m_status_code;
Optional<u32> m_total_size {}; Optional<u32> m_total_size {};
size_t m_downloaded_size { 0 }; size_t m_downloaded_size { 0 };