27 lines
831 B
C++
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
|