network-experiment/bmrshared-web/include/bmrshared/request_handler_interface.hpp

27 lines
831 B
C++

// GNU Lesser General Public License v3.0
// Copyright (c) 2025 Bart Beumer <bart@4beumer.nl>
//
// This program is free software; you can redistribute it and/or modify it
// under the terms of the GNU Lesser General Public License v3.0 as published by
// the Free Software Foundation.
//
#pragma once
#include "server.hpp"
namespace bmrshared::web
{
class response_promise;
class request_handler_interface
{
public:
using address_type = server::address_type;
using request_type = server::request_type;
virtual ~request_handler_interface() = default;
virtual void handle_request_http(const address_type&, const request_type&, response_promise) = 0;
virtual void handle_request_websocket_upgrade(const address_type&, const request_type&, boost::asio::ip::tcp::socket) = 0;
};
} // namespace bmrshared::web