20#ifndef RIPPLE_SERVER_ROLE_H_INCLUDED 
   21#define RIPPLE_SERVER_ROLE_H_INCLUDED 
   23#include <xrpl/beast/net/IPEndpoint.h> 
   24#include <xrpl/json/json_value.h> 
   25#include <xrpl/resource/ResourceManager.h> 
   26#include <xrpl/server/Handoff.h> 
   27#include <xrpl/server/Port.h> 
   29#include <boost/asio/ip/network_v4.hpp> 
   30#include <boost/asio/ip/network_v6.hpp> 
   31#include <boost/utility/string_view.hpp> 
   64    Resource::Manager& manager,
 
A version-independent IP address and port combination.
 
boost::asio::ip::address Address
 
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
 
Resource::Consumer requestInboundEndpoint(Resource::Manager &manager, beast::IP::Endpoint const &remoteAddress, Role const &role, std::string_view user, std::string_view forwardedFor)
 
bool isUnlimited(Role const &role)
ADMIN and IDENTIFIED roles shall have unlimited resources.
 
std::string_view forwardedFor(http_request_type const &request)
 
boost::beast::http::request< boost::beast::http::dynamic_body > http_request_type
 
Role
Indicates the level of administrative permission to grant.
 
Role requestRole(Role const &required, Port const &port, Json::Value const ¶ms, beast::IP::Endpoint const &remoteIp, std::string_view user)
Return the allowed privilege role.
 
bool ipAllowed(beast::IP::Address const &remoteIp, std::vector< boost::asio::ip::network_v4 > const &nets4, std::vector< boost::asio::ip::network_v6 > const &nets6)
True if remoteIp is in any of adminIp.