Serenity Operating System
at master 33 lines 890 B view raw
1/* 2 * Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org> 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7#pragma once 8 9#include <AK/ByteBuffer.h> 10#include <AK/DeprecatedString.h> 11#include <AK/HashMap.h> 12#include <AK/OwnPtr.h> 13#include <AK/URL.h> 14#include <LibHTTP/Job.h> 15#include <RequestServer/ConnectionFromClient.h> 16#include <RequestServer/HttpRequest.h> 17#include <RequestServer/Protocol.h> 18#include <RequestServer/Request.h> 19 20namespace RequestServer { 21 22class HttpProtocol final : public Protocol { 23public: 24 using JobType = HTTP::Job; 25 using RequestType = HttpRequest; 26 27 HttpProtocol(); 28 ~HttpProtocol() override = default; 29 30 virtual OwnPtr<Request> start_request(ConnectionFromClient&, DeprecatedString const& method, const URL&, HashMap<DeprecatedString, DeprecatedString> const& headers, ReadonlyBytes body, Core::ProxyData proxy_data = {}) override; 31}; 32 33}