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

27 lines
810 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"
#include <bmrshared/request_response.hpp>
namespace bmrshared::web
{
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(request_response rs) = 0;
virtual void handle_request_websocket_upgrade(const address_type&, const request_type&, boost::asio::ip::tcp::socket) = 0;
};
} // namespace bmrshared::web